001 package net.minecraft.src;
002
003 public enum EnumToolMaterial
004 {
005 WOOD(0, 59, 2.0F, 0, 15),
006 STONE(1, 131, 4.0F, 1, 5),
007 IRON(2, 250, 6.0F, 2, 14),
008 EMERALD(3, 1561, 8.0F, 3, 10),
009 GOLD(0, 32, 12.0F, 0, 22);
010
011 /**
012 * The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
013 */
014 private final int harvestLevel;
015
016 /**
017 * The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
018 */
019 private final int maxUses;
020
021 /**
022 * The strength of this tool material against blocks which it is effective against.
023 */
024 private final float efficiencyOnProperMaterial;
025
026 /** Damage versus entities. */
027 private final int damageVsEntity;
028
029 /** Defines the natural enchantability factor of the material. */
030 private final int enchantability;
031
032 private EnumToolMaterial(int par3, int par4, float par5, int par6, int par7)
033 {
034 this.harvestLevel = par3;
035 this.maxUses = par4;
036 this.efficiencyOnProperMaterial = par5;
037 this.damageVsEntity = par6;
038 this.enchantability = par7;
039 }
040
041 /**
042 * The number of uses this material allows. (wood = 59, stone = 131, iron = 250, diamond = 1561, gold = 32)
043 */
044 public int getMaxUses()
045 {
046 return this.maxUses;
047 }
048
049 /**
050 * The strength of this tool material against blocks which it is effective against.
051 */
052 public float getEfficiencyOnProperMaterial()
053 {
054 return this.efficiencyOnProperMaterial;
055 }
056
057 /**
058 * Damage versus entities.
059 */
060 public int getDamageVsEntity()
061 {
062 return this.damageVsEntity;
063 }
064
065 /**
066 * The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = IRON/GOLD)
067 */
068 public int getHarvestLevel()
069 {
070 return this.harvestLevel;
071 }
072
073 /**
074 * Return the natural enchantability factor of the material.
075 */
076 public int getEnchantability()
077 {
078 return this.enchantability;
079 }
080
081 public int func_82844_f()
082 {
083 return this == WOOD ? Block.planks.blockID : (this == STONE ? Block.cobblestone.blockID : (this == GOLD ? Item.ingotGold.shiftedIndex : (this == IRON ? Item.ingotIron.shiftedIndex : (this == EMERALD ? Item.diamond.shiftedIndex : 0))));
084 }
085 }