From 21100ee7b1468a6485e25a8a5ec2283777b7b861 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 31 May 2025 17:30:23 +0700 Subject: [PATCH] refactor: use `Executor.execute` instead of `submit` refactor: use mcprotocollib's packet handler executor to send the brand and the client information (even though it's for handling packets) --- build-number.txt | 2 +- src/main/java/me/chayapak1/chomens_bot/Bot.java | 4 ++-- src/main/java/me/chayapak1/chomens_bot/Main.java | 1 + .../chayapak1/chomens_bot/commands/FilterCommand.java | 6 +++--- .../chomens_bot/commands/FindAltsCommand.java | 4 +--- .../chomens_bot/commands/IPFilterCommand.java | 6 +++--- .../me/chayapak1/chomens_bot/commands/MailCommand.java | 6 +++--- .../me/chayapak1/chomens_bot/commands/SeenCommand.java | 2 +- .../chomens_bot/commands/ServerEvalCommand.java | 2 +- .../chomens_bot/commands/TranslateCommand.java | 2 +- .../chayapak1/chomens_bot/commands/UrbanCommand.java | 2 +- .../chomens_bot/commands/WikipediaCommand.java | 2 +- .../me/chayapak1/chomens_bot/plugins/EvalPlugin.java | 2 +- .../chayapak1/chomens_bot/plugins/IPFilterPlugin.java | 4 ++-- .../me/chayapak1/chomens_bot/plugins/MailPlugin.java | 4 ++-- .../chomens_bot/plugins/PlayerFilterPlugin.java | 4 ++-- .../chomens_bot/plugins/PlayersDatabasePlugin.java | 10 +++++----- .../chayapak1/chomens_bot/plugins/PlayersPlugin.java | 2 +- 18 files changed, 32 insertions(+), 33 deletions(-) diff --git a/build-number.txt b/build-number.txt index 84b32aa9..9f42ddd0 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -3373 \ No newline at end of file +3378 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/Bot.java b/src/main/java/me/chayapak1/chomens_bot/Bot.java index 2188e71a..7621841b 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Bot.java +++ b/src/main/java/me/chayapak1/chomens_bot/Bot.java @@ -313,8 +313,8 @@ public class Bot extends SessionAdapter { } private void packetSent (final ServerboundLoginAcknowledgedPacket ignoredPacket) { - // doesn't work without submitting it somewhere :( - executorService.submit(() -> { + // doesn't work without executing + session.getPacketHandlerExecutor().execute(() -> { // for voicechat session.send(new ServerboundCustomPayloadPacket( Key.key("minecraft:brand"), diff --git a/src/main/java/me/chayapak1/chomens_bot/Main.java b/src/main/java/me/chayapak1/chomens_bot/Main.java index 457ac7d0..141d6bde 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Main.java +++ b/src/main/java/me/chayapak1/chomens_bot/Main.java @@ -190,6 +190,7 @@ public class Main { EXECUTOR.shutdown(); EXECUTOR_SERVICE.shutdown(); + FileLoggerUtilities.stop(); if (database != null) database.stop(); final ArrayList copiedList; diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/FilterCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/FilterCommand.java index c1b09f9e..4c3825d0 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/FilterCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/FilterCommand.java @@ -76,7 +76,7 @@ public class FilterCommand extends Command { } } - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> bot.playerFilter.add(player, reason, regex, ignoreCase)); + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> bot.playerFilter.add(player, reason, regex, ignoreCase)); if (reason.isEmpty()) { return Component.translatable( @@ -102,7 +102,7 @@ public class FilterCommand extends Command { if (player == null) throw new CommandException(Component.translatable("commands.generic.error.invalid_index")); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> bot.playerFilter.remove(player.playerName())); + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> bot.playerFilter.remove(player.playerName())); return Component.translatable( "commands.filter.remove.output", @@ -113,7 +113,7 @@ public class FilterCommand extends Command { case "clear" -> { context.checkOverloadArgs(1); - DatabasePlugin.EXECUTOR_SERVICE.submit(bot.playerFilter::clear); + DatabasePlugin.EXECUTOR_SERVICE.execute(bot.playerFilter::clear); return Component.translatable("commands.filter.clear.output").color(bot.colorPalette.defaultColor); } case "list" -> { diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/FindAltsCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/FindAltsCommand.java index c306d24e..0533d4d0 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/FindAltsCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/FindAltsCommand.java @@ -49,7 +49,7 @@ public class FindAltsCommand extends Command { final String player = context.getString(true, true); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { final PlayerEntry playerInTheServer = bot.players.getEntry(player); final String ipFromUsername; @@ -62,8 +62,6 @@ public class FindAltsCommand extends Command { } else { context.sendOutput(handle(bot, ipFromUsername, player, allServer)); } - - return null; }); return null; diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/IPFilterCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/IPFilterCommand.java index a09c9762..15efbeb9 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/IPFilterCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/IPFilterCommand.java @@ -51,7 +51,7 @@ public class IPFilterCommand extends Command { ); } - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> bot.ipFilter.add(ip, reason)); + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> bot.ipFilter.add(ip, reason)); if (reason.isEmpty()) { return Component.translatable( @@ -77,7 +77,7 @@ public class IPFilterCommand extends Command { if (targetIP == null) throw new CommandException(Component.translatable("commands.generic.error.invalid_index")); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> bot.ipFilter.remove(targetIP)); + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> bot.ipFilter.remove(targetIP)); return Component.translatable( "commands.ipfilter.remove.output", @@ -88,7 +88,7 @@ public class IPFilterCommand extends Command { case "clear" -> { context.checkOverloadArgs(1); - DatabasePlugin.EXECUTOR_SERVICE.submit(bot.ipFilter::clear); + DatabasePlugin.EXECUTOR_SERVICE.execute(bot.ipFilter::clear); return Component.translatable("commands.ipfilter.clear.output").color(bot.colorPalette.defaultColor); } case "list" -> { diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/MailCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/MailCommand.java index 675a12b9..02e4dce8 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/MailCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/MailCommand.java @@ -48,7 +48,7 @@ public class MailCommand extends Command { final String action = context.getAction(); switch (action) { - case "send" -> DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + case "send" -> DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { bot.mail.send( new Mail( @@ -79,7 +79,7 @@ public class MailCommand extends Command { throw new CommandException(Component.translatable("commands.mail.sendselecteditem.error.no_item_nbt")); } - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { bot.mail.send( new Mail( @@ -107,7 +107,7 @@ public class MailCommand extends Command { case "read" -> { context.checkOverloadArgs(1); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { final List mails = bot.mail.list(); int senderMailSize = 0; diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/SeenCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/SeenCommand.java index f14f2ead..4dc5ec97 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/SeenCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/SeenCommand.java @@ -60,7 +60,7 @@ public class SeenCommand extends Command { if (online) return Component.join(JoinConfiguration.newlines(), onlineComponents); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { final JsonNode playerElement = bot.playersDatabase.getPlayerData(player); if (playerElement == null) throw new CommandException(Component.translatable( diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java index f0f2e515..093af325 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java @@ -40,7 +40,7 @@ public class ServerEvalCommand extends Command { return Component.translatable("commands.servereval.reset", bot.colorPalette.defaultColor); } - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { try { if (lua == null) lua = new Lua54(); diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/TranslateCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/TranslateCommand.java index f1248c49..3a1952ff 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/TranslateCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/TranslateCommand.java @@ -49,7 +49,7 @@ public class TranslateCommand extends Command { final String message = context.getString(true, true); - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { try { final URL url = new URI( String.format( diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/UrbanCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/UrbanCommand.java index 833e41fe..75c9e1a5 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/UrbanCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/UrbanCommand.java @@ -55,7 +55,7 @@ public class UrbanCommand extends Command { final Gson gson = new Gson(); - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { try { final URL url = new URI( "https://api.urbandictionary.com/v0/define?term=" + diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/WikipediaCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/WikipediaCommand.java index 03a56cc1..1af64332 100644 --- a/src/main/java/me/chayapak1/chomens_bot/commands/WikipediaCommand.java +++ b/src/main/java/me/chayapak1/chomens_bot/commands/WikipediaCommand.java @@ -44,7 +44,7 @@ public class WikipediaCommand extends Command { final Gson gson = new Gson(); - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { try { Component component = Component.empty(); diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java index df92ef2c..bde8009b 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalPlugin.java @@ -65,7 +65,7 @@ public class EvalPlugin { socket.on( BRIDGE_PREFIX + function.name + ":" + bot.getServerString(true), functionArgs -> - Main.EXECUTOR_SERVICE.submit(() -> { + Main.EXECUTOR_SERVICE.execute(() -> { try { final EvalFunction.Output output = function.execute(bot, functionArgs); if (output == null) return; diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/IPFilterPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/IPFilterPlugin.java index 1536217b..994264d0 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/IPFilterPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/IPFilterPlugin.java @@ -24,7 +24,7 @@ public class IPFilterPlugin implements Listener { static { if (Main.database != null) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { Main.database.execute(CREATE_TABLE); } catch (final SQLException e) { @@ -108,7 +108,7 @@ public class IPFilterPlugin implements Listener { private void checkAllPlayers () { if (localList.isEmpty()) return; - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { synchronized (bot.players.list) { for (final PlayerEntry entry : bot.players.list) check(entry); } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/MailPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/MailPlugin.java index d0a5e9aa..bf358bd9 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/MailPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/MailPlugin.java @@ -23,7 +23,7 @@ public class MailPlugin implements Listener { static { if (Main.database != null) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { Main.database.execute(CREATE_TABLE); } catch (final SQLException e) { @@ -45,7 +45,7 @@ public class MailPlugin implements Listener { @Override public void onPlayerJoined (final PlayerEntry target) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { final String name = target.profile.getName(); int sendToTargetSize = 0; diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayerFilterPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayerFilterPlugin.java index 19f55f59..e69a54a6 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayerFilterPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayerFilterPlugin.java @@ -27,7 +27,7 @@ public class PlayerFilterPlugin implements Listener { static { if (Main.database != null) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { Main.database.execute(CREATE_TABLE); } catch (final SQLException e) { @@ -127,7 +127,7 @@ public class PlayerFilterPlugin implements Listener { @Override public void onPlayerJoined (final PlayerEntry target) { - bot.executorService.submit(() -> { + bot.executorService.execute(() -> { final FilteredPlayer player = getPlayer(target.profile.getName()); if (player == null) return; 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 72c96964..063283c4 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersDatabasePlugin.java @@ -36,7 +36,7 @@ public class PlayersDatabasePlugin implements Listener { static { if (Main.database != null) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { Main.database.execute(CREATE_TABLE); } catch (final SQLException e) { @@ -138,7 +138,7 @@ public class PlayersDatabasePlugin implements Listener { @Override public void onPlayerJoined (final PlayerEntry target) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { final PreparedStatement insertPlayerStatement = Main.database.connection.prepareStatement(INSERT_PLAYER); @@ -163,7 +163,7 @@ public class PlayersDatabasePlugin implements Listener { @Override public void onQueriedPlayerIP (final PlayerEntry target, final String ip) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { try { final PreparedStatement updatePlayerStatement = Main.database.connection.prepareStatement(UPDATE_PLAYER); @@ -191,7 +191,7 @@ public class PlayersDatabasePlugin implements Listener { synchronized (bot.players.list) { final List clonedList = new ArrayList<>(bot.players.list); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { for (final PlayerEntry target : clonedList) { updateLastSeenEntry(target); } @@ -201,7 +201,7 @@ public class PlayersDatabasePlugin implements Listener { @Override public void onPlayerLeft (final PlayerEntry target) { - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> updateLastSeenEntry(target)); + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> updateLastSeenEntry(target)); } private void updateLastSeenEntry (final PlayerEntry target) { diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java index 45dc2b44..d45d269b 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PlayersPlugin.java @@ -96,7 +96,7 @@ public class PlayersPlugin implements Listener { public CompletableFuture getPlayerIP (final PlayerEntry target, final boolean forceSeen) { final CompletableFuture outputFuture = new CompletableFuture<>(); - DatabasePlugin.EXECUTOR_SERVICE.submit(() -> { + DatabasePlugin.EXECUTOR_SERVICE.execute(() -> { if (!forceSeen) { final String databaseIP = bot.playersDatabase.getPlayerIP(target.profile.getName());