Problèmes pommes custom et enclume
-
@‘DayZerd’:
c’est ce que j’ai fait mais ça ne marche pas
Peut être que ton item ne prend en compte que les fonctions de la classe ItemSword sans prendre en compte la modification car ta classe d’item appelée est ItemSword avec la ligne block = (Item) (new ItemSword(enumt)…).
Moi j’avais créé une classe ModItemSword reprenant le contenu de ItemSword étendue à Item et j’ai modifié tout ce que je voulais sans toucher au fichier de base.Essaye en créant une classe personnalisé étendue à ItemSword puis place la fonction getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack)
dans la nouvelle classe qui gardera les propriétés de ItemSword en ajoutant en plus celles de la nouvelle classe.Par exemple la classe d’une de mes épées qui permet d’infliger un effet de potion si l’entité est touchée :
package ModAddedItems.Items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.world.World; public class ItemDarksword extends ModItemSword { private int weaponDamage; private final ModEnumToolMaterial toolMaterial; public ItemDarksword(int par1, ModEnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); this.toolMaterial = par2EnumToolMaterial; this.maxStackSize = 1; this.setMaxDamage(par2EnumToolMaterial.getMaxUses()); this.setCreativeTab(CreativeTabs.tabCombat); this.weaponDamage = 4 + par2EnumToolMaterial.getDamageVsEntity(); } @Override /** * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise * the damage on the stack. */ //public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) //{ //par1ItemStack.damageItem(1, par3EntityLiving); //return true; //} public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { par1ItemStack.damageItem(1, par3EntityLiving); par2EntityLiving.addPotionEffect(new PotionEffect(Potion.blindness.id, 600, 0)); return true; } }Au lieu de Darksword = new ItemSword… j’ai donc fait :
Darksword = new ItemDarksword(IdItem=IdItem+1, ModEnumToolMaterial.DARKSWORD).setItemName(“Darksword”).setIconCoord(0, 4);Je te met aussi la classe que j’ai utilisé pour tester la réparation avec l’enclume :
package ModAddedItems.Items; import ModAddedItems.ModDeclare; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ModItemSword extends Item { private int weaponDamage; private final ModEnumToolMaterial toolMaterial; public ModItemSword(int par1, ModEnumToolMaterial par2EnumToolMaterial) { super(par1); this.toolMaterial = par2EnumToolMaterial; this.maxStackSize = 1; this.setMaxDamage(par2EnumToolMaterial.getMaxUses()); this.setCreativeTab(CreativeTabs.tabCombat); this.weaponDamage = 4 + par2EnumToolMaterial.getDamageVsEntity(); } public int func_82803_g() { return this.toolMaterial.getDamageVsEntity(); } /** * Returns the strength of the stack against a given block. 1.0F base, (Quality+1)*2 if correct blocktype, 1.5F if * sword */ public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { if (par2Block.blockID == Block.web.blockID) { return 15.0F; } else { Material var3 = par2Block.blockMaterial; return var3 != Material.plants && var3 != Material.vine && var3 != Material.field_76261_t && var3 != Material.leaves && var3 != Material.pumpkin ? 1.0F : 1.5F; } } /** * Current implementations of this method in child classes do not use the entry argument beside ev. They just raise * the damage on the stack. */ public boolean hitEntity(ItemStack par1ItemStack, EntityLiving par2EntityLiving, EntityLiving par3EntityLiving) { par1ItemStack.damageItem(1, par3EntityLiving); return true; } public boolean onBlockDestroyed(ItemStack par1ItemStack, World par2World, int par3, int par4, int par5, int par6, EntityLiving par7EntityLiving) { if ((double)Block.blocksList[par3].getBlockHardness(par2World, par4, par5, par6) != 0.0D) { par1ItemStack.damageItem(2, par7EntityLiving); } return true; } /** * Returns the damage against a given entity. */ public int getDamageVsEntity(Entity par1Entity) { return this.weaponDamage; } @SideOnly(Side.CLIENT) /** * Returns True is the item is renderer in full 3D when hold. */ public boolean isFull3D() { return true; } /** * returns the action that specifies what animation to play when the items is being used */ public EnumAction getItemUseAction(ItemStack par1ItemStack) { return EnumAction.block; } /** * How long it takes to use or consume an item */ public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 72000; } /** * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer */ public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { par3EntityPlayer.setItemInUse(par1ItemStack, this.getMaxItemUseDuration(par1ItemStack)); return par1ItemStack; } /** * Returns if the item (tool) can harvest results from the block type. */ public boolean canHarvestBlock(Block par1Block) { return par1Block.blockID == Block.web.blockID; } /** * Return the enchantability factor of the item, most of the time is based on material. */ public int getItemEnchantability() { return this.toolMaterial.getEnchantability(); } public String func_77825_f() { return this.toolMaterial.toString(); } /** * Return whether this item is repairable in an anvil. */ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { if (par1ItemStack.getItem().shiftedIndex==ModDeclare.Emeraldsword.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==Item.emerald.shiftedIndex) { return true; } else { return false; } } else if (par1ItemStack.getItem().shiftedIndex==ModDeclare.BlueEmeraldsword.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==ModDeclare.BlueEmerald.shiftedIndex) { return true; } else { return false; } } else if (par1ItemStack.getItem().shiftedIndex==ModDeclare.RedEmeraldsword.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==ModDeclare.RedEmerald.shiftedIndex) { return true; } else { return false; } } else if (par1ItemStack.getItem().shiftedIndex==ModDeclare.Excalibur.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==Item.netherStar.shiftedIndex) { return true; } else { return false; } } else if (par1ItemStack.getItem().shiftedIndex==ModDeclare.KokutoYoru.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==ModDeclare.marinestone.shiftedIndex) { return true; } else { return false; } } else if (par1ItemStack.getItem().shiftedIndex==ModDeclare.BigIronsword.shiftedIndex) { if (par2ItemStack.getItem().shiftedIndex==Block.blockSteel.blockID) { return true; } else { return false; } } else { return this.toolMaterial.getToolCraftingMaterial() == par2ItemStack.itemID ? true : super.getIsRepairable(par1ItemStack, par2ItemStack); } } public String getTextureFile() { return "/ModAddedItems/textures/items/ModItems.png"; } } -
Je n’y arrive pas

