mrkirby153

Untitled

Mar 17th, 2013
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. package mrkirby153.MscHouses;
  2.  
  3. import java.util.List;
  4.  
  5. import net.minecraft.client.renderer.texture.IconRegister;
  6. import net.minecraft.entity.Entity;
  7. import net.minecraft.entity.player.EntityPlayer;
  8. import net.minecraft.item.Item;
  9. import net.minecraft.item.ItemStack;
  10. import net.minecraft.nbt.NBTTagCompound;
  11. import net.minecraft.potion.PotionEffect;
  12. import net.minecraft.util.Icon;
  13. import net.minecraft.world.World;
  14. import cpw.mods.fml.relauncher.Side;
  15. import cpw.mods.fml.relauncher.SideOnly;
  16.  
  17. public class ItemInvincible extends Item{
  18.     private Icon icon;
  19.     private boolean enabled;
  20.     private int timeLeft;
  21.     public ItemInvincible(int par1) {
  22.         super(par1);
  23.         this.setCreativeTab(MscHouses.tabHouse);
  24.         this.setMaxStackSize(1);
  25.     }
  26.  
  27.     @Override
  28.     @SideOnly(Side.CLIENT)
  29.     public void func_94581_a(IconRegister iconRegister){
  30.         icon = iconRegister.func_94245_a("MscHouses:invincible");
  31.     }
  32.  
  33.     @Override
  34.     @SideOnly(Side.CLIENT)
  35.     public Icon getIconFromDamage(int par1) {
  36.         // TODO Auto-generated method stub
  37.         return icon;
  38.     }
  39.     @Override
  40.     public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
  41.         NBTTagCompound nbt = par1ItemStack.getTagCompound();
  42.         nbt.setBoolean("enabled", enabled);
  43.         nbt.setInteger("timeLeft", timeLeft);
  44.         par1ItemStack.setTagCompound(nbt);
  45.         if(par1ItemStack.stackTagCompound != null){
  46.             timeLeft = par1ItemStack.stackTagCompound.getInteger("timeLeft");
  47.             enabled = par1ItemStack.stackTagCompound.getBoolean("enabled");
  48.         }else{
  49.             par1ItemStack.stackTagCompound = new NBTTagCompound();
  50.         }
  51.         if(par3Entity instanceof EntityPlayer){
  52.             EntityPlayer player = (EntityPlayer) par3Entity;
  53.             if(enabled == true && timeLeft != 0){
  54.                 player.addPotionEffect(new PotionEffect(2, 20, 0, true));
  55.                 player.addPotionEffect(new PotionEffect(13, 20, 0, true));
  56.                 player.extinguish();
  57.                 if(player.getHealth() < 10){
  58.                     player.heal(1);
  59.                 }
  60.                 timeLeft--;
  61.             }
  62.             if(timeLeft == 0){
  63.                 checkForFuel(player);
  64.             }
  65.         }
  66.  
  67.     }
  68.     @Override
  69.     @SideOnly(Side.CLIENT)
  70.     public void addInformation(ItemStack par1ItemStack,
  71.             EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
  72.         par3List.add("Keeps you 'INVINCIBLE'! Runs on ender Pearls");
  73.         par3List.add("Time left on current charge: " + Math.floor(timeLeft/20) );
  74.         par3List.add("Activated? " +enabled);
  75.     }
  76.  
  77.     private void checkForFuel(EntityPlayer player){
  78.         for(int slot = 0; slot < player.inventory.getSizeInventory(); slot++){
  79.             ItemStack fuel = player.inventory.getStackInSlot(slot);
  80.             if(fuel != null){
  81.                 if(fuel.itemID == Item.enderPearl.itemID){
  82.                     fuel.stackSize--;
  83.                     timeLeft = 1200;
  84.                     break;
  85.                 }
  86.             }
  87.         }
  88.     }
  89.     @Override
  90.     public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World,
  91.             EntityPlayer par3EntityPlayer) {
  92.         enabled = !enabled;
  93.         par3EntityPlayer.sendChatToPlayer("Value of Enabled: " + enabled);
  94.         return par1ItemStack;
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment