mrkirby153

Untitled

Mar 17th, 2013
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 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 item, World world, Entity entity, int par4, boolean par5) {
  41. enabled = NBTHelper.getBoolean(item, "enabled");
  42. timeLeft = NBTHelper.getInteger(item, "timeLeft");
  43.  
  44. if(entity instanceof EntityPlayer){
  45. EntityPlayer player = (EntityPlayer) entity;
  46. if(enabled == true && timeLeft != 0){
  47. // player.addPotionEffect(new PotionEffect(2, 20, 0, true));
  48. // player.addPotionEffect(new PotionEffect(13, 20, 0, true));
  49. player.extinguish();
  50. if(player.getHealth() < 10){
  51. player.heal(1);
  52. }
  53. timeLeft--;
  54. }
  55. if(timeLeft == 0){
  56. checkForFuel(player);
  57. }
  58. }
  59. NBTHelper.setBoolean(item, "enabled", enabled);
  60. NBTHelper.setInteger(item, "timeLeft", timeLeft);
  61. }
  62. @Override
  63. @SideOnly(Side.CLIENT)
  64. public void addInformation(ItemStack item,
  65. EntityPlayer player, List list, boolean par4) {
  66. list.add("Keeps you 'INVINCIBLE'! Runs on ender Pearls");
  67. list.add("Time left on current charge: " + Math.floor(timeLeft/20) );
  68. list.add("Activated? " +enabled);
  69. }
  70.  
  71. private void checkForFuel(EntityPlayer player){
  72. for(int slot = 0; slot < player.inventory.getSizeInventory(); slot++){
  73. ItemStack fuel = player.inventory.getStackInSlot(slot);
  74. if(fuel != null){
  75. if(fuel.itemID == Item.enderPearl.itemID){
  76. fuel.stackSize--;
  77. timeLeft = 1200;
  78. break;
  79. }
  80. }
  81. }
  82. }
  83. @Override
  84. public ItemStack onItemRightClick(ItemStack item, World world,
  85. EntityPlayer par3EntityPlayer) {
  86. enabled = !enabled;
  87. par3EntityPlayer.sendChatToPlayer("Value of Enabled: " + enabled);
  88. return item;
  89. }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment