package fox.spiteful.forbidden.items.scribes;
import java.util.List;
import fox.spiteful.forbidden.Forbidden;
import fox.spiteful.forbidden.compat.Compat;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import thaumcraft.api.IScribeTools;
import WayofTime.alchemicalWizardry.api.items.interfaces.IBindable;
import WayofTime.alchemicalWizardry.api.soulNetwork.SoulNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemBloodwell extends Item implements IScribeTools, IBindable {
@SideOnly(Side.CLIENT)
public IIcon icon;
public ItemBloodwell() {
maxStackSize = 1;
canRepair = false;
setMaxDamage(5);
setCreativeTab(Forbidden.tab);
setHasSubtypes(false);
}
@SideOnly(Side.CLIENT)
@Override
public void registerIcons(IIconRegister ir) {
this.icon = ir.registerIcon("forbidden:bloodwell");
}
@SideOnly(Side.CLIENT)
@Override
public IIcon getIconFromDamage(int par1) {
return this.icon;
}
@Override
public void onUpdate(ItemStack stack, World world, Entity fauxplayer, int z, boolean par5) {
if (Compat.bm && stack.getItemDamage() > 0 && stack.hasTagCompound()) {
EntityPlayer player = null;
if (fauxplayer instanceof EntityPlayer)
player = (EntityPlayer) fauxplayer;
else
return;
if (player.capabilities.isCreativeMode)
stack.setItemDamage(0);
else if (SoulNetworkHandler.syphonFromNetwork(stack, 25) > 0)
stack.setItemDamage(stack.getItemDamage() - 1);
else if (player.getHealth() > 6) {
player.setHealth(player.getHealth() - 2);
stack.setItemDamage(stack.getItemDamage() - 1);
}
}
}
@Override
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer player) {
SoulNetworkHandler.checkAndSetItemOwner(itemstack, player);
return itemstack;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean z) {
if (stack.hasTagCompound()) {
list.add("");
list.add(StatCollector.translateToLocal("tooltip.currentowner") + " " + stack.stackTagCompound.getString("ownerName"));
}
}
@Override
public void setDamage(ItemStack stack, int damage) {
if (damage > 0) {
if (SoulNetworkHandler.syphonFromNetwork(stack, 25 * damage) > 0)
super.setDamage(stack, 0);
else
super.setDamage(stack, damage);
} else
super.setDamage(stack, damage);
}
}