Posted April 17, 20169 yr Hi I'm now almost done updating my mod to 1.9. There is one single thing which doesn't work: the textures for my custom armor are not loading. There must be a change from 1.8 to 1.9, because it worked fine in 1.8, but with a method in ItemArmor called getTextures. I commented it, because it doesn't exist anymore, but I have this error in the console: [17:59:12] [Client thread/WARN]: Failed to load texture: minecraft:textures/models/armor/adamantiumArmor_layer_1.png java.io.FileNotFoundException: minecraft:textures/models/armor/adamantiumArmor_layer_1.png Why does the game look for the textures in the vanilla folder? Here is my code: https://github.com/Reygok/AdamantiumMod.git My first Mod: http://www.curse.com/mc-mods/minecraft/231302-adamantium-mod-better-than-diamonds#
April 17, 20169 yr Most likely because you extend ItemArmor, which is a vanilla class, and you don't specify anywhere that you want it to search for the texture in your mod folder ( modid:textures/...[/t]), so it will naturally look for the textures in the [code]minecraft: folder. Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.
April 17, 20169 yr - Make sure your item is registered as normal with its resource location GameRegistry.register(item, new ResourceLocation(Const.MODID, name)); - Make sure you set the Enum Type of the armor emerald_helmet = new ItemEmeraldArmor(EntityEquipmentSlot.HEAD); registerItem(emerald_helmet, "emerald_helmet"); My textures are in /assets/modid/textures/models/armor My Source code https://github.com/PrinceOfAmber/CyclicMagic/blob/master/src/main/java/com/lothrazar/cyclicmagic/item/ItemEmeraldArmor.java http://www.curse.com/users/Lothrazar/projects
April 17, 20169 yr If you include your mod ID in your ArmorMaterial 's name (e.g. adamantium:adamantiumArmor ), Minecraft will load the armour texture from your resource domain instead of the minecraft resource domain. No need to override any methods in ItemArmor for this. Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.
April 17, 20169 yr Author Most likely because you extend ItemArmor, which is a vanilla class, and you don't specify anywhere that you want it to search for the texture in your mod folder ( modid:textures/...[/t]), so it will naturally look for the textures in the [code]minecraft: folder. Yeah, so my question was basically: where do I specify that In 1.8 it was with the getTexture method. - Make sure your item is registered as normal with its resource location - Make sure you set the Enum Type of the armor I do it like this, I read it was better to use the single-argument version of registering; but who knows. And yeah the EnumType was also correct. setRegistryName(name); GameRegistry.register(item); If you include your mod ID in your ArmorMaterial 's name (e.g. adamantium:adamantiumArmor ), Minecraft will load the armour texture from your resource domain instead of the minecraft resource domain. No need to override any methods in ItemArmor for this. This was in fact the real solution, and exactly what I imagined: a change in a place where I would never look. So I changed this: public static ArmorMaterial ARMOR_ADAMANTIUM = EnumHelper.addArmorMaterial("adamantium", "adamantiumArmor", 128, durability, 30, SoundEvents.item_armor_equip_iron); to this: public static ArmorMaterial ARMOR_ADAMANTIUM = EnumHelper.addArmorMaterial("adamantium", "adamantium:adamantiumArmor", 128, durability, 30, SoundEvents.item_armor_equip_iron); And boom works perfectly. Thanks a lot, Choonster My first Mod: http://www.curse.com/mc-mods/minecraft/231302-adamantium-mod-better-than-diamonds#
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.