Skip to content

Commit 822114e

Browse files
Better handling desynced maps
1 parent 4ec3a04 commit 822114e

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

src/main/java/net/pistonmaster/pistonqueue/bungee/PistonQueue.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)