Résolu Crash du jeu
-
Bonjour,
C’est très simple mais pas cool, dès que je prends ma pioche en amethyste et que je la mais dans une anvil, tout va bien, jusqu’au moment ou je veux rajouter un autre item ou un livre enchanter.
Puisque je sais que vous allez me les demander voila mes codes java
import net.minecraft.item.IItemTier; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.LazyLoadBase; import java.util.function.Supplier; public enum CustomItemTiers implements IItemTier { AMETHYST(1999, 6.5f, 6f, 4, 8, null); private final int maxUses; private final float efficiency; private final float attackDamage; private final int harvestLevel; private final int enchantability; private final LazyLoadBase<Ingredient> repairMaterial; CustomItemTiers(int maxUses, float efficiency, float attackDamage, int harvestLevel, int enchantability, Supplier<Ingredient> repairMaterial) { this.maxUses = maxUses; this.efficiency = efficiency; this.attackDamage = attackDamage; this.harvestLevel = harvestLevel; this.enchantability = enchantability; this.repairMaterial = new LazyLoadBase<>(repairMaterial); } @Override public int getMaxUses() { return maxUses; } @Override public float getEfficiency() { return efficiency; } @Override public float getAttackDamage() { return attackDamage; } @Override public int getHarvestLevel() { return harvestLevel; } @Override public int getEnchantability() { return enchantability; } @Override public Ingredient getRepairMaterial() { return repairMaterial.getValue(); } }
et :
@Mod.EventBusSubscriber(modid = Refs.MODID, bus = Mod.EventBusSubscriber.Bus.MOD) public class ModItems { @ObjectHolder(Refs.MODID + ":amethyst_pickaxe") public static final ItemPickaxe AMETHYST_PICKAXE = null; @SubscribeEvent public static void registerItems(RegistryEvent.Register<Item> event) { event.getRegistry().register(new CustomPickaxe("amethyst_pickaxe", CustomItemTiers.AMETHYST, 1, -0.8f, new Item.Properties().group(ModGroups.MYGROUP))); }
et pour finir :
public class CustomPickaxe extends ItemPickaxe { public CustomPickaxe(String name, IItemTier tier, int attackDamageIn, float attackSpeedIn, Properties builder) { super(tier, attackDamageIn, attackSpeedIn, builder); setRegistryName(name); } }
-
Salut,
Visiblement il faudrait override la fonction
getIsRepairable
dans la classe de ton item (CustomPickaxe). -
yo, donne le crash log
-
C’étais obliger que j’oublie qqc
bon voila :
crash-2019-06-05_19.06.59-client.txt -
Salut,
Visiblement il faudrait override la fonction
getIsRepairable
dans la classe de ton item (CustomPickaxe). -
Mais j’ai pas cette fonction moi dans mon CustomPickaxe
-
Justement, il faut que tu l’implémentes, car celle qui est présente dans la classe
ItemTiered
de Minecraft ne gère que les outils de Minecraft. -
Merci ça à marcher mais maintenant , juste un question bête, j’ai mis return true dans getIsRepairable, mais comment le code c’est ce que je veut mettre comme truc pour réparrer ?
-
Si tu as juste mis true, c’est réparable avec n’importe quoi.
Il faut vérifier que le
repair.getItem() == ItemVoulu
; -
Mais c’est ou repair.getItem(), faut le créer ?
-
Ha mais non mais je suis bêtes ok il faut faire un condition xD