OSDN Git Service

Merge branch 'master' of https://scm.sourceforge.jp/gitroot/chemicraft/chemicraft
[chemicraft/chemicraft.git] / common / pcc / chemicraft / core / item / ItemAtoms.java
1 package pcc.chemicraft.core.item;
2
3 import java.util.List;
4 import java.util.Random;
5
6 import net.minecraft.creativetab.CreativeTabs;
7 import net.minecraft.entity.Entity;
8 import net.minecraft.entity.EntityLiving;
9 import net.minecraft.item.Item;
10 import net.minecraft.item.ItemStack;
11 import net.minecraft.potion.PotionEffect;
12 import net.minecraft.util.DamageSource;
13 import net.minecraft.util.EntityDamageSource;
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;
20
21 public class ItemAtoms extends Item {
22
23         public ItemAtoms(int par1){
24                 super(par1);
25                 this.maxStackSize = 64;
26                 this.setHasSubtypes(true);
27                 this.setMaxDamage(0);
28                 this.setCreativeTab(ChemiCraftCore.instance.creativeTabChemiCraft);
29         }
30
31
32
33         @Override
34         public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
35         {
36                 if (AtomInfo.isRI(par1ItemStack.getItemDamage() + 1)){
37                         Random random = new Random();
38                         if (random.nextInt(100) == 0){
39                                 if (par3Entity instanceof EntityLiving){
40                                         EntityLiving entity = (EntityLiving)par3Entity;
41                                         entity.attackEntityFrom(ChemiCraftCore.getRadiationDamageSource(entity), 1);
42                                 }
43                                 par1ItemStack.setItemDamage(AtomInfo.collapseUraniumSeries(par1ItemStack.getItemDamage() + 1) - 1);
44                         }
45                 }
46         }
47
48
49
50         @SuppressWarnings({ "unchecked", "rawtypes" })
51         @SideOnly(Side.CLIENT)
52         @Override
53         public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List){
54                 for(int type = 0; type < ChemiCraftCore.instance.ATOMSNAME.length; type++)
55                 {
56                         par3List.add(new ItemStack(par1, 1, type));
57                         this.setIconIndex(type);
58                 }
59         }
60
61
62
63         @Override
64         public String getItemNameIS(ItemStack par1ItemStack){
65                 return super.getItemName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
66         }
67
68
69
70         @Override
71         public String getTextureFile(){
72                 return ChemiCraft.ITEM_ATOMS_TEXTURE;
73         }
74
75
76
77         @SideOnly(Side.CLIENT)
78         @Override
79         public int getIconFromDamage(int par1){
80                 return par1;
81         }
82
83 }