import java.util.List;
import java.util.Random;
+import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.DamageSource;
-import net.minecraft.util.EntityDamageSource;
+import net.minecraft.util.Icon;
import net.minecraft.world.World;
import pcc.chemicraft.ChemiCraft;
import pcc.chemicraft.core.ChemiCraftCore;
public class ItemAtoms extends Item {
+ @SideOnly(Side.CLIENT)
+ private Icon[] icons;
+
public ItemAtoms(int par1){
super(par1);
this.maxStackSize = 64;
EntityLiving entity = (EntityLiving)par3Entity;
entity.attackEntityFrom(ChemiCraftCore.getRadiationDamageSource(entity), 1);
}
- par1ItemStack.setItemDamage(AtomInfo.collapseUraniumSeries(par1ItemStack.getItemDamage() + 1) - 1);
+ if (par3Entity instanceof EntityPlayer){
+ EntityPlayer player = (EntityPlayer)par3Entity;
+ ItemStack itemstack = new ItemStack(
+ par1ItemStack.itemID,
+ 1,
+ par1ItemStack.getItemDamage());
+ itemstack.setItemDamage(AtomInfo.collapseUraniumSeries(itemstack.getItemDamage() + 1) - 1);
+ if (--par1ItemStack.stackSize <= 0) {
+ player.inventory.clearInventory(par1ItemStack.itemID, par1ItemStack.getItemDamage());
+ }
+ if (!player.inventory.addItemStackToInventory(itemstack)) {
+ player.dropItem(itemstack.itemID, itemstack.getItemDamage());
+ }
+ }
}
}
}
for(int type = 0; type < ChemiCraftCore.instance.ATOMSNAME.length; type++)
{
par3List.add(new ItemStack(par1, 1, type));
- this.setIconIndex(type);
}
}
@Override
- public String getItemNameIS(ItemStack par1ItemStack){
- return super.getItemName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
+ @SideOnly(Side.CLIENT)
+ public Icon getIconFromDamage(int par1) {
+ return this.icons[par1];
}
@Override
- public String getTextureFile(){
- return ChemiCraft.ITEM_ATOMS_TEXTURE;
+ public String getUnlocalizedName(ItemStack par1ItemStack){
+ return super.getUnlocalizedName() + "." + ChemiCraftCore.instance.ATOMSNAME[par1ItemStack.getItemDamage()];
}
- @SideOnly(Side.CLIENT)
@Override
- public int getIconFromDamage(int par1){
- return par1;
+ @SideOnly(Side.CLIENT)
+ public void updateIcons(IconRegister par1IconRegister) {
+ this.icons = new Icon[ChemiCraftCore.instance.ATOMSNAME.length];
+
+ for (int i = 0; i < ChemiCraftCore.instance.ATOMSNAME.length; i++) {
+ this.icons[i] = par1IconRegister.registerIcon(ChemiCraft.TEXTURE + "atoms_" + ChemiCraftCore.instance.ATOMSNAME[i]);
+ }
}
}
\ No newline at end of file