package portables.common.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import portables.common.core.SimplePortables; import java.util.List; public class CraftingComponent extends Item { public static final String[] components = new String[] { "remoteCore", "portableCore", "enderDiamond", "compressedBookshelf" }; @SideOnly(Side.CLIENT) private IIcon[] icon; public CraftingComponent() { super(); this.setHasSubtypes(true); setUnlocalizedName("component"); setCreativeTab(SimplePortables.creativeTab); } @SideOnly(Side.CLIENT) @Override public IIcon getIconFromDamage(int par1) { int j = MathHelper.clamp_int(par1, 0, components.length - 1); return this.icon[j]; } @Override public String getUnlocalizedName(ItemStack par1ItemStack) { int i = MathHelper.clamp_int(par1ItemStack.getItemDamage(), 0, components.length - 1); return super.getUnlocalizedName() + "." + components[i]; } @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public void getSubItems(Item item, CreativeTabs tabs, List list) { for (int j = 0; j < components.length; ++j) { list.add(new ItemStack(item, 1, j)); } } @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { this.icon = new IIcon[components.length]; for (int i = 0; i < components.length; ++i) { this.icon[i] = par1IconRegister.registerIcon("simpleportables:" + components[i]); } } }