001 package net.minecraft.src; 002 003 public enum EnumArmorMaterial 004 { 005 CLOTH(5, new int[]{1, 3, 2, 1}, 15), 006 CHAIN(15, new int[]{2, 5, 4, 1}, 12), 007 IRON(15, new int[]{2, 6, 5, 2}, 9), 008 GOLD(7, new int[]{2, 5, 3, 1}, 25), 009 DIAMOND(33, new int[]{3, 8, 6, 3}, 10); 010 011 /** 012 * Holds the maximum damage factor (each piece multiply this by it's own value) of the material, this is the item 013 * damage (how much can absorb before breaks) 014 */ 015 private int maxDamageFactor; 016 017 /** 018 * Holds the damage reduction (each 1 points is half a shield on gui) of each piece of armor (helmet, plate, legs 019 * and boots) 020 */ 021 private int[] damageReductionAmountArray; 022 023 /** Return the enchantability factor of the material */ 024 private int enchantability; 025 026 private EnumArmorMaterial(int par3, int[] par4ArrayOfInteger, int par5) 027 { 028 this.maxDamageFactor = par3; 029 this.damageReductionAmountArray = par4ArrayOfInteger; 030 this.enchantability = par5; 031 } 032 033 /** 034 * Returns the durability for a armor slot of for this type. 035 */ 036 public int getDurability(int par1) 037 { 038 return ItemArmor.getMaxDamageArray()[par1] * this.maxDamageFactor; 039 } 040 041 /** 042 * Return the damage reduction (each 1 point is a half a shield on gui) of the piece index passed (0 = helmet, 1 = 043 * plate, 2 = legs and 3 = boots) 044 */ 045 public int getDamageReductionAmount(int par1) 046 { 047 return this.damageReductionAmountArray[par1]; 048 } 049 050 /** 051 * Return the enchantability factor of the material. 052 */ 053 public int getEnchantability() 054 { 055 return this.enchantability; 056 } 057 058 public int func_82845_b() 059 { 060 return this == CLOTH ? Item.leather.shiftedIndex : (this == CHAIN ? Item.ingotIron.shiftedIndex : (this == GOLD ? Item.ingotGold.shiftedIndex : (this == IRON ? Item.ingotIron.shiftedIndex : (this == DIAMOND ? Item.diamond.shiftedIndex : 0)))); 061 } 062 }