only add damage to valid armor

closes #6
This commit is contained in:
hyperdefined
2022-02-23 19:52:58 -05:00
parent 7a89b31766
commit a421430fa8

View File

@@ -126,7 +126,9 @@ public class EntityDamage implements Listener {
PlayerInventory inventory = player.getInventory();
for (ItemStack armor : inventory.getArmorContents()) {
if (armor != null) {
updateArmorDamage(armor, event.getDamage());
if (isArmor(armor.getType().toString().toLowerCase(Locale.ROOT))) {
updateArmorDamage(armor, event.getDamage());
}
}
}
}
@@ -144,7 +146,9 @@ public class EntityDamage implements Listener {
PlayerInventory inventory = player.getInventory();
for (ItemStack armor : inventory.getArmorContents()) {
if (armor != null) {
updateArmorDamage(armor, event.getDamage());
if (isArmor(armor.getType().toString().toLowerCase(Locale.ROOT))) {
updateArmorDamage(armor, event.getDamage());
}
}
}
}
@@ -162,7 +166,9 @@ public class EntityDamage implements Listener {
PlayerInventory inventory = player.getInventory();
for (ItemStack armor : inventory.getArmorContents()) {
if (armor != null) {
updateArmorDamage(armor, event.getFinalDamage());
if (isArmor(armor.getType().toString().toLowerCase(Locale.ROOT))) {
updateArmorDamage(armor, event.getDamage());
}
}
}
}
@@ -351,4 +357,13 @@ public class EntityDamage implements Listener {
}
itemStack.setItemMeta(meta);
}
/**
* Check if item is an armor piece.
* @param itemType The item type, not name.
* @return If the item is an armor piece.
*/
private boolean isArmor(String itemType) {
return itemType.endsWith("_helmet") || itemType.endsWith("_chestplate") || itemType.endsWith("_leggings") || itemType.endsWith("_boots");
}
}