1 package pcc.chemicraft.core.item;
4 import java.util.Random;
6 import net.minecraft.client.renderer.texture.IconRegister;
7 import net.minecraft.creativetab.CreativeTabs;
8 import net.minecraft.entity.Entity;
9 import net.minecraft.entity.EntityLiving;
10 import net.minecraft.entity.player.EntityPlayer;
11 import net.minecraft.item.Item;
12 import net.minecraft.item.ItemStack;
13 import net.minecraft.util.Icon;
14 import net.minecraft.world.World;
15 import pcc.chemicraft.ChemiCraft;
16 import pcc.chemicraft.core.ChemiCraftCore;
17 import pcc.chemicraft.util.AtomInfo;
18 import cpw.mods.fml.relauncher.Side;
19 import cpw.mods.fml.relauncher.SideOnly;
21 public class ItemAtoms extends Item {
25 public ItemAtoms(int par1){
27 this.maxStackSize = 64;
28 this.setHasSubtypes(true);
30 this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
36 public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
38 if (AtomInfo.isRI(par1ItemStack.getItemDamage() + 1)){
39 Random random = new Random();
40 if (random.nextInt(100) == 0){
41 if (par3Entity instanceof EntityLiving){
42 EntityLiving entity = (EntityLiving)par3Entity;
43 entity.attackEntityFrom(ChemiCraftCore.getRadiationDamageSource(entity), 1);
45 if (par3Entity instanceof EntityPlayer){
46 EntityPlayer player = (EntityPlayer)par3Entity;
47 ItemStack itemstack = new ItemStack(
50 par1ItemStack.getItemDamage());
51 itemstack.setItemDamage(AtomInfo.collapseUraniumSeries(itemstack.getItemDamage() + 1) - 1);
52 player.inventory.addItemStackToInventory(itemstack);
53 player.inventory.consumeInventoryItem(par1ItemStack.itemID);
61 @SuppressWarnings({ "unchecked", "rawtypes" })
62 @SideOnly(Side.CLIENT)
64 public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
65 for(int type = 0; type < ChemiCraftCore.instance.ATOMSNAME.length; type++)
67 par3List.add(new ItemStack(par1, 1, type));
74 @SideOnly(Side.CLIENT)
75 public Icon getIconFromDamage(int par1) {
76 return this.icons[par1];
82 public String getUnlocalizedName(ItemStack par1ItemStack){
83 return super.getUnlocalizedName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
89 @SideOnly(Side.CLIENT)
90 public void updateIcons(IconRegister par1IconRegister) {
91 this.icons = new Icon[ChemiCraftCore.instance.ATOMSNAME.length];
93 for (int i = 0; i < ChemiCraftCore.instance.ATOMSNAME.length; i++) {
94 this.icons[i] = par1IconRegister.registerIcon(ChemiCraft.TEXTURE + "atoms_" + ChemiCraftCore.instance.ATOMSNAME[i]);