Skip to content

Commit e37048f

Browse files
committed
add missing damage tracking
1 parent 71f3a3e commit e37048f

File tree

1 file changed

+19
-42
lines changed

1 file changed

+19
-42
lines changed

src/main/java/lol/hyper/toolstats/events/EntityDamage.java

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public void onDamage(EntityDamageByEntityEvent event) {
8181
if (newItem != null) {
8282
attackingPlayerInventory.getItemInMainHand().setItemMeta(newItem);
8383
}
84+
updateArmorDamage(((Player) mobBeingAttacked).getInventory(), event.getFinalDamage());
8485
return;
8586
}
8687
// player is killing regular mob
@@ -96,6 +97,7 @@ public void onDamage(EntityDamageByEntityEvent event) {
9697
ItemMeta newMeta;
9798
// trident is killing player
9899
if (mobBeingAttacked instanceof Player) {
100+
updateArmorDamage(((Player) mobBeingAttacked).getInventory(), event.getFinalDamage());
99101
newMeta = toolStats.itemLore.updatePlayerKills(trident.getItemStack(), 1);
100102
} else {
101103
// trident is killing a mob
@@ -135,6 +137,7 @@ public void onDamage(EntityDamageByEntityEvent event) {
135137
shootingPlayerInventory.getItemInOffHand().setItemMeta(newBow);
136138
}
137139
}
140+
updateArmorDamage(((Player) mobBeingAttacked).getInventory(), event.getFinalDamage());
138141
} else {
139142
// player is shooting a mob
140143
ItemMeta newBow = toolStats.itemLore.updateMobKills(heldBow, 1);
@@ -157,21 +160,7 @@ public void onDamage(EntityDamageByEntityEvent event) {
157160
if (playerTakingDamage.getGameMode() == GameMode.CREATIVE || playerTakingDamage.getGameMode() == GameMode.SPECTATOR) {
158161
return;
159162
}
160-
PlayerInventory playerInventory = playerTakingDamage.getInventory();
161-
ItemStack[] armorContents = playerInventory.getArmorContents();
162-
for (ItemStack armorPiece : armorContents) {
163-
if (armorPiece != null) {
164-
if (toolStats.itemChecker.isArmor(armorPiece.getType())) {
165-
ItemMeta newItem = toolStats.itemLore.updateDamage(armorPiece, event.getFinalDamage(), false);
166-
if (newItem != null) {
167-
armorPiece.setItemMeta(newItem);
168-
}
169-
}
170-
}
171-
}
172-
173-
// apply the new armor
174-
playerInventory.setArmorContents(armorContents);
163+
updateArmorDamage(playerTakingDamage.getInventory(), event.getFinalDamage());
175164
}
176165
}
177166

@@ -192,21 +181,7 @@ public void onDamage(EntityDamageEvent event) {
192181
if (playerTakingDamage.getGameMode() == GameMode.CREATIVE || playerTakingDamage.getGameMode() == GameMode.SPECTATOR) {
193182
return;
194183
}
195-
PlayerInventory playerInventory = playerTakingDamage.getInventory();
196-
ItemStack[] armorContents = playerInventory.getArmorContents();
197-
for (ItemStack armorPiece : armorContents) {
198-
if (armorPiece != null) {
199-
if (toolStats.itemChecker.isArmor(armorPiece.getType())) {
200-
ItemMeta newItem = toolStats.itemLore.updateDamage(armorPiece, event.getFinalDamage(),false);
201-
if (newItem != null) {
202-
armorPiece.setItemMeta(newItem);
203-
}
204-
}
205-
}
206-
}
207-
208-
// apply the new armor
209-
playerInventory.setArmorContents(armorContents);
184+
updateArmorDamage(playerTakingDamage.getInventory(), event.getFinalDamage());
210185
}
211186
}
212187

@@ -227,21 +202,23 @@ public void onDamage(EntityDamageByBlockEvent event) {
227202
if (playerTakingDamage.getGameMode() == GameMode.CREATIVE || playerTakingDamage.getGameMode() == GameMode.SPECTATOR) {
228203
return;
229204
}
230-
PlayerInventory playerInventory = playerTakingDamage.getInventory();
231-
ItemStack[] armorContents = playerInventory.getArmorContents();
232-
for (ItemStack armorPiece : armorContents) {
233-
if (armorPiece != null) {
234-
if (toolStats.itemChecker.isArmor(armorPiece.getType())) {
235-
ItemMeta newItem = toolStats.itemLore.updateDamage(armorPiece, event.getFinalDamage(), false);
236-
if (newItem != null) {
237-
armorPiece.setItemMeta(newItem);
238-
}
205+
updateArmorDamage(playerTakingDamage.getInventory(), event.getFinalDamage());
206+
}
207+
}
208+
209+
private void updateArmorDamage(PlayerInventory playerInventory, double damage) {
210+
ItemStack[] armorContents = playerInventory.getArmorContents();
211+
for (ItemStack armorPiece : armorContents) {
212+
if (armorPiece != null) {
213+
if (toolStats.itemChecker.isArmor(armorPiece.getType())) {
214+
ItemMeta newItem = toolStats.itemLore.updateDamage(armorPiece, damage, false);
215+
if (newItem != null) {
216+
armorPiece.setItemMeta(newItem);
239217
}
240218
}
241219
}
242-
243-
// apply the new armor
244-
playerInventory.setArmorContents(armorContents);
245220
}
221+
// apply the new armor
222+
playerInventory.setArmorContents(armorContents);
246223
}
247224
}

0 commit comments

Comments
 (0)