voila la class de mon épée :package mod.felmod; import net.minecraftforge.common.util.EnumHelper; import net.minecraft.world.World; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.init.Items; import java.util.Set; import java.util.Random; import java.util.HashMap; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class felmod_saphirrSword { public felmod_saphirrSword() { } public static Item block; public static Object instance; public void load() { ItemStack stack = new ItemStack(block, 1); GameRegistry.addRecipe(stack, new Object[]{"0XX", "3XX", "6XX", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"X0X", "X3X", "X6X", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"XX0", "XX3", "XX6", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == mod.felmod.felmod_saphirr.block) { return true; } return false; } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { } public void registerRenderers() { } static { Item.ToolMaterial enumt = EnumHelper.addToolMaterial("SAPHIRRSWORD", 0, 1600, 0F, 6, 10); block = (Item) (new ItemSword(enumt) { public Set <string>getToolClasses(ItemStack stack) { HashMap <string, integer="">ret = new HashMap<string, integer="">(); ret.put("sword", 0); return ret.keySet(); } }).setUnlocalizedName("SaphirrSword").setTextureName("saphirr_sword"); Item.itemRegistry.addObject(486, "SaphirrSword", block); } }et celui de mon saphir (que je veux utiliser pour réparer mon item)
package mod.felmod; import net.minecraft.world.World; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.block.Block; import java.util.Random; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @SuppressWarnings("unchecked") public class felmod_saphirr { public felmod_saphirr() { } public static Item block; public static Object instance; public void load() { GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"0XX", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"X0X", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XX0", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "0XX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "X0X", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XX0", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "0XX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "X0X", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "XX0", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addSmelting(felmod_saphirrOre.block, new ItemStack(block), 1.0f); } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { } public void registerRenderers() { } static { block = (new Itemsaphirr(485)); Item.itemRegistry.addObject(485, "Saphirr", block); } static class Itemsaphirr extends Item { public Itemsaphirr(int par1) { setMaxDamage(0); maxStackSize = 64; setUnlocalizedName("Saphirr"); setTextureName("saphirr"); setCreativeTab(CreativeTabs.tabMaterials); } public int getItemEnchantability() { return 0; } public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 0; } public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { return 1.0F; } } } ```</string,></string,></string> -
@‘DayZerd’:
Je n’y arrive pas

voila la class de mon épée :package mod.felmod; import net.minecraftforge.common.util.EnumHelper; import net.minecraft.world.World; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.init.Items; import java.util.Set; import java.util.Random; import java.util.HashMap; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class felmod_saphirrSword { public felmod_saphirrSword() { } public static Item block; public static Object instance; public void load() { ItemStack stack = new ItemStack(block, 1); GameRegistry.addRecipe(stack, new Object[]{"0XX", "3XX", "6XX", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"X0X", "X3X", "X6X", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"XX0", "XX3", "XX6", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == mod.felmod.felmod_saphirr.block) { return true; } return false; } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { } public void registerRenderers() { } static { Item.ToolMaterial enumt = EnumHelper.addToolMaterial("SAPHIRRSWORD", 0, 1600, 0F, 6, 10); block = (Item) (new ItemSword(enumt) { public Set <string>getToolClasses(ItemStack stack) { HashMap <string, integer="">ret = new HashMap<string, integer="">(); ret.put("sword", 0); return ret.keySet(); } }).setUnlocalizedName("SaphirrSword").setTextureName("saphirr_sword"); Item.itemRegistry.addObject(486, "SaphirrSword", block); } }et celui de mon saphir (que je veux utiliser pour réparer mon item)
package mod.felmod; import net.minecraft.world.World; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.block.Block; import java.util.Random; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @SuppressWarnings("unchecked") public class felmod_saphirr { public felmod_saphirr() { } public static Item block; public static Object instance; public void load() { GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"0XX", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"X0X", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XX0", "XXX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "0XX", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "X0X", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XX0", "XXX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "0XX", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "X0X", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addRecipe(new ItemStack(block, 1), new Object[]{"XXX", "XXX", "XX0", Character.valueOf('0'), new ItemStack(felmod_saphirrBlock.block, 1),}); GameRegistry.addSmelting(felmod_saphirrOre.block, new ItemStack(block), 1.0f); } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { } public void registerRenderers() { } static { block = (new Itemsaphirr(485)); Item.itemRegistry.addObject(485, "Saphirr", block); } static class Itemsaphirr extends Item { public Itemsaphirr(int par1) { setMaxDamage(0); maxStackSize = 64; setUnlocalizedName("Saphirr"); setTextureName("saphirr"); setCreativeTab(CreativeTabs.tabMaterials); } public int getItemEnchantability() { return 0; } public int getMaxItemUseDuration(ItemStack par1ItemStack) { return 0; } public float getStrVsBlock(ItemStack par1ItemStack, Block par2Block) { return 1.0F; } } } ```</string,></string,></string>Essaye en créant une classe étendue à ItemSword contenant la fonction pour réparer ton item.
Ta classe étendue devrait ressembler à ça :package mod.Items; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; public class saphirrSword extends ItemSword { private int weaponDamage; private final EnumToolMaterial toolMaterial; public ItemDarksword(int par1, EnumToolMaterial par2EnumToolMaterial) { super(par1, par2EnumToolMaterial); this.toolMaterial = par2EnumToolMaterial; this.maxStackSize = 1; this.setMaxDamage(par2EnumToolMaterial.getMaxUses()); this.setCreativeTab(CreativeTabs.tabCombat); this.weaponDamage = 4 + par2EnumToolMaterial.getDamageVsEntity(); } /** * Return whether this item is repairable in an anvil. */ public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { if (par1ItemStack.getItem()==mod.felmod.felmod_saphirrSword.block) { if (par2ItemStack.getItem()==mod.felmod.felmod_saphirr.block) { return true; } else { return false; } } return false; } }Il suffira ensuite d’appeler la nouvelle classe saphirrSword au lieu de ItemSword :
package mod.mcreator; import net.minecraftforge.common.util.EnumHelper; import net.minecraft.world.World; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemStack; import net.minecraft.item.Item; import net.minecraft.init.Items; import java.util.Set; import java.util.Random; import java.util.HashMap; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class felmod_saphirrSword { public felmod_saphirrSword() { } public static Item block; public static Object instance; public void load() { ItemStack stack = new ItemStack(block, 1); GameRegistry.addRecipe(stack, new Object[]{"0XX", "3XX", "6XX", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"X0X", "X3X", "X6X", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); GameRegistry.addRecipe(stack, new Object[]{"XX0", "XX3", "XX6", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),}); } public boolean getIsRepairable(ItemStack input, ItemStack repair) { if(repair.getItem() == mod.felmod.felmod_saphirr.block) { return true; } return false; } public void generateNether(World world, Random random, int chunkX, int chunkZ) { } public void generateSurface(World world, Random random, int chunkX, int chunkZ) { } public int addFuel(ItemStack fuel) { return 0; } public void serverLoad(FMLServerStartingEvent event) { } public void preInit(FMLPreInitializationEvent event) { } public void registerRenderers() { } static { Item.ToolMaterial enumt = EnumHelper.addToolMaterial("SAPHIRRSWORD", 0, 1600, 0F, 6, 10); block = (Item) (new saphirrSword(enumt) { public Set <string>getToolClasses(ItemStack stack) { HashMap <string, integer="">ret = new HashMap<string, integer="">(); ret.put("sword", 0); return ret.keySet(); } }).setUnlocalizedName("SaphirrSword").setTextureName("saphirr_sword"); Item.itemRegistry.addObject(442, "SaphirrSword", block); } }Je ne sais pas si ça va fonctionner de cette façon pour toi car pour mes épées j’avais créé une nouvelle classe ItemSword et une nouvelle classe EnumToolMaterial pour les personnaliser au maximum. Il faudra peut être que tu fasse quelques ajustements pour que ça fonctionne.</string,></string,></string>
-
Aie…Aie…Aie…
Bonjour a toi jeune novice dans le monde merveilleux des erreurs et des casses tête interminable !
----> https://www.minecraftforgefrance.fr/showthread.php?tid=702
----> https://www.minecraftforgefrance.fr/showthread.php?tid=674
----> https://www.minecraftforgefrance.fr/showthread.php?tid=684Avant de poster faut lire les tutos !!!

