Jacknoshima Posted June 8, 2013 Share Posted June 8, 2013 Okay, this is gunna be a really noobish question, but I've never been good with metadata blocks/items How do I get icons to show up in my creative tabs for armour? The armour shows up when I've got it equipped and the names are all right, but the icon just has the missing texture icon this is my code package deadworld; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraftforge.common.IArmorTextureProvider; public class SoulArmour extends ItemArmor implements IArmorTextureProvider{ @SideOnly(Side.CLIENT) private Icon field_94604_cx; public SoulArmour(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); // TODO Auto-generated constructor stub } @Override public String getArmorTextureFile(ItemStack itemstack) { if(itemstack.itemID == Deadworld.soulHelmet.itemID || itemstack.itemID == Deadworld.soulChest.itemID || itemstack.itemID == Deadworld.soulBoots.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_1.png"; } if(itemstack.itemID == Deadworld.soulLeggings.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_2.png"; } else return null; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { super.registerIcons(par1IconRegister); this.field_94604_cx = par1IconRegister.registerIcon(field_94603_a[this.armorType]); } } Any help would help, might just help me sort out metadata once and for all as well Quote Link to comment Share on other sites More sharing options...
ObsequiousNewt Posted June 9, 2013 Share Posted June 9, 2013 Any reason you're using field_94604_cx instead of itemIcon? Quote BEWARE OF GOD --- Co-author of Pentachoron Labs' SBFP Tech. Link to comment Share on other sites More sharing options...
Jacknoshima Posted June 9, 2013 Author Share Posted June 9, 2013 I think I got that bit from a tutorial... either way, it still doesn't work with itemIcon Quote Link to comment Share on other sites More sharing options...
Jacknoshima Posted June 9, 2013 Author Share Posted June 9, 2013 ... I just realised the above code is missing the definition for field _a package deadworld; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraftforge.common.IArmorTextureProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class SoulArmour extends ItemArmor implements IArmorTextureProvider{ public static final String[] field_94595_b = new String[]{"soulHelmet", "soulLeggings", "soulBoots", "soulChest"}; @SideOnly(Side.CLIENT) private Icon[] field_94594_d; public final int armorType; public SoulArmour(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); this.armorType = par4; // TODO Auto-generated constructor stub } @Override public String getArmorTextureFile(ItemStack itemstack) { if(itemstack.itemID == Deadworld.soulHelmet.itemID || itemstack.itemID == Deadworld.soulChest.itemID || itemstack.itemID == Deadworld.soulBoots.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_1.png"; } if(itemstack.itemID == Deadworld.soulLeggings.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_2.png"; } else return null; } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.field_94594_d = new Icon[field_94595_b.length]; for (int i = 0; i < field_94595_b.length; ++i) { this.itemIcon = par1IconRegister.registerIcon(field_94595_b[i]); } } } and it still doesn't work Quote Link to comment Share on other sites More sharing options...
Jacknoshima Posted June 9, 2013 Author Share Posted June 9, 2013 Okay, I got it package deadworld; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.Icon; import net.minecraftforge.common.IArmorTextureProvider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class SoulArmour extends ItemArmor implements IArmorTextureProvider{ public final int armorType; private final EnumArmorMaterial material; //public static final String[] ArmourArray = new String[]{"soulHelmet", "soulLeggings", "soulBoots", "soulChest"}; //@SideOnly(Side.CLIENT) //private Icon[] iconArray; public SoulArmour(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4) { super(par1, par2EnumArmorMaterial, par3, par4); this.material = par2EnumArmorMaterial; this.armorType = par4; } public EnumArmorMaterial getArmorMaterial() { return this.material; } @Override public String getArmorTextureFile(ItemStack itemstack) { if(itemstack.itemID == Deadworld.soulHelmet.itemID || itemstack.itemID == Deadworld.soulChest.itemID || itemstack.itemID == Deadworld.soulBoots.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_1.png"; } if(itemstack.itemID == Deadworld.soulLeggings.itemID){ return "/mods/jnoshima_deadworld/textures/armour/soul_2.png"; } else return null; } @Override public void registerIcons(IconRegister par1IconRegister) { //itemIcon = par1IconRegister.registerIcon("jnoshima_deadworld:soulHelmet"); //} //public void registerIcons(IconRegister iconRegister) //{ switch (armorType){ case 0: itemIcon = par1IconRegister.registerIcon("jnoshima_deadworld:soulHelmet"); break; case 1: itemIcon = par1IconRegister.registerIcon("jnoshima_deadworld:soulChest"); break; case 2: itemIcon = par1IconRegister.registerIcon("jnoshima_deadworld:soulLeggings"); break; case 3: itemIcon = par1IconRegister.registerIcon("jnoshima_deadworld:soulBoots"); break; } } } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.