package net.glowstone.inventory;
import lombok.Getter;
import net.glowstone.util.InventoryUtil;
import org.bukkit.inventory.ItemStack;
public enum ArmorConstants {
LEATHER_HELMET(1), LEATHER_CHESTPLATE(3), LEATHER_LEGGINGS(2), LEATHER_BOOTS(1),
GOLD_HELMET(2), GOLD_CHESTPLATE(5), GOLD_LEGGINGS(3), GOLD_BOOTS(1),
CHAINMAIL_HELMET(2), CHAINMAIL_CHESTPLATE(5), CHAINMAIL_LEGGINGS(4), CHAINMAIL_BOOTS(1),
IRON_HELMET(2), IRON_CHESTPLATE(6), IRON_LEGGINGS(5), IRON_BOOTS(2),
DIAMOND_HELMET(3, 2), DIAMOND_CHESTPLATE(8, 2), DIAMOND_LEGGINGS(6, 2), DIAMOND_BOOTS(3, 2);
@Getter
private final int defense, toughness;
ArmorConstants(int defense, int toughness) {
this.defense = defense;
this.toughness = toughness;
}
ArmorConstants(int defense) {
this(defense, 0);
}
public static int getDefense(ItemStack[] armor) {
int defense = 0;
for (ItemStack stack : armor) {
if (InventoryUtil.isEmpty(stack)) {
continue;
}
try {
ArmorConstants constant = valueOf(stack.getType().name());
defense += constant.getDefense();
} catch (IllegalArgumentException ex) {
continue;
}
}
return defense;
}
public static int getToughness(ItemStack[] armor) {
int toughness = 0;
for (ItemStack stack : armor) {
if (InventoryUtil.isEmpty(stack)) {
continue;
}
try {
ArmorConstants constant = valueOf(stack.getType().name());
toughness += constant.getToughness();
} catch (IllegalArgumentException ex) {
continue;
}
}
return toughness;
}
}