@@ -153,6 +153,19 @@ public void onEnable() {
153153 // Moves the queue when someone logs off the main server on an interval set in the config.yml
154154 getProxy ().getScheduler ().schedule (this , queueListener ::moveQueue , Config .QUEUEMOVEDELAY , Config .QUEUEMOVEDELAY , TimeUnit .MILLISECONDS );
155155
156+ getProxy ().getScheduler ().schedule (this , () -> {
157+ for (QueueType type : QueueType .values ()) {
158+ for (Entry <UUID , String > entry : new LinkedHashMap <>(type .getQueueMap ()).entrySet ()) {
159+ ProxiedPlayer player = getProxy ().getPlayer (entry .getKey ());
160+
161+ if (player == null || !player .isConnected ()) {
162+ getLogger ().info ("Removed bugged player from data!" );
163+ type .getQueueMap ().remove (entry .getKey ());
164+ }
165+ }
166+ }
167+ }, 0 , 500 , TimeUnit .MILLISECONDS );
168+
156169 // Checks the status of all the servers
157170 getProxy ().getScheduler ().schedule (this , () -> {
158171 if (getProxy ().getServers ().containsKey (Config .MAINSERVER )) {
@@ -270,9 +283,7 @@ private void sendMessage(QueueType queue, boolean bool, ChatMessageType type) {
270283
271284 for (Entry <UUID , String > entry : new LinkedHashMap <>(queue .getQueueMap ()).entrySet ()) {
272285 ProxiedPlayer player = getProxy ().getPlayer (entry .getKey ());
273-
274286 if (player == null || !player .isConnected ()) {
275- queue .getQueueMap ().remove (entry .getKey ());
276287 continue ;
277288 }
278289
@@ -293,7 +304,6 @@ private void updateTab(QueueType queue, List<String> header, List<String> footer
293304 for (Entry <UUID , String > entry : new LinkedHashMap <>(queue .getQueueMap ()).entrySet ()) {
294305 ProxiedPlayer player = getProxy ().getPlayer (entry .getKey ());
295306 if (player == null || !player .isConnected ()) {
296- queue .getQueueMap ().remove (entry .getKey ());
297307 continue ;
298308 }
299309
0 commit comments