—> et aussi les @override au dessus des fonctions hériter de la superclass faut les mettent ça évite les erreurs

Bref, pour ton épée faudrait en effet extends la class de ton épée a “net.minecraft.item.ItemSword”
sinon bah le jeu sais pas trop si cet item est un item normal ou bien autre choseET SURTOUT PAR PITIé RESPECTER LA “JAVA CODE CONVENTION”
CAR --> ce genre de nom de class “felmod_saphirrSword” desolé mais bon
ce serai plutot —> “SaphirSword”Lien de la java code convention : http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
-
Merci beaucoup pour votre aide mais je n’y arrive toujours pas, il n’y a aucune erreur mais lorsque je mets mon épée et le saphir dans l’enclume, je ne peux pas la réparer
-
Ok dans ce cas la envoi moi en piece en jointe ton dossier “src” je vais te regler ce petit bug
-
C’est quoi cette horreur ???
ce code est aussi mal organiser que moi x)
Vous avez réellement utiliser cette chose pour gen du code ? > “package mod.mcreator;”
tout le mod est a nettoyer et a réorganiser entièrementtout ce que je voie de possible c’est de recup les textures et de tout refaire de A a Z
Car en voyant ce genre de chose
[font=DejaVu Sans Monopublic class ]%(#ffcb6b)[felmod_saphirrSword ]%(#cad3de)[{ ] public static Item block%(#a7dbd8)[; ] public static Object instance%(#a7dbd8)[; ] %(#c792ea)[static ] %(#cad3de)[{ ] Item.ToolMaterial enumt = EnumHelper.addToolMaterial("SAPHIRRSWORD", 0, 1600, 0F, 6, 10)%(#a7dbd8)[; ] block = (Item) (new ItemSword(enumt%(#798194)[) ] %(#cad3de)[{ ] public Set<String> getToolClasses(ItemStack stack%(#798194)[) ] %(#cad3de)[{ ] HashMap<String, Integer> ret = new HashMap<String, Integer>()%(#a7dbd8)[; ] ret.put("sword", 0)%(#a7dbd8)[; ] return ret.keySet()%(#a7dbd8)[; ] %(#cad3de)[} ] }).setUnlocalizedName("SaphirrSword").setTextureName("saphirr_sword")%(#a7dbd8)[; ] Item.itemRegistry.addObject(715, "SaphirrSword", block)%(#a7dbd8)[; ] %(#cad3de)[} ] public felmod_saphirrSword%(#798194)[() ] %(#cad3de)[{ ]%(#cad3de)[ } ] public void load%(#798194)[() ] %(#cad3de)[{ ] ItemStack stack = new ItemStack(block, 1)%(#a7dbd8)[; ] GameRegistry.addRecipe(stack%(#a7dbd8)[, ] new Object[{]"0XX", "3XX", "6XX", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3')%(#a7dbd8)[, ] new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),})%(#a7dbd8)[; ] GameRegistry.addRecipe(stack%(#a7dbd8)[, ] new Object[{]"X0X", "X3X", "X6X", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3')%(#a7dbd8)[, ] new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),})%(#a7dbd8)[; ] GameRegistry.addRecipe(stack%(#a7dbd8)[, ] new Object[{]"XX0", "XX3", "XX6", Character.valueOf('0'), new ItemStack(felmod_saphirr.block, 1), Character.valueOf('3')%(#a7dbd8)[, ] new ItemStack(felmod_saphirr.block, 1), Character.valueOf('6'), new ItemStack(Items.stick, 1),})%(#a7dbd8)[; ] %(#cad3de)[} ] public void generateNether(World world, Random random, int chunkX, int chunkZ%(#798194)[) ] %(#cad3de)[{ ]%(#cad3de)[ } ] public void generateSurface(World world, Random random, int chunkX, int chunkZ%(#798194)[) ] %(#cad3de)[{ ]%(#cad3de)[ } ] public int addFuel(ItemStack fuel%(#798194)[) ] %(#cad3de)[{ ] return 0%(#a7dbd8)[; ] %(#cad3de)[} ] public void serverLoad(FMLServerStartingEvent event%(#798194)[) ] %(#cad3de)[{ ]%(#cad3de)[ } ] public void preInit(FMLPreInitializationEvent event%(#798194)[) ] %(#cad3de)[{ ]%(#cad3de)[ } ] public void registerRenderers%(#798194)[() ] %(#cad3de)[{ ] }DES FONCTIONS DE GÉNÉRATION dans UNE CLASS D’ITEM ?@#@! O_O
Mais je pense qu’il est possible de reécrire ça rapidement

Je te conseille de lire les tutos du forum et de refaire ton mod dans les règles de l’art ! et si tu galère hésite pas a demander
-
Merci, mes problemes ont été résolu
-
Ah oui ? Pourrais-tu repostrer le code final et sélectionner la meilleure réponse, afin que les futurs visiteurs en détresse sachent où regardent directement et gagner du temps.
-
Je lui est juste réécrit entièrement ses class, la class de son épée n’était même pas extends ItemSword… voila tout le problème