Materiau d'un outil
-
Tu as 2 constructeurs, utilise celui que tu veux.
this.isFull3D();Quelle est l’utilité de mettre un getter dans un constructeur ?
Je pense que tu voulais faire this.setFull3D().
-
Effectivement, c’est ce que je voulais faire.
Mais cela n’avance point le sujet -
Quel constructeur utilises-tu ?
-
public Chainsaw(String unlocalizedName, ToolMaterial material) { super(material); } -
Heu je ne vois pas où est le problème dans ton code ?
-
Le premier paramètre est inutile puisque tu ne l’utilise pas.
-
bah moi non plus, c’est pour cela que je demande de l’aide, malgré cela, le materiau ne s’applique pas, et la chainsaw ne se comporte tjr pas comme une hache, mais toujours comme un item normal ( Main, bâton … )
-
Pourtant ton item est extends ItemAxe … Fait voir ta classe principale ?
-
package eryah.usefulthings; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.registry.GameRegistry; import eryah.usefulthings.blocks.ResinLeaves; import eryah.usefulthings.init.Chainsaw; import eryah.usefulthings.init.Engine; import eryah.usefulthings.init.ResinTree; import eryah.usefulthings.init.UTResin; import eryah.usefulthings.proxy.CommonProxy; @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.VERSION) public class UsefulthingsMod { @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS) public static CommonProxy proxy; public static final CreativeTab UTTab = new CreativeTab("UTTab"); public static ToolMaterial chainsawMat = EnumHelper.addToolMaterial("chainsawMat", 1, 1000, 15.0F, 3.0F, 14); @EventHandler public void preInit(FMLPreInitializationEvent event) { ResinTree.init(); ResinTree.register(); UTResin.init(); UTResin.register(); Engine.init(); Engine.register(); ResinLeaves.init(); ResinLeaves.register(); Chainsaw.init(); Chainsaw.register(); } @EventHandler public void init(FMLInitializationEvent event) { proxy.registerRenders(); GameRegistry.addRecipe(new ItemStack(Engine.engine), new Object[]{" R ", "PRP","RRR", 'R',Items.redstone, 'P',Blocks.piston}); } @EventHandler public void PostInit(FMLPostInitializationEvent event) { } }Excusez moi la réponse tardive, je n’avais pas vu la 2e page ^^’
-
Ah oui …
Si tu enregistre ton item comme un item normal :public static void init(){ chainsaw = new Item().setUnlocalizedName("chainsaw").setCreativeTab(UsefulthingsMod.UTTab); }Faut pas s’étonner que ça ne fonctionne pas …
chainsaw = new Chainsaw().setUnlocalizedName("chainsaw").setCreativeTab(UsefulthingsMod.UTTab); -
Dans les () de Chainsaw(), je doit mettre quoi ? Si je met chainsawMat, cela me demande de mettre juste chainsaw, et quand je le met, cela entraine un conflit dans :
new Chainsaw(chainsaw)et il me demande de faire soit
- remplacer le constructeur Chainsaw(ToolMaterial) par Chainsaw(Item) dnas
public Chainsaw(ToolMaterial material) { super(material); } - changer le type de chainsaw en ToolMaterial
- ou créer le constructeur Chainsaw(Item)
J’ai tâté a tout, et tout me donne au final une/des erreurs
- remplacer le constructeur Chainsaw(ToolMaterial) par Chainsaw(Item) dnas
-
new Chainsaw(chainsawMat)
-
Cela me donne une erreur me demandant de changer chainsawMat en chainsaw
- ou ‘create a local variable ‘chainsawMat’’
- ‘create a field ‘chainsawMat’’
- ‘create a parameter ‘chainsawMat’’
- ‘create a constant ‘chainsawMat’’
-
Parce que tu enregistres ton Item dans la classe de ton Item et non dans la classe où se trouve le Material, il faut faire new Chainsaw(UsefulthingsMod.chainsawMat)
-
Effectivement, je lance mon client et je te dit si cela fonctionne, en tout cas, il n’y a pas d’erreurs
Edit: Cela fonctionne, merci beaucoup ( j’ai compté, la Chainsaw prend environ 0,25sec a découper une bûche de bois