1818package lol .hyper .toolstats .events ;
1919
2020import lol .hyper .toolstats .ToolStats ;
21- import org .bukkit .ChatColor ;
2221import org .bukkit .GameMode ;
2322import org .bukkit .Material ;
2423import org .bukkit .entity .*;
@@ -41,9 +40,6 @@ public class EntityDamage implements Listener {
4140
4241 private final ToolStats toolStats ;
4342 private final String [] validTools = {"sword" , "trident" , "axe" };
44- private final String playerKillsLore = ChatColor .GRAY + "Player kills: " + ChatColor .DARK_GRAY + "X" ;
45- private final String mobKillsLore = ChatColor .GRAY + "Mob kills: " + ChatColor .DARK_GRAY + "X" ;
46- private final String damageTakenLore = ChatColor .GRAY + "Damage taken: " + ChatColor .DARK_GRAY + "X" ;
4743 private final DecimalFormat decimalFormat = new DecimalFormat ("0.00" );
4844 public final Set <UUID > trackedMobs = new HashSet <>();
4945
@@ -174,6 +170,14 @@ private ItemStack updatePlayerKills(ItemStack itemStack) {
174170 }
175171 container .set (toolStats .swordPlayerKills , PersistentDataType .INTEGER , playerKills );
176172
173+ String playerKillsLore = toolStats .getLoreFromConfig ("kills.player" , false );
174+ String playerKillsLoreRaw = toolStats .getLoreFromConfig ("kills.player" , true );
175+
176+ if (playerKillsLore == null || playerKillsLoreRaw == null ) {
177+ toolStats .logger .warning ("There is no lore message for messages.kills.player!" );
178+ return null ;
179+ }
180+
177181 List <String > lore ;
178182 if (meta .hasLore ()) {
179183 lore = meta .getLore ();
@@ -182,20 +186,20 @@ private ItemStack updatePlayerKills(ItemStack itemStack) {
182186 // we do a for loop like this, we can keep track of index
183187 // this doesn't mess the lore up of existing items
184188 for (int x = 0 ; x < lore .size (); x ++) {
185- if (lore .get (x ).contains ("Player kills" )) {
189+ if (lore .get (x ).contains (playerKillsLore )) {
186190 hasLore = true ;
187- lore .set (x , playerKillsLore .replace ("X " , Integer .toString (playerKills )));
191+ lore .set (x , playerKillsLoreRaw .replace ("{kills} " , Integer .toString (playerKills )));
188192 break ;
189193 }
190194 }
191195 // if the item has lore but doesn't have the tag, add it
192196 if (!hasLore ) {
193- lore .add (playerKillsLore .replace ("X " , Integer .toString (playerKills )));
197+ lore .add (playerKillsLoreRaw .replace ("{kills} " , Integer .toString (playerKills )));
194198 }
195199 } else {
196200 // if the item has no lore, create a new list and add the string
197201 lore = new ArrayList <>();
198- lore .add (playerKillsLore .replace ("X " , Integer .toString (playerKills )));
202+ lore .add (playerKillsLoreRaw .replace ("{kills} " , Integer .toString (playerKills )));
199203 }
200204 if (toolStats .checkConfig (itemStack , "player-kills" )) {
201205 meta .setLore (lore );
@@ -222,6 +226,14 @@ private ItemStack updateMobKills(ItemStack itemStack) {
222226 }
223227 container .set (toolStats .swordMobKills , PersistentDataType .INTEGER , mobKills );
224228
229+ String mobKillsLore = toolStats .getLoreFromConfig ("kills.mob" , false );
230+ String mobKillsLoreRaw = toolStats .getLoreFromConfig ("kills.mob" , true );
231+
232+ if (mobKillsLore == null || mobKillsLoreRaw == null ) {
233+ toolStats .logger .warning ("There is no lore message for messages.kills.mob!" );
234+ return null ;
235+ }
236+
225237 List <String > lore ;
226238 if (meta .hasLore ()) {
227239 lore = meta .getLore ();
@@ -230,20 +242,20 @@ private ItemStack updateMobKills(ItemStack itemStack) {
230242 // we do a for loop like this, we can keep track of index
231243 // this doesn't mess the lore up of existing items
232244 for (int x = 0 ; x < lore .size (); x ++) {
233- if (lore .get (x ).contains ("Mob kills" )) {
245+ if (lore .get (x ).contains (mobKillsLore )) {
234246 hasLore = true ;
235- lore .set (x , mobKillsLore .replace ("X " , Integer .toString (mobKills )));
247+ lore .set (x , mobKillsLoreRaw .replace ("{kills} " , Integer .toString (mobKills )));
236248 break ;
237249 }
238250 }
239251 // if the item has lore but doesn't have the tag, add it
240252 if (!hasLore ) {
241- lore .add (mobKillsLore .replace ("X " , Integer .toString (mobKills )));
253+ lore .add (mobKillsLoreRaw .replace ("{kills} " , Integer .toString (mobKills )));
242254 }
243255 } else {
244256 // if the item has no lore, create a new list and add the string
245257 lore = new ArrayList <>();
246- lore .add (mobKillsLore .replace ("X " , Integer .toString (mobKills )));
258+ lore .add (mobKillsLoreRaw .replace ("{kills} " , Integer .toString (mobKills )));
247259 }
248260 if (toolStats .checkConfig (itemStack , "mob-kills" )) {
249261 meta .setLore (lore );
@@ -270,6 +282,14 @@ private void updateArmorDamage(ItemStack itemStack, double damage) {
270282 decimalFormat .setRoundingMode (RoundingMode .DOWN );
271283 container .set (toolStats .armorDamage , PersistentDataType .DOUBLE , damageTaken );
272284
285+ String damageTakenLore = toolStats .getLoreFromConfig ("damage-taken" , false );
286+ String damageTakenLoreRaw = toolStats .getLoreFromConfig ("damage-taken" , true );
287+
288+ if (damageTakenLore == null || damageTakenLoreRaw == null ) {
289+ toolStats .logger .warning ("There is no lore message for messages.damage-taken!" );
290+ return ;
291+ }
292+
273293 List <String > lore ;
274294 if (meta .hasLore ()) {
275295 lore = meta .getLore ();
@@ -278,20 +298,20 @@ private void updateArmorDamage(ItemStack itemStack, double damage) {
278298 // we do a for loop like this, we can keep track of index
279299 // this doesn't mess the lore up of existing items
280300 for (int x = 0 ; x < lore .size (); x ++) {
281- if (lore .get (x ).contains ("Damage taken" )) {
301+ if (lore .get (x ).contains (damageTakenLore )) {
282302 hasLore = true ;
283- lore .set (x , damageTakenLore .replace ("X " , decimalFormat .format (damageTaken )));
303+ lore .set (x , damageTakenLoreRaw .replace ("{damage} " , decimalFormat .format (damageTaken )));
284304 break ;
285305 }
286306 }
287307 // if the item has lore but doesn't have the tag, add it
288308 if (!hasLore ) {
289- lore .add (damageTakenLore .replace ("X " , decimalFormat .format (damageTaken )));
309+ lore .add (damageTakenLoreRaw .replace ("{damage} " , decimalFormat .format (damageTaken )));
290310 }
291311 } else {
292312 // if the item has no lore, create a new list and add the string
293313 lore = new ArrayList <>();
294- lore .add (damageTakenLore .replace ("X " , decimalFormat .format (damageTaken )));
314+ lore .add (damageTakenLoreRaw .replace ("{damage} " , decimalFormat .format (damageTaken )));
295315 }
296316 if (toolStats .config .getBoolean ("enabled.armor-damage" )) {
297317 meta .setLore (lore );
0 commit comments