From 861d87e2595301b2d431db257c567d5ab5c631b3 Mon Sep 17 00:00:00 2001 From: Lixfel Date: Thu, 30 Apr 2020 13:18:50 +0200 Subject: [PATCH] Add better Fail massage than standard bungee Signed-off-by: Lixfel --- .../bungeecore/listeners/TablistManager.java | 59 ++++++++++--------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/src/de/steamwar/bungeecore/listeners/TablistManager.java b/src/de/steamwar/bungeecore/listeners/TablistManager.java index b0ee7d2e..b7058a82 100644 --- a/src/de/steamwar/bungeecore/listeners/TablistManager.java +++ b/src/de/steamwar/bungeecore/listeners/TablistManager.java @@ -18,6 +18,7 @@ import java.io.File; import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.logging.Level; public class TablistManager extends BasicListener { @@ -78,37 +79,41 @@ public class TablistManager extends BasicListener { } private synchronized void updateCustomTablist(){ - calcHeader(); + try{ + calcHeader(); - //Calculate server-player-map - playerMap.clear(); - for(ProxiedPlayer player : ProxyServer.getInstance().getPlayers()){ - ServerInfo server = player.getServer().getInfo(); - String serverName = server.getName(); - if(serverName.equals("Developer")) - continue; + //Calculate server-player-map + playerMap.clear(); + for(ProxiedPlayer player : ProxyServer.getInstance().getPlayers()){ + ServerInfo server = player.getServer().getInfo(); + String serverName = server.getName(); + if(serverName.equals("Developer")) + continue; - Subserver subserver = Subserver.getSubserver(server); - List players; - if(subserver != null && subserver.getType() == Servertype.BAUSERVER){ - players = playerMap.getOrDefault("Bau", new ArrayList<>()); - players.add(player); - playerMap.putIfAbsent("Bau", players); - }else{ - players = playerMap.getOrDefault(serverName, new ArrayList<>()); - players.add(player); - playerMap.putIfAbsent(serverName, players); + Subserver subserver = Subserver.getSubserver(server); + List players; + if(subserver != null && subserver.getType() == Servertype.BAUSERVER){ + players = playerMap.getOrDefault("Bau", new ArrayList<>()); + players.add(player); + playerMap.putIfAbsent("Bau", players); + }else{ + players = playerMap.getOrDefault(serverName, new ArrayList<>()); + players.add(player); + playerMap.putIfAbsent(serverName, players); + } } + playerMap.forEach((server, players) -> players.sort((proxiedPlayer, t1) -> proxiedPlayer.getName().compareToIgnoreCase(t1.getName()))); + + //Set size + calculateSize(); + + for(Tablist tablist : tablists.values()) + tablist.refresh(); + + seconds++; + }catch(NullPointerException e){ + ProxyServer.getInstance().getLogger().log(Level.SEVERE, "NPE", e); } - playerMap.forEach((server, players) -> players.sort((proxiedPlayer, t1) -> proxiedPlayer.getName().compareToIgnoreCase(t1.getName()))); - - //Set size - calculateSize(); - - for(Tablist tablist : tablists.values()) - tablist.refresh(); - - seconds++; } @EventHandler