@@ -111,10 +111,14 @@ public List<String> getDisplay(List<String> lore, int kills, BestiaryMob mob, Be
111111 double currentRequirement = bestiaryData .getTotalKillsForNextTier (bracket , tier + 1 );
112112 double totalRequirement = bestiaryData .getTotalKillsForMaxTier (mob );
113113
114+ String baseLoadingBar = "─────────────────" ;
115+ int maxBarLength = baseLoadingBar .length ();
116+ int formattingCodeLength = 4 ;
117+
114118 lore .add ("§7" + bestiaryEntry .getDescription ());
115119 lore .add ("" );
116120 lore .add ("§7Kills: §a" + kills );
117- lore .add ("§7Deaths: §a TO BE DONE " ); //TODO add datapoint for amount of deaths
121+ lore .add ("§7Deaths: §a" + "TODO " ); //TODO add datapoint for amount of deaths
118122 lore .add ("" );
119123
120124 if (tier > 0 ) {
@@ -123,24 +127,26 @@ public List<String> getDisplay(List<String> lore, int kills, BestiaryMob mob, Be
123127 }
124128
125129 // Current tier progress
126- int unlockedPercentage = (int ) (currentProgress / currentRequirement * 100 );
127- lore .add ("§7Progress to Tier " + StringUtility .getAsRomanNumeral (tier + 1 ) + " §b" + unlockedPercentage + "%" );
128-
129- String baseLoadingBar = "─────────────────" ;
130- int maxBarLength = baseLoadingBar .length ();
131- int completedLength = (int ) Math .round ((currentProgress / currentRequirement ) * maxBarLength );
130+ if (tier < mob .getMaxBestiaryTier ()) {
131+ int unlockedPercentage = (int ) (currentProgress / currentRequirement * 100 );
132+ lore .add ("§7Progress to Tier " + StringUtility .getAsRomanNumeral (tier + 1 ) + " §b" + unlockedPercentage + "%" );
132133
133- String completedLoadingBar = "§3§m" + baseLoadingBar .substring (0 , Math .min (completedLength , maxBarLength ));
134- int formattingCodeLength = 4 ;
135- String uncompletedLoadingBar = "§f§m" + baseLoadingBar .substring (Math .min (completedLoadingBar .length () - formattingCodeLength , maxBarLength ));
134+ int completedLength = (int ) Math .round ((currentProgress / currentRequirement ) * maxBarLength );
136135
137- lore .add (completedLoadingBar + uncompletedLoadingBar + "§r §b" + StringUtility .commaify (currentProgress ) + "§3/§b" + StringUtility .shortenNumber (currentRequirement ));
136+ String completedLoadingBar = "§3§m" + baseLoadingBar .substring (0 , Math .min (completedLength , maxBarLength ));
137+ String uncompletedLoadingBar = "§f§m" + baseLoadingBar .substring (Math .min (completedLoadingBar .length () - formattingCodeLength , maxBarLength ));
138138
139- lore .add ("" );
139+ lore .add (completedLoadingBar + uncompletedLoadingBar + "§r §b" + StringUtility .commaify (currentProgress ) + "§3/§b" + StringUtility .shortenNumber (currentRequirement ));
140+ lore .add ("" );
141+ }
140142
141143 // Total kill progress*
142144 int totalUnlockedPercentage = (int ) (kills / totalRequirement * 100 );
143- lore .add ("§7Overall Progress: §b" + totalUnlockedPercentage + "%" );
145+ if (tier < mob .getMaxBestiaryTier ()) {
146+ lore .add ("§7Overall Progress: §b" + totalUnlockedPercentage + "%" );
147+ } else {
148+ lore .add ("§7Overall Progress: §b" + totalUnlockedPercentage + "% §7(§c§lMAX!§7)" );
149+ }
144150
145151 int totalCompletedLength = (int ) Math .round ((kills / totalRequirement ) * maxBarLength );
146152 String totalCompletedBar = "§3§m" + baseLoadingBar .substring (0 , Math .min (totalCompletedLength , maxBarLength ));
@@ -150,9 +156,10 @@ public List<String> getDisplay(List<String> lore, int kills, BestiaryMob mob, Be
150156
151157 if (mob .getMaxBestiaryTier () > tier ) {
152158 lore .add ("§8Capped at Tier " + StringUtility .getAsRomanNumeral (mob .getMaxBestiaryTier ()));
153- lore .add ("" );
154159 }
155160
161+ lore .add ("" );
162+
156163 if (tier < mob .getMaxBestiaryTier ()) {
157164 bestiaryData .getNextBonuses (lore , bestiaryEntry .getName (), tier + 1 );
158165 lore .add ("" );
0 commit comments