Une armure
-
classe principale : désolé c’est un peu lourd. Je te mets que ce qui concerne l’armure ?
package tutoriel.common; import net.minecraft.block.BlockStoneBrick; import net.minecraft.block.BlockTorch; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemBow; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityDaylightDetector; import net.minecraft.util.DamageSource; import net.minecraftforge.common.EnumHelper; import com.jcraft.jorbis.Block; import tutoriel.block.*; import tutoriel.entity.TileEntityIthildin; import tutoriel.item.*; import tutoriel.proxy.TutoCommonProxy; import cpw.mods.fml.common.ITickHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.TickType; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class ModTutoriel { @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy") public static TutoCommonProxy proxy; @Instance("ModTutoriel") public static ModTutoriel instance; public static net.minecraft.block.Block rocheVerte; /** * Pierre taillée blanche, doré */ public static net.minecraft.block.Block whiteStoneBrick, stairsWhiteStoneBrick, slabWhiteStoneBrick, doubleSlabWhiteStoneBrick; public static net.minecraft.block.Block sandStoneBrick, stairsSandStoneBrick, slabSandStoneBrick, doubleSlabSandStoneBrick; /** * Roche magmatique */ public static net.minecraft.block.Block blockVolcanic; public static DamageSource volcanicBlock = new DamageSource("volcanicBlock"); /** * Ithildin */ public static net.minecraft.block.Block ithildin; public static net.minecraft.block.Block ithildinGlowing; /** * Boue */ public static net.minecraft.block.Block mud; /** * –------------------------------------------------------------------------------------------------- */ public static Item fireStick; public static LongBow longBow; public static Item longArrow; public static Item fireArrow; public static CrossBow crossBowUnloaded; public static CrossBowLoaded crossBowLoaded; public static Item dwarfAxe; public static Item chain; public static Item agandaurHelmet, agandaurChestPlate, agandaurLeggings, agandaurBoots; public static EnumArmorMaterial AgandaurArmor; public static Item urukSword; @EventHandler public void PreInit(FMLPreInitializationEvent event){ //Configuration //Blocks /** * Roche Verte */ rocheVerte = new GreenStone(2000).setHardness(1.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep) .setUnlocalizedName("RocheVerte").setTextureName("modtutoriel:roche_verte"); net.minecraft.block.Block.lightValue[2000]=14; GameRegistry.registerBlock(rocheVerte, "RocheVerte"); /** * Pierre taillée blanche */ whiteStoneBrick=new WhiteStoneBrick(2001).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep) .setUnlocalizedName("PierreTailleBlanche").setTextureName("modtutoriel:pierre_taille_blanche"); GameRegistry.registerBlock(whiteStoneBrick, "WhiteStoneBrick"); /** * Escalier pierre taillée blanche */ stairsWhiteStoneBrick=new StairsWhiteStoneBrick(2002, whiteStoneBrick, 0).setUnlocalizedName("StairsWhiteStonebrick"); GameRegistry.registerBlock(stairsWhiteStoneBrick, "TutorialStairs"); /** * Dalle pierre taillée blanche */ doubleSlabWhiteStoneBrick = new SlabWhiteStoneBrick(2003, true).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("DoubleSlabWhiteStoneBrick"); slabWhiteStoneBrick = new SlabWhiteStoneBrick(2004, false).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("SlabWhiteStoneBrick"); GameRegistry.registerBlock(doubleSlabWhiteStoneBrick, ItemSlabWhiteStoneBrick.class, "DoubleSlabWhiteStoneBrick"); GameRegistry.registerBlock(slabWhiteStoneBrick, ItemSlabWhiteStoneBrick.class, "SlabWhiteStoneBrick"); /** * Pierre taillée sable */ sandStoneBrick=new WhiteStoneBrick(2005).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep) .setUnlocalizedName("SandStoneBrick").setTextureName("modtutoriel:sand_stone_brick"); GameRegistry.registerBlock(sandStoneBrick, "SandStoneBrick"); /** * Escalier pierre taillée sable */ stairsSandStoneBrick=new StairsSandStoneBrick(2006, sandStoneBrick, 0).setUnlocalizedName("StairsSandStoneBrick"); GameRegistry.registerBlock(stairsSandStoneBrick, "StairsSandStoneBrick"); /** * Dalle pierre taillée blanche */ doubleSlabSandStoneBrick = new SlabSandStoneBrick(2007, true).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("DoubleSlabSandStoneBrick"); slabSandStoneBrick = new SlabSandStoneBrick(2008, false).setHardness(2.0F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("SlabSandStoneBrick"); GameRegistry.registerBlock(doubleSlabSandStoneBrick, ItemSlabSandStoneBrick.class, "DoubleSlabSandStoneBrick"); GameRegistry.registerBlock(slabSandStoneBrick, ItemSlabSandStoneBrick.class, "SlabSandStoneBrick"); /** * Bloc volcanique */ blockVolcanic=new VolcanicBlock(2009).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep).setUnlocalizedName("VolcanicBlock").setTextureName("modtutoriel:VolcanicBlock"); GameRegistry.registerBlock(blockVolcanic, "VolcanicBlock"); /** * Ithildin */ ithildin=new Ithildin(2010).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep) .setUnlocalizedName("Ithildin").setTextureName("modtutoriel:ithildin"); GameRegistry.registerBlock(ithildin, "Ithildin"); ithildinGlowing=new Ithildin(2011).setHardness(1.5F).setResistance(10.0F).setStepSound(net.minecraft.block.Block.soundStoneFootstep) .setUnlocalizedName("IthildinGlowing").setLightValue(0.875F).setTextureName("modtutoriel:ithildinGlowing"); GameRegistry.registerBlock(ithildinGlowing, "IthildinGlowing"); TileEntity.addMapping(TileEntityIthildin.class, "IthildinTE"); /** * Boue */ mud=new Mud(2012).setHardness(0.5F).setHardness(0.5F).setStepSound(net.minecraft.block.Block.soundGravelFootstep).setUnlocalizedName("mud").setTextureName("modtutoriel:mud"); GameRegistry.registerBlock(mud,"Mud"); //Items fireStick = new FireStick(12000).setUnlocalizedName("FireStick").setTextureName("modtutoriel:fire_stick"); longBow = (LongBow)(new LongBow(12001)).setUnlocalizedName("long_bow").setTextureName("modtutoriel:long_bow"); longArrow = (new Item(12002)).setUnlocalizedName("LongArrow").setCreativeTab(CreativeTabs.tabCombat).setTextureName("modtutoriel:long_arrow"); fireArrow = (new Item(12003)).setUnlocalizedName("FireArrow").setCreativeTab(CreativeTabs.tabCombat).setTextureName("modtutoriel:firearrow"); crossBowUnloaded = (CrossBow) (new CrossBow(12004)).setUnlocalizedName("CrossBow").setTextureName("modtutoriel:cross_bow_unloaded"); crossBowLoaded = (CrossBowLoaded) (new CrossBowLoaded(12005)).setUnlocalizedName("CrossBowLoaded").setTextureName("modtutoriel:cross_bow_loaded"); dwarfAxe = (new DwarfAxe(12006, EnumToolMaterial.IRON)).setUnlocalizedName("DwarfAxe").setTextureName("modtutoriel:dwarf_axe1"); chain = new Item(12007).setUnlocalizedName("Chain").setTextureName("modtutoriel:chain").setMaxStackSize(64).setCreativeTab(CreativeTabs.tabMaterials); AgandaurArmor = EnumHelper.addArmorMaterial("Tutorial", 20, new int[]{4, 10, 7, 4}, 8); agandaurHelmet = new ItemAgandaurArmor(12008, AgandaurArmor, 0, 0).setUnlocalizedName("AgandaurHelmet").setTextureName("modtutoriel:agandaurHelmet"); agandaurChestPlate = new ItemAgandaurArmor(12009, AgandaurArmor, 0, 1).setUnlocalizedName("AgandaurChestPlate").setTextureName("modtutoriel:agandaurChestPlate"); agandaurLeggings = new ItemAgandaurArmor(12010, AgandaurArmor, 0, 2).setUnlocalizedName("AgandaurLeggings").setTextureName("modtutoriel:agandaurLeggings"); agandaurBoots = new ItemAgandaurArmor(12011, AgandaurArmor, 0, 3).setUnlocalizedName("AgandaurBoots").setTextureName("modtutoriel:agandaurBoots"); urukSword = new UrukSword(12012, EnumToolMaterial.IRON).setUnlocalizedName("UrukHaiSword").setTextureName("modtutoriel:uruk_sword"); //Achievements } @EventHandler public void Init(FMLInitializationEvent event){ //Registry //Mobs //Render proxy.registerRender(); //NetWork //Recipe GameRegistry.addRecipe(new ItemStack(sandStoneBrick, 8), new Object[]{"X", "Y", 'X', new ItemStack(net.minecraft.block.Block.stoneBrick,8), 'Y', net.minecraft.block.Block.sand}); GameRegistry.addRecipe(new ItemStack(slabWhiteStoneBrick ,6), new Object[]{"XXX", 'X' ,whiteStoneBrick}); GameRegistry.addRecipe(new ItemStack(stairsWhiteStoneBrick, 4), new Object[]{"X ", "XX ", "XXX", 'X',whiteStoneBrick}); GameRegistry.addRecipe(new ItemStack(whiteStoneBrick, 8), new Object[]{"XXX", "XYX", "XXX", 'X', net.minecraft.block.Block.stoneBrick, 'Y', new ItemStack(Item.dyePowder, 1, 15)}); GameRegistry.addRecipe(new ItemStack(Item.saddle), new Object[]{"YYY","X X",'X', Item.silk,'Y', Item.leather}); GameRegistry.addRecipe(new ItemStack(fireStick), new Object[]{" X"," Y ","Y ",'X', Item.coal,'Y', Item.stick}); GameRegistry.addRecipe(new ItemStack(mud, 8), new Object[]{"X", "Y", 'X', new ItemStack(net.minecraft.block.Block.dirt,8), 'Y', Item.bucketWater}); GameRegistry.addRecipe(new ItemStack(chain,8), new Object[]{" X ", "X X"," X ", 'X', net.minecraft.item.Item.ingotIron}); GameRegistry.addRecipe(new ItemStack(ItemArmor.helmetChain), new Object[]{"XXX","X X", 'X', chain}); GameRegistry.addRecipe(new ItemStack(ItemArmor.plateChain), new Object[]{"X X","XXX","XXX", 'X', chain}); GameRegistry.addRecipe(new ItemStack(ItemArmor.legsChain), new Object[]{"XXX","X X", "X X", 'X', chain}); GameRegistry.addRecipe(new ItemStack(ItemArmor.bootsChain), new Object[]{"X X","X X", 'X', chain}); } @EventHandler public void PostInit(FMLPostInitializationEvent event) { //Intégration avec les autres mods } }et le constructeur
public ItemAgandaurArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); } -
Or rapport, tu as une mauvaise importation dans ta classe principale :
import com.jcraft.jorbis.Block;
c’est pour ça que tu as du mettre public static net.minecraft.block.Block à la place de juste Block.Pour le problème de l’amure, je vois vraiment pas, tout les codes sembles bons, tu peux m’envoyer la classe de l’amure en entier ?
-
Merci pour cette correction
Je ne comprends pas vraiment non plus. À part un constructeur, et la méthode de génération des textures, je n’ai rien d’autre
J’ai fais plusieurs essais en modifiant le chemin des fichiers, et leur endroit, mais rien à faire….package tutoriel.item; import javax.swing.text.html.parser.Entity; import tutoriel.common.ModTutoriel; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; public class ItemAgandaurArmor extends ItemArmor{ public ItemAgandaurArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { if(stack.itemID == ModTutoriel.agandaurLeggings.itemID) { return "modtutoriel:textures/models/armor/tutorial_layer_2.png"; } else { return "modtutoriel:models/armor/tutorial_layer_1.png"; } } } -
ici, return “modtutoriel:models/armor/tutorial_layer_1.png”; c’est return “modtutoriel:textures/models/armor/tutorial_layer_1.png”;
que tu dois mettre. -
Ça faisait partie des nombreux tests que j’ai fait, et que je n’ai pas remis.
Le premier devrait néanmoins fonctionner -
Essaye avec public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) et met un @Override au dessus de la fonction pour voir si ça change quelque chose. (garde le même return)
-
Il bloque sur la signature si je mets @Override et que je mets cette signature. Il ne détecte pas d’implémentation dans la classe Item ou ItemArmor, alors que j’ai vérifié, j’ai bien cette fonction dans Item.
Rajouter @Override au dessus de la signature de la fonction que j’ai actuellement donne exactement le même problème
J’ai l’impression que je vais réinstaller forge demain…. -
Non, inutile de réinstaller Forge, je viens de trouver le problème. Le @Override ne marche pas, car
getArmorTexture(net.minecraft.item.ItemStack stack, javax.swing.text.html.parser.Entity entity, int slot, int layer) != getArmorTexture(net.minecraft.item.ItemStack stack, net.minecraft.entity.Entity entity, int slot, int layer)Faite attention à vos importation !
import javax.swing.text.html.parser.Entity; -> import net.minecraft.entity.Entity; -
Effectivement, je venais de le trouver au même moment… Désormais, cela fonctionne
Je ferais plus attention désormais.
Merci pour vos tutos
-
Bonjour,
J’ai suivi ton tuto, mais quand je mets mon armure, le layer est celui de base (un truc tout moche noir et rose ;))
En regardant dans le code d’erreur j’ai remarqué qu’il ne trouve pas la texture :2013-11-23 15:47:48 [Avertissement] [Minecraft-Client] Failed to load texture: newores:rubis_layer_1 java.io.FileNotFoundException: newores:rubis_layer_1 at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:64) at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63) at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:31) at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:84) at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:41) at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:53) at net.minecraft.client.renderer.entity.RenderPlayer.setArmorModel(RenderPlayer.java:72) at net.minecraft.client.renderer.entity.RenderPlayer.shouldRenderPass(RenderPlayer.java:514) at net.minecraft.client.renderer.entity.RendererLivingEntity.doRenderLiving(RendererLivingEntity.java:164) at net.minecraft.client.renderer.entity.RenderPlayer.func_130009_a(RenderPlayer.java:166) at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:556) at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:312) at net.minecraft.client.gui.inventory.GuiInventory.func_110423_a(GuiInventory.java:121) at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:849) at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:111) at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:43) at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:683) at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1036) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946) at net.minecraft.client.Minecraft.run(Minecraft.java:838) at net.minecraft.client.main.Main.main(Main.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) at net.minecraft.launchwrapper.Launch.main(Launch.java:27)Mais j’ai beau vérifier et revérifier, le chemin d’accès est le bon.
Pouvez-vous m’aider ?Classe Principale :
package fr.MrBlockTNT.NewOres; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.Item; import net.minecraftforge.common.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import fr.MrBlockTNT.proxy.CommonProxy; @Mod(modid = "NewOres", name = "New Ores", version = "1.0.0") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class NewOres { @SidedProxy(clientSide = "fr.MrBlockTNT.proxy.ClientProxy", serverSide = "fr.MrBlockTNT.proxy.CommonProxy") public static CommonProxy proxy; @Instance("NewOres") public static NewOres instance; public static Block rubisOre, saphirOre, onyxOre, enchantiteOre, rubisBlock, saphirBlock, onyxBlock, enchantiteBlock; public static Item enchantiteDust, rubis, saphir, onyx; public static Item rubyBar, saphirBar, onyxBar, enchantiteBar; public static Item rubyHelmet, rubyPlate, rubyLegs, rubyBoots; static EnumArmorMaterial rubyMaterial = EnumHelper.addArmorMaterial("Ruby", 20, new int[]{2, 4, 3, 1}, 10); public static CreativeTabs NewOresTab = new NewOresTab("NewOres"); @EventHandler public void PreInit(FMLPreInitializationEvent event) { // Blocks rubisOre = new BlockNewOre(2000).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Rubis Ore").setTextureName("newores:rubis_ore"); saphirOre = new BlockNewOre(2001).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Saphirre Ore").setTextureName("newores:saphir_ore"); onyxOre = new BlockNewOre(2002).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore").setTextureName("newores:onyx_ore"); enchantiteOre = new BlockNewOre(2003).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore").setTextureName("newores:enchantite_ore_end"); //onyxNether = new BlockNewOre(2004).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Onyx Ore Nether").setTextureName("newores:onyx_ore_nether"); //enchantiteEnd = new BlockNewOre(2005).setHardness(3.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("Enchantite Ore End").setTextureName("newores:enchantite_ore"); rubisBlock = new BlockNewOre(2006).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Rubis Block").setTextureName("newores:rubis_block"); saphirBlock = new BlockNewOre(2007).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Saphirre Block").setTextureName("newores:saphir_block"); onyxBlock = new BlockNewOre(2008).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Onyx Block").setTextureName("newores:onyx_block"); enchantiteBlock = new BlockNewOre(2009).setHardness(3.0F).setResistance(10.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("Enchantite Block").setTextureName("newores:enchantite_block"); GameRegistry.registerBlock(rubisOre, "Minerai de Rubis"); GameRegistry.registerBlock(saphirOre, "Minerai de Saphir"); GameRegistry.registerBlock(onyxOre, "Minerai d'Onyx"); GameRegistry.registerBlock(enchantiteOre, "Minerai d'Enchantite"); //GameRegistry.registerBlock(onyxNether, "Minerai d'Onyx Nether"); //GameRegistry.registerBlock(enchantiteEnd, "Minerai d'Enchantite End"); GameRegistry.registerBlock(rubisBlock, "Bloc de Rubis"); GameRegistry.registerBlock(saphirBlock, "Bloc de Saphir"); GameRegistry.registerBlock(onyxBlock, "Bloc d'Onyx"); GameRegistry.registerBlock(enchantiteBlock, "Bloc d'Enchantite"); //Items enchantiteDust = new ItemNewOres(12000).setUnlocalizedName("Enchantite Dust").setTextureName("newores:enchantite_dust"); rubis = new ItemNewOres(12001).setUnlocalizedName("Rubis Gem").setTextureName("newores:rubis"); saphir = new ItemNewOres(12002).setUnlocalizedName("Saphir Gem").setTextureName("newores:saphir"); onyx = new ItemNewOres(12003).setUnlocalizedName("Onyx Gem").setTextureName("newores:onyx"); enchantiteBar = new ItemNewOres(12004).setUnlocalizedName("Enchantite Bar").setTextureName("newores:enchantite_dust"); rubyBar = new ItemNewOres(12005).setUnlocalizedName("Rubis Bar").setTextureName("newores:rubis"); saphirBar = new ItemNewOres(12006).setUnlocalizedName("Saphir Bar").setTextureName("newores:saphir"); onyxBar = new ItemNewOres(12007).setUnlocalizedName("Onyx Bar").setTextureName("newores:onyx"); GameRegistry.registerItem(enchantiteDust, "EnchantiteDust", "NewOres"); GameRegistry.registerItem(rubis, "Rubis", "NewOres"); GameRegistry.registerItem(saphir, "Saphir", "NewOres"); GameRegistry.registerItem(onyx, "Onyx", "NewOres"); GameRegistry.registerItem(enchantiteBar, "Enchantite Bar", "NewOres"); GameRegistry.registerItem(rubyBar, "Rubis Bar", "NewOres"); GameRegistry.registerItem(saphirBar, "Saphir Bar", "NewOres"); GameRegistry.registerItem(onyxBar, "Onyx Bar", "NewOres"); // Armures & Outils rubyHelmet = new RubyArmor(12100, rubyMaterial, 0,0).setUnlocalizedName("RubyHelmet").setTextureName("newores:rubis_helmet"); rubyPlate = new RubyArmor(12101, rubyMaterial, 0, 1).setUnlocalizedName("RubyPlate").setTextureName("newores:rubis_chestplate"); rubyLegs = new RubyArmor(12102, rubyMaterial, 0, 2).setUnlocalizedName("RubyLegs").setTextureName("newores:rubis_leggings"); rubyBoots = new RubyArmor(12103, rubyMaterial, 0, 3).setUnlocalizedName("RubyBoots").setTextureName("newores:rubis_boots"); GameRegistry.registerItem(rubyHelmet, "RubyHelmet", "NewOres"); GameRegistry.registerItem(rubyPlate, "RubyPlate", "NewOres"); GameRegistry.registerItem(rubyLegs, "RubyLegs", "NewOres"); GameRegistry.registerItem(rubyBoots, "RubyBoots", "NewOres"); //Generation GameRegistry.registerWorldGenerator(new NewOresGenerator()); } @EventHandler public void Init(FMLInitializationEvent event) { proxy.registerRender(); } @EventHandler public void PostInit(FMLPostInitializationEvent event) { } }RubyArmor :
package fr.MrBlockTNT.NewOres; import net.minecraft.entity.Entity; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; public class RubyArmor extends ItemArmor { public RubyArmor(int id, EnumArmorMaterial armorMaterial, int type, int layer) { super(id, armorMaterial, type, layer); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, int layer) { if(stack.itemID == NewOres.rubyLegs.itemID) { return "newores:rubis_layer_2"; } else { return "newores:rubis_layer_1"; } } public boolean getIsRepairable(ItemStack stack, ItemStack repairItem) { if(stack.getItem().equals(this) && repairItem.getItem().itemID == NewOres.rubyBar.itemID) return true; return false; } } -
C’est le chemin qui pose problème.
Imaginons que ta texture se trouve dans “assets/newores/textures/armure/rubis_layer_1.png”.
Alors ton chemin dans ton code est :return "newores:textures/armure/rubis_layer_1.png"; -
Merci, j’essaie ça tout de suite

EDIT : ça marche toujours pas

-
Il faut mettre le .png à la fin
-
Je viens de m’en rendre compte, et j’allais faire un édit

-
Y a t-il moyen de rendre l’armure incassable s’il vous plait ? Comme la bedrock par exemple.
-
Essaye de mettre la résistance sur -1 ?
-
Je pense que cela doit être possible, les armures quantums d’IC² ont cette fonctionnalité.
-
Bonjour, merci pour ce tutoriel.
Cependant, je pense qu’il manque une chose: Comment définit-on le matériel avec lequel l’armure se craft ? Il suffit d’utiliser GameRegistry.addRecipe ?
Merci d’avance -
Oui, il faut faire des recettes comme les autres.
-
Merci beaucoup (Je pense qu’il faudrait le mentionner dans le tutoriel, après, c’est toi qui vois ^^")


