From 0330cc2f751ef1c74ce413f22d2be850486c55b7 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Tue, 6 May 2025 08:59:57 +0700 Subject: [PATCH] fix: actually make disconnect write the last seen entries --- build-number.txt | 2 +- .../chomens_bot/plugins/PlayersDatabasePlugin.java | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/build-number.txt b/build-number.txt index e1e0d4f6..05bd5c3c 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -3117 \ No newline at end of file +3118 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java index 2b1d69a7..84c0f1ae 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java @@ -16,7 +16,9 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.time.Instant; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; public class PlayersDatabasePlugin implements Listener { @@ -184,13 +186,15 @@ public class PlayersDatabasePlugin implements Listener { @Override public void disconnected (final DisconnectedEvent event) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { - synchronized (bot.players.list) { - for (final PlayerEntry target : bot.players.list) { + synchronized (bot.players.list) { + final List clonedList = new ArrayList<>(bot.players.list); + + DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + for (final PlayerEntry target : clonedList) { updateLastSeenEntry(target); } - } - }); + }); + } } @Override