@@ -42,7 +42,7 @@ public class PlaceholderManager {
4242
4343 public PlaceholderManager (PluginMain plugin ) {
4444 this .plugin = plugin ;
45- if (Bukkit .getPluginManager ().isPluginEnabled ("PlaceholderAPI" )) {
45+ if (Bukkit .getPluginManager ().isPluginEnabled ("PlaceholderAPI" )) {
4646 plugin .getDebugger ().debug (plugin .getPluginMessagePrefix () + "Hooking into PlaceholderAPI" );
4747 new PAPIPlaceholders (plugin );
4848 }
@@ -139,28 +139,143 @@ public String getValue(IPluginArena arena) {
139139 return Integer .toString (arena .getTimer ());
140140 }
141141 });
142+ registerPlaceholder (new Placeholder ("timer_pretty" , Placeholder .PlaceholderType .ARENA , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
143+ @ Override
144+ public String getValue (Player player , IPluginArena arena ) {
145+ return convertSecondsToTime (arena .getTimer ());
146+ }
147+
148+ @ Override
149+ public String getValue (IPluginArena arena ) {
150+ return convertSecondsToTime (arena .getTimer ());
151+ }
152+
153+ public String convertSecondsToTime (int oldseconds ) {
154+ int hours = oldseconds / 3600 ;
155+ int minutes = (oldseconds % 3600 ) / 60 ;
156+ int seconds = oldseconds % 60 ;
157+ if (hours > 0 ) {
158+ return String .format ("%02d:%02d:%02d" , hours , minutes , seconds );
159+ } else if (minutes > 0 ) {
160+ return String .format ("%02d:%02d" , minutes , seconds );
161+ } else {
162+ return String .format ("%02d" , seconds );
163+ }
164+ }
165+ });
142166 registerPlaceholder (new Placeholder ("user_kit" , Placeholder .PlaceholderExecutor .ALL ) {
143167 @ Override
144168 public String getValue (Player player ) {
145- if (!plugin .getConfigPreferences ().getOption ("KITS" )) {
169+ if (!plugin .getConfigPreferences ().getOption ("KITS" )) {
146170 return null ;
147171 }
148172 return plugin .getUserManager ().getUser (player ).getKit ().getName ();
149173 }
150174
151175 @ Override
152176 public String getValue (Player player , IPluginArena arena ) {
153- if (!plugin .getConfigPreferences ().getOption ("KITS" )) {
177+ if (!plugin .getConfigPreferences ().getOption ("KITS" )) {
154178 return null ;
155179 }
156180 return plugin .getUserManager ().getUser (player ).getKit ().getName ();
157181 }
158182 });
183+
184+
185+ //get player specific details
186+ registerPlaceholder (new Placeholder ("current_arena_id" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
187+ @ Override
188+ public String getValue (Player player ) {
189+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
190+ return playerArena != null ? playerArena .getId () : "" ;
191+ }
192+
193+ @ Override
194+ public String getValue () {
195+ return "" ;
196+ }
197+ });
198+ registerPlaceholder (new Placeholder ("arena_current_state" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
199+ @ Override
200+ public String getValue (Player player ) {
201+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
202+ if (playerArena != null ) {
203+ return playerArena .getArenaState ().toString ().toLowerCase ();
204+ }
205+ return "" ;
206+ }
207+
208+ @ Override
209+ public String getValue () {
210+ return "" ;
211+ }
212+ });
213+ registerPlaceholder (new Placeholder ("arena_current_name" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
214+ @ Override
215+ public String getValue (Player player ) {
216+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
217+ if (playerArena != null ) {
218+ return playerArena .getMapName ();
219+ }
220+ return "" ;
221+ }
222+
223+ @ Override
224+ public String getValue () {
225+ return "" ;
226+ }
227+ });
228+ registerPlaceholder (new Placeholder ("arena_current_players" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
229+ @ Override
230+ public String getValue (Player player ) {
231+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
232+ if (playerArena != null ) {
233+ return Integer .toString (playerArena .getPlayers ().size ());
234+ }
235+ return "" ;
236+ }
237+
238+ @ Override
239+ public String getValue () {
240+ return "" ;
241+ }
242+ });
243+ registerPlaceholder (new Placeholder ("arena_current_max_players" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
244+ @ Override
245+ public String getValue (Player player ) {
246+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
247+ if (playerArena != null ) {
248+ return Integer .toString (playerArena .getMaximumPlayers ());
249+ }
250+ return "" ;
251+ }
252+
253+ @ Override
254+ public String getValue () {
255+ return "" ;
256+ }
257+ });
258+ registerPlaceholder (new Placeholder ("arena_current_timer" , Placeholder .PlaceholderType .GLOBAL , Placeholder .PlaceholderExecutor .PLACEHOLDER_API ) {
259+ @ Override
260+ public String getValue (Player player ) {
261+ IPluginArena playerArena = plugin .getArenaRegistry ().getArena (player );
262+ if (playerArena != null ) {
263+ return Integer .toString (playerArena .getTimer ());
264+ }
265+ return "" ;
266+ }
267+
268+ @ Override
269+ public String getValue () {
270+ return "" ;
271+ }
272+ });
273+
159274
160275 }
161276
162277 public void registerPlaceholder (Placeholder placeholder ) {
163- switch (placeholder .getPlaceholderExecutor ()) {
278+ switch (placeholder .getPlaceholderExecutor ()) {
164279 case PLACEHOLDER_API :
165280 registeredPAPIPlaceholders .add (placeholder );
166281 break ;
0 commit comments