From a421430fa891b0f045c63d1f58b9f97ed9b0f62a Mon Sep 17 00:00:00 2001 From: hyperdefined Date: Wed, 23 Feb 2022 19:52:58 -0500 Subject: [PATCH] only add damage to valid armor closes #6 --- .../hyper/toolstats/events/EntityDamage.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java index 6d0eace..546f00a 100644 --- a/src/main/java/lol/hyper/toolstats/events/EntityDamage.java +++ b/src/main/java/lol/hyper/toolstats/events/EntityDamage.java @@ -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"); + } }