package mekanism.tools.item;
import java.util.List;
import mekanism.api.util.StackUtils;
import mekanism.client.render.ModelCustomArmor;
import mekanism.common.Mekanism;
import mekanism.common.MekanismItems;
import mekanism.common.util.LangUtils;
import mekanism.tools.common.MekanismTools;
import mekanism.tools.common.ToolsItems;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemMekanismArmor extends ItemArmor
{
public ItemMekanismArmor(ArmorMaterial enumarmormaterial, int renderIndex, EntityEquipmentSlot slot)
{
super(enumarmormaterial, renderIndex, slot);
setCreativeTab(Mekanism.tabMekanism);
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer entityplayer, List list, boolean flag)
{
list.add(LangUtils.localize("tooltip.hp") + ": " + (itemstack.getMaxDamage() - itemstack.getItemDamage()));
}
@Override
public String getArmorTexture(ItemStack stack, Entity entity, EntityEquipmentSlot slot, String type)
{
int layer = (slot == EntityEquipmentSlot.LEGS) ? 2 : 1;
return "mekanism:armor/" + getArmorMaterial().name().toLowerCase() + "_" + layer + ".png";
}
@Override
public boolean getIsRepairable(ItemStack stack1, ItemStack stack2)
{
return StackUtils.equalsWildcard(getRepairStack(), stack2) ? true : super.getIsRepairable(stack1, stack2);
}
private ItemStack getRepairStack()
{
if(getArmorMaterial() == MekanismTools.armorOBSIDIAN)
{
return new ItemStack(MekanismItems.Ingot, 1, 0);
}
else if(getArmorMaterial() == MekanismTools.armorLAZULI)
{
return new ItemStack(Items.DYE, 1, 4);
}
else if(getArmorMaterial() == MekanismTools.armorOSMIUM)
{
return new ItemStack(MekanismItems.Ingot, 1, 1);
}
else if(getArmorMaterial() == MekanismTools.armorBRONZE)
{
return new ItemStack(MekanismItems.Ingot, 1, 2);
}
else if(getArmorMaterial() == MekanismTools.armorGLOWSTONE)
{
return new ItemStack(MekanismItems.Ingot, 1, 3);
}
else if(getArmorMaterial() == MekanismTools.armorSTEEL)
{
return new ItemStack(MekanismItems.Ingot, 1, 4);
}
return new ItemStack(getArmorMaterial().getRepairItem());
}
@Override
@SideOnly(Side.CLIENT)
public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, EntityEquipmentSlot armorSlot, ModelBiped _default)
{
if(itemStack.getItem() == ToolsItems.GlowstoneHelmet || itemStack.getItem() == ToolsItems.GlowstoneChestplate ||
itemStack.getItem() == ToolsItems.GlowstoneLeggings || itemStack.getItem() == ToolsItems.GlowstoneBoots)
{
return ModelCustomArmor.getGlow(armorSlot);
}
return super.getArmorModel(entityLiving, itemStack, armorSlot, _default);
}
}