diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/bridge/bungeecord/BungeeServerTracker.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/bridge/bungeecord/BungeeServerTracker.java index 3f37f2d8..0621b2d0 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/bridge/bungeecord/BungeeServerTracker.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/bridge/bungeecord/BungeeServerTracker.java @@ -55,15 +55,15 @@ public class BungeeServerTracker { return info; } - public static String getPlayersOnline(String server) { + public static int getPlayersOnline(String server) { BungeeServerInfo info = trackedServers.get(server); if (info != null) { info.updateLastRequest(); - return String.valueOf(info.getOnlinePlayers()); + return info.getOnlinePlayers(); } else { // It was not tracked, add it. track(server); - return "0"; + return 0; } } diff --git a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/placeholder/PlaceholdersManager.java b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/placeholder/PlaceholdersManager.java index 6872ae9e..3d01ff7d 100644 --- a/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/placeholder/PlaceholdersManager.java +++ b/HolographicDisplays/Plugin/com/gmail/filoghost/holographicdisplays/placeholder/PlaceholdersManager.java @@ -165,14 +165,37 @@ public class PlaceholdersManager { final String serverName = extractArgumentFromPlaceholder(matcher); BungeeServerTracker.track(serverName); // Track this server. - // Add it to tracked servers. - bungeeReplacers.put(matcher.group(), new PlaceholderReplacer() { + if (serverName.contains(",")) { - @Override - public String update() { - return BungeeServerTracker.getPlayersOnline(serverName); + String[] split = serverName.split(","); + for (int i = 0; i < split.length; i++) { + split[i] = split[i].trim(); } - }); + + final String[] serversToTrack = split; + + // Add it to tracked servers. + bungeeReplacers.put(matcher.group(), new PlaceholderReplacer() { + + @Override + public String update() { + int count = 0; + for (String serverToTrack : serversToTrack) { + count += BungeeServerTracker.getPlayersOnline(serverToTrack); + } + return String.valueOf(count); + } + }); + } else { + // Normal, single tracked server. + bungeeReplacers.put(matcher.group(), new PlaceholderReplacer() { + + @Override + public String update() { + return String.valueOf(BungeeServerTracker.getPlayersOnline(serverName)); + } + }); + } } // BungeeCord max players pattern.