package net.minecraft.item;
public enum EnumArmorMaterial
{
CLOTH(5, new int[]{1, 3, 2, 1}, 15),
CHAIN(15, new int[]{2, 5, 4, 1}, 12),
IRON(15, new int[]{2, 6, 5, 2}, 9),
GOLD(7, new int[]{2, 5, 3, 1}, 25),
DIAMOND(33, new int[]{3, 8, 6, 3}, 10);
/**
* Holds the maximum damage factor (each piece multiply this by it's own value) of the material, this is the item
* damage (how much can absorb before breaks)
*/
private int maxDamageFactor;
/**
* Holds the damage reduction (each 1 points is half a shield on gui) of each piece of armor (helmet, plate, legs
* and boots)
*/
private int[] damageReductionAmountArray;
/** Return the enchantability factor of the material */
private int enchantability;
//Added by forge for custom Armor materials.
public Item customCraftingMaterial = null;
private EnumArmorMaterial(int par3, int[] par4ArrayOfInteger, int par5)
{
this.maxDamageFactor = par3;
this.damageReductionAmountArray = par4ArrayOfInteger;
this.enchantability = par5;
}
/**
* Returns the durability for a armor slot of for this type.
*/
public int getDurability(int par1)
{
return ItemArmor.getMaxDamageArray()[par1] * this.maxDamageFactor;
}
/**
* Return the damage reduction (each 1 point is a half a shield on gui) of the piece index passed (0 = helmet, 1 =
* plate, 2 = legs and 3 = boots)
*/
public int getDamageReductionAmount(int par1)
{
return this.damageReductionAmountArray[par1];
}
/**
* Return the enchantability factor of the material.
*/
public int getEnchantability()
{
return this.enchantability;
}
/**
* Return the crafting material for this armor material, used to determine the item that can be used to repair an
* armor piece with an anvil
*/
public int getArmorCraftingMaterial()
{
switch (this)
{
case CLOTH: return Item.leather.itemID;
case CHAIN: return Item.ingotIron.itemID;
case GOLD: return Item.ingotGold.itemID;
case IRON: return Item.ingotIron.itemID;
case DIAMOND: return Item.diamond.itemID;
default: return (customCraftingMaterial == null ? 0 : customCraftingMaterial.itemID);
}
}
}