From 4efd30bdfb5667d2f3aabdf67c6302c993dcbb67 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Wed, 7 Aug 2024 09:33:31 +0200 Subject: [PATCH] Fix possible NPE! --- .../velocitycore/tablist/TablistManager.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/VelocityCore/src/de/steamwar/velocitycore/tablist/TablistManager.java b/VelocityCore/src/de/steamwar/velocitycore/tablist/TablistManager.java index 6429fded..69739dc2 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/tablist/TablistManager.java +++ b/VelocityCore/src/de/steamwar/velocitycore/tablist/TablistManager.java @@ -61,16 +61,17 @@ public class TablistManager extends BasicListener { @Subscribe public void onJoin(PostLoginEvent event) { - synchronized (tablists) { - tablists.put(event.getPlayer(), new Tablist(event.getPlayer())); - } Tablist.sendPacket(event.getPlayer(), Tablist.createTeamPacket); } @Subscribe public void onServerConnection(ServerConnectedEvent event) { synchronized (tablists) { - tablists.get(event.getPlayer()).onServerSwitch(); + if (tablists.containsKey(event.getPlayer())) { + tablists.get(event.getPlayer()).onServerSwitch(); + } else { + tablists.put(event.getPlayer(), new Tablist(event.getPlayer())); + } } } @@ -98,14 +99,14 @@ public class TablistManager extends BasicListener { private void updateTablist() { List subservers = new ArrayList<>(); - for (RegisteredServer server : new ArrayList<>(VelocityCore.getProxy().getAllServers())){ - if(server.getPlayersConnected().isEmpty()) + for (RegisteredServer server : new ArrayList<>(VelocityCore.getProxy().getAllServers())) { + if (server.getPlayersConnected().isEmpty()) continue; Subserver subserver = Subserver.getSubserver(server.getServerInfo()); - if(fightInfos.containsKey(server)) + if (fightInfos.containsKey(server)) subservers.add(new TablistServer(server, fightInfos.get(server))); - else if(subserver == null || subserver.getType() != Servertype.BAUSERVER) + else if (subserver == null || subserver.getType() != Servertype.BAUSERVER) subservers.add(new TablistServer(server)); } subservers.add(new TablistBuild());