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 {
23 @SideOnly(Side.CLIENT)
26 public ItemAtoms(int par1){
28 this.maxStackSize = 64;
29 this.setHasSubtypes(true);
31 this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
37 public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
39 if (AtomInfo.isRI(par1ItemStack.getItemDamage() + 1)){
40 Random random = new Random();
41 if (random.nextInt(100) == 0){
42 if (par3Entity instanceof EntityLiving){
43 EntityLiving entity = (EntityLiving)par3Entity;
44 entity.attackEntityFrom(ChemiCraftCore.getRadiationDamageSource(entity), 1);
46 if (par3Entity instanceof EntityPlayer){
47 EntityPlayer player = (EntityPlayer)par3Entity;
48 ItemStack itemstack = new ItemStack(
51 par1ItemStack.getItemDamage());
52 itemstack.setItemDamage(AtomInfo.collapseUraniumSeries(itemstack.getItemDamage() + 1) - 1);
53 if (--par1ItemStack.stackSize <= 0) {
54 player.inventory.clearInventory(par1ItemStack.itemID, par1ItemStack.getItemDamage());
56 player.inventory.addItemStackToInventory(itemstack);
64 @SuppressWarnings({ "unchecked", "rawtypes" })
65 @SideOnly(Side.CLIENT)
67 public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
68 for(int type = 0; type < ChemiCraftCore.instance.ATOMSNAME.length; type++)
70 par3List.add(new ItemStack(par1, 1, type));
77 @SideOnly(Side.CLIENT)
78 public Icon getIconFromDamage(int par1) {
79 return this.icons[par1];
85 public String getUnlocalizedName(ItemStack par1ItemStack){
86 return super.getUnlocalizedName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
92 @SideOnly(Side.CLIENT)
93 public void registerIcons(IconRegister par1IconRegister){
94 this.icons = new Icon[ChemiCraftCore.instance.ATOMSNAME.length];
96 for (int i = 0; i < ChemiCraftCore.instance.ATOMSNAME.length; i++) {
97 this.icons[i] = par1IconRegister.registerIcon(ChemiCraft.TEXTURE + "atoms_" + ChemiCraftCore.instance.ATOMSNAME[i]);