Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mrkirby153.MscHouses;
- import java.util.List;
- import net.minecraft.client.renderer.texture.IconRegister;
- import net.minecraft.entity.Entity;
- import net.minecraft.entity.player.EntityPlayer;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.nbt.NBTTagCompound;
- import net.minecraft.potion.PotionEffect;
- import net.minecraft.util.Icon;
- import net.minecraft.world.World;
- import cpw.mods.fml.relauncher.Side;
- import cpw.mods.fml.relauncher.SideOnly;
- public class ItemInvincible extends Item{
- private Icon icon;
- private boolean enabled;
- private int timeLeft;
- public ItemInvincible(int par1) {
- super(par1);
- this.setCreativeTab(MscHouses.tabHouse);
- this.setMaxStackSize(1);
- }
- @Override
- @SideOnly(Side.CLIENT)
- public void func_94581_a(IconRegister iconRegister){
- icon = iconRegister.func_94245_a("MscHouses:invincible");
- }
- @Override
- @SideOnly(Side.CLIENT)
- public Icon getIconFromDamage(int par1) {
- // TODO Auto-generated method stub
- return icon;
- }
- @Override
- public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
- NBTTagCompound nbt = par1ItemStack.getTagCompound();
- nbt.setBoolean("enabled", enabled);
- nbt.setInteger("timeLeft", timeLeft);
- par1ItemStack.setTagCompound(nbt);
- if(par1ItemStack.stackTagCompound != null){
- timeLeft = par1ItemStack.stackTagCompound.getInteger("timeLeft");
- enabled = par1ItemStack.stackTagCompound.getBoolean("enabled");
- }else{
- par1ItemStack.stackTagCompound = new NBTTagCompound();
- }
- if(par3Entity instanceof EntityPlayer){
- EntityPlayer player = (EntityPlayer) par3Entity;
- if(enabled == true && timeLeft != 0){
- player.addPotionEffect(new PotionEffect(2, 20, 0, true));
- player.addPotionEffect(new PotionEffect(13, 20, 0, true));
- player.extinguish();
- if(player.getHealth() < 10){
- player.heal(1);
- }
- timeLeft--;
- }
- if(timeLeft == 0){
- checkForFuel(player);
- }
- }
- }
- @Override
- @SideOnly(Side.CLIENT)
- public void addInformation(ItemStack par1ItemStack,
- EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
- par3List.add("Keeps you 'INVINCIBLE'! Runs on ender Pearls");
- par3List.add("Time left on current charge: " + Math.floor(timeLeft/20) );
- par3List.add("Activated? " +enabled);
- }
- private void checkForFuel(EntityPlayer player){
- for(int slot = 0; slot < player.inventory.getSizeInventory(); slot++){
- ItemStack fuel = player.inventory.getStackInSlot(slot);
- if(fuel != null){
- if(fuel.itemID == Item.enderPearl.itemID){
- fuel.stackSize--;
- timeLeft = 1200;
- break;
- }
- }
- }
- }
- @Override
- public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World,
- EntityPlayer par3EntityPlayer) {
- enabled = !enabled;
- par3EntityPlayer.sendChatToPlayer("Value of Enabled: " + enabled);
- return par1ItemStack;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment