001    package net.minecraft.src;
002    
003    public class ItemArmor extends Item
004    {
005        /** Holds the 'base' maxDamage that each armorType have. */
006        private static final int[] maxDamageArray = new int[] {11, 16, 15, 13};
007    
008        /**
009         * Stores the armor type: 0 is helmet, 1 is plate, 2 is legs and 3 is boots
010         */
011        public final int armorType;
012    
013        /** Holds the amount of damage that the armor reduces at full durability. */
014        public final int damageReduceAmount;
015    
016        /**
017         * Used on RenderPlayer to select the correspondent armor to be rendered on the player: 0 is cloth, 1 is chain, 2 is
018         * iron, 3 is diamond and 4 is gold.
019         */
020        public final int renderIndex;
021    
022        /** The EnumArmorMaterial used for this ItemArmor */
023        private final EnumArmorMaterial material;
024    
025        public ItemArmor(int par1, EnumArmorMaterial par2EnumArmorMaterial, int par3, int par4)
026        {
027            super(par1);
028            this.material = par2EnumArmorMaterial;
029            this.armorType = par4;
030            this.renderIndex = par3;
031            this.damageReduceAmount = par2EnumArmorMaterial.getDamageReductionAmount(par4);
032            this.setMaxDamage(par2EnumArmorMaterial.getDurability(par4));
033            this.maxStackSize = 1;
034            this.setCreativeTab(CreativeTabs.tabCombat);
035        }
036    
037        /**
038         * Return the enchantability factor of the item, most of the time is based on material.
039         */
040        public int getItemEnchantability()
041        {
042            return this.material.getEnchantability();
043        }
044    
045        /**
046         * Returns the 'max damage' factor array for the armor, each piece of armor have a durability factor (that gets
047         * multiplied by armor material factor)
048         */
049        static int[] getMaxDamageArray()
050        {
051            return maxDamageArray;
052        }
053    }