@@ -126,7 +126,9 @@ public void onDamage(EntityDamageByEntityEvent event) {
126126 PlayerInventory inventory = player .getInventory ();
127127 for (ItemStack armor : inventory .getArmorContents ()) {
128128 if (armor != null ) {
129- updateArmorDamage (armor , event .getDamage ());
129+ if (isArmor (armor .getType ().toString ().toLowerCase (Locale .ROOT ))) {
130+ updateArmorDamage (armor , event .getDamage ());
131+ }
130132 }
131133 }
132134 }
@@ -144,7 +146,9 @@ public void onDamage(EntityDamageEvent event) {
144146 PlayerInventory inventory = player .getInventory ();
145147 for (ItemStack armor : inventory .getArmorContents ()) {
146148 if (armor != null ) {
147- updateArmorDamage (armor , event .getDamage ());
149+ if (isArmor (armor .getType ().toString ().toLowerCase (Locale .ROOT ))) {
150+ updateArmorDamage (armor , event .getDamage ());
151+ }
148152 }
149153 }
150154 }
@@ -162,7 +166,9 @@ public void onDamage(EntityDamageByBlockEvent event) {
162166 PlayerInventory inventory = player .getInventory ();
163167 for (ItemStack armor : inventory .getArmorContents ()) {
164168 if (armor != null ) {
165- updateArmorDamage (armor , event .getFinalDamage ());
169+ if (isArmor (armor .getType ().toString ().toLowerCase (Locale .ROOT ))) {
170+ updateArmorDamage (armor , event .getDamage ());
171+ }
166172 }
167173 }
168174 }
@@ -351,4 +357,13 @@ private void updateArmorDamage(ItemStack itemStack, double damage) {
351357 }
352358 itemStack .setItemMeta (meta );
353359 }
360+
361+ /**
362+ * Check if item is an armor piece.
363+ * @param itemType The item type, not name.
364+ * @return If the item is an armor piece.
365+ */
366+ private boolean isArmor (String itemType ) {
367+ return itemType .endsWith ("_helmet" ) || itemType .endsWith ("_chestplate" ) || itemType .endsWith ("_leggings" ) || itemType .endsWith ("_boots" );
368+ }
354369}
0 commit comments