package net.geforcemods.securitycraft.items; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.geforcemods.securitycraft.main.mod_SecurityCraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; @SuppressWarnings({"unchecked", "rawtypes"}) public class ItemKeycardBase extends Item{ @SideOnly(Side.CLIENT) private IIcon keycardOneIcon; @SideOnly(Side.CLIENT) private IIcon keycardTwoIcon; @SideOnly(Side.CLIENT) private IIcon keycardThreeIcon; @SideOnly(Side.CLIENT) private IIcon keycardFourIcon; @SideOnly(Side.CLIENT) private IIcon keycardFiveIcon; @SideOnly(Side.CLIENT) private IIcon limitedUseKeycardIcon; public ItemKeycardBase() { this.setHasSubtypes(true); this.setMaxDamage(0); this.setCreativeTab(mod_SecurityCraft.tabSCTechnical); } public int getKeycardLV(ItemStack par1ItemStack){ if(par1ItemStack.getItemDamage() == 0){ return 1; }else if(par1ItemStack.getItemDamage() == 1){ return 2; }else if(par1ItemStack.getItemDamage() == 2){ return 3; }else if(par1ItemStack.getItemDamage() == 3){ return 6; }else if(par1ItemStack.getItemDamage() == 4){ return 4; }else if(par1ItemStack.getItemDamage() == 5){ return 5; }else{ return 0; } } /** * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) */ @SideOnly(Side.CLIENT) public void getSubItems(Item par1Item, CreativeTabs par2CreativeTabs, List par3List) { par3List.add(new ItemStack(this, 1, 0)); //1 par3List.add(new ItemStack(this, 1, 1)); //2 par3List.add(new ItemStack(this, 1, 2)); //3 par3List.add(new ItemStack(this, 1, 3)); //LU par3List.add(new ItemStack(this, 1, 4)); //4 par3List.add(new ItemStack(this, 1, 5)); //5 } public String getUnlocalizedName(ItemStack par1ItemStack){ if(par1ItemStack.getItemDamage() == 0){ return "item.keycardOne"; }else if(par1ItemStack.getItemDamage() == 1){ return "item.keycardTwo"; }else if(par1ItemStack.getItemDamage() == 2){ return "item.keycardThree"; }else if(par1ItemStack.getItemDamage() == 4){ return "item.keycardFour"; }else if(par1ItemStack.getItemDamage() == 5){ return "item.keycardFive"; }else if(par1ItemStack.getItemDamage() == 3){ return "item.limitedUseKeycard"; }else{ return "item.nullItem"; } } @SideOnly(Side.CLIENT) public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { if(par1ItemStack.getItemDamage() == 3){ if(par1ItemStack.stackTagCompound == null){ par1ItemStack.stackTagCompound = new NBTTagCompound(); par1ItemStack.stackTagCompound.setInteger("Uses", 5); } par3List.add(StatCollector.translateToLocal("tooltip.keycard.uses") + " " + par1ItemStack.stackTagCompound.getInteger("Uses")); } } /** * Gets an icon index based on an item's damage value */ @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int par1){ if(par1 == 0){ return this.keycardOneIcon; }else if(par1 == 1){ return this.keycardTwoIcon; }else if(par1 == 2){ return this.keycardThreeIcon; }else if(par1 == 4){ return this.keycardFourIcon; }else if(par1 == 5){ return this.keycardFiveIcon; }else if(par1 == 3){ return this.limitedUseKeycardIcon; }else{ return super.getIconFromDamage(par1); } } @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister){ this.keycardOneIcon = par1IconRegister.registerIcon("securitycraft:lv1Keycard"); this.keycardTwoIcon = par1IconRegister.registerIcon("securitycraft:lv2Keycard"); this.keycardThreeIcon = par1IconRegister.registerIcon("securitycraft:lv3Keycard"); this.keycardFourIcon = par1IconRegister.registerIcon("securitycraft:lv4Keycard"); this.keycardFiveIcon = par1IconRegister.registerIcon("securitycraft:lv5Keycard"); this.limitedUseKeycardIcon = par1IconRegister.registerIcon("securitycraft:limitedUseKeycard"); } }