From 7bc6b00af06765f5315cd2ff9d33ef0ee0adfd60 Mon Sep 17 00:00:00 2001 From: Xujiayao Date: Sun, 22 Mar 2026 17:53:25 +0800 Subject: [PATCH] Fix modifiers --- .../main/java/com/xujiayao/discord_mc_chat/Constants.java | 5 ++++- core/src/main/java/com/xujiayao/discord_mc_chat/DMCC.java | 5 ++++- .../com/xujiayao/discord_mc_chat/client/ClientDMCC.java | 2 +- .../com/xujiayao/discord_mc_chat/client/ClientHandler.java | 2 +- .../com/xujiayao/discord_mc_chat/client/NettyClient.java | 2 +- .../discord_mc_chat/commands/CommandAutoCompleter.java | 5 ++++- .../xujiayao/discord_mc_chat/commands/CommandManager.java | 5 ++++- .../discord_mc_chat/commands/impl/ConsoleCommand.java | 2 +- .../discord_mc_chat/commands/impl/ExecuteCommand.java | 2 +- .../xujiayao/discord_mc_chat/commands/impl/HelpCommand.java | 2 +- .../xujiayao/discord_mc_chat/commands/impl/InfoCommand.java | 2 +- .../xujiayao/discord_mc_chat/commands/impl/LinkCommand.java | 2 +- .../discord_mc_chat/commands/impl/LinksCommand.java | 2 +- .../xujiayao/discord_mc_chat/commands/impl/LogCommand.java | 2 +- .../discord_mc_chat/commands/impl/ReloadCommand.java | 2 +- .../discord_mc_chat/commands/impl/ShutdownCommand.java | 2 +- .../discord_mc_chat/commands/impl/StatsCommand.java | 2 +- .../discord_mc_chat/commands/impl/UnlinkCommand.java | 2 +- .../discord_mc_chat/commands/impl/WhitelistCommand.java | 2 +- .../xujiayao/discord_mc_chat/network/NetworkManager.java | 5 ++++- .../network/packets/auth/AuthResponsePacket.java | 2 +- .../network/packets/auth/ChallengePacket.java | 2 +- .../network/packets/auth/DisconnectPacket.java | 2 +- .../network/packets/auth/HandshakePacket.java | 2 +- .../network/packets/auth/LoginSuccessPacket.java | 2 +- .../commands/console/ConsoleAutoCompleteRequestPacket.java | 2 +- .../commands/console/ConsoleAutoCompleteResponsePacket.java | 2 +- .../packets/commands/console/ConsoleRequestPacket.java | 2 +- .../packets/commands/console/ConsoleResponsePacket.java | 2 +- .../commands/execute/ExecuteAutoCompleteRequestPacket.java | 2 +- .../commands/execute/ExecuteAutoCompleteResponsePacket.java | 2 +- .../packets/commands/execute/ExecuteRequestPacket.java | 2 +- .../packets/commands/execute/ExecuteResponsePacket.java | 2 +- .../network/packets/commands/info/InfoRequestPacket.java | 2 +- .../network/packets/commands/info/InfoResponsePacket.java | 2 +- .../network/packets/commands/link/LinkRequestPacket.java | 2 +- .../network/packets/commands/link/LinkResponsePacket.java | 2 +- .../network/packets/commands/link/OpSyncPacket.java | 2 +- .../packets/commands/unlink/UnlinkRequestPacket.java | 2 +- .../packets/commands/unlink/UnlinkResponsePacket.java | 2 +- .../network/packets/events/DiscordEventPacket.java | 2 +- .../network/packets/events/MinecraftEventPacket.java | 2 +- .../discord_mc_chat/network/packets/events/TextSegment.java | 2 +- .../network/packets/misc/KeepAlivePacket.java | 2 +- .../network/packets/misc/LatencyPingPacket.java | 2 +- .../network/packets/misc/LatencyPongPacket.java | 2 +- .../com/xujiayao/discord_mc_chat/server/NettyServer.java | 2 +- .../com/xujiayao/discord_mc_chat/server/ServerDMCC.java | 2 +- .../com/xujiayao/discord_mc_chat/server/ServerHandler.java | 2 +- .../discord_mc_chat/server/discord/DiscordEventHandler.java | 2 +- .../discord_mc_chat/server/discord/DiscordManager.java | 5 ++++- .../discord_mc_chat/server/discord/JdaCommandSender.java | 2 +- .../discord_mc_chat/server/discord/OpLevelResolver.java | 5 ++++- .../server/linking/LinkedAccountManager.java | 5 ++++- .../discord_mc_chat/server/linking/OpSyncManager.java | 5 ++++- .../server/linking/VerificationCodeManager.java | 5 ++++- .../server/message/DiscordMessageParser.java | 5 ++++- .../server/message/MinecraftMessageParser.java | 5 ++++- .../xujiayao/discord_mc_chat/standalone/StandaloneDMCC.java | 5 ++++- .../discord_mc_chat/standalone/TerminalManager.java | 5 ++++- .../xujiayao/discord_mc_chat/utils/EnvironmentUtils.java | 5 ++++- .../discord_mc_chat/utils/ExecutorServiceUtils.java | 5 ++++- .../java/com/xujiayao/discord_mc_chat/utils/HttpUtils.java | 5 ++++- .../java/com/xujiayao/discord_mc_chat/utils/JsonUtils.java | 5 ++++- .../com/xujiayao/discord_mc_chat/utils/LogFileUtils.java | 5 ++++- .../com/xujiayao/discord_mc_chat/utils/MojangUtils.java | 5 ++++- .../com/xujiayao/discord_mc_chat/utils/StringUtils.java | 5 ++++- .../java/com/xujiayao/discord_mc_chat/utils/YamlUtils.java | 5 ++++- .../discord_mc_chat/utils/config/ConfigManager.java | 5 ++++- .../xujiayao/discord_mc_chat/utils/config/ModeManager.java | 5 ++++- .../xujiayao/discord_mc_chat/utils/events/CoreEvents.java | 5 ++++- .../xujiayao/discord_mc_chat/utils/events/EventManager.java | 5 ++++- .../xujiayao/discord_mc_chat/utils/i18n/I18nManager.java | 5 ++++- .../com/xujiayao/discord_mc_chat/utils/logging/Logger.java | 2 +- .../discord_mc_chat/utils/logging/impl/LoggerFactory.java | 6 +++--- .../discord_mc_chat/utils/logging/impl/LoggerImpl.java | 2 +- .../discord_mc_chat/utils/logging/impl/ServiceProvider.java | 2 +- .../com/xujiayao/discord_mc_chat/minecraft/FabricDMCC.java | 2 +- .../xujiayao/discord_mc_chat/minecraft/NeoForgeDMCC.java | 2 +- .../minecraft/commands/MinecraftCommands.java | 5 ++++- .../minecraft/events/MinecraftEventHandler.java | 5 ++++- .../discord_mc_chat/minecraft/events/MinecraftEvents.java | 5 ++++- .../discord_mc_chat/minecraft/mixins/MixinCommands.java | 2 +- .../minecraft/mixins/MixinEmoteCommands.java | 2 +- .../minecraft/mixins/MixinGameModeCommand.java | 2 +- .../minecraft/mixins/MixinMinecraftServer.java | 2 +- .../discord_mc_chat/minecraft/mixins/MixinMsgCommand.java | 2 +- .../discord_mc_chat/minecraft/mixins/MixinPlayerList.java | 2 +- .../minecraft/mixins/MixinReloadableServerResources.java | 2 +- .../discord_mc_chat/minecraft/mixins/MixinSayCommand.java | 2 +- .../minecraft/mixins/MixinServerGamePacketListenerImpl.java | 2 +- .../discord_mc_chat/minecraft/mixins/MixinServerPlayer.java | 2 +- .../minecraft/mixins/MixinTellRawCommand.java | 2 +- .../minecraft/translations/TranslationManager.java | 5 ++++- 94 files changed, 189 insertions(+), 96 deletions(-) diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/Constants.java b/core/src/main/java/com/xujiayao/discord_mc_chat/Constants.java index c5d91433..823f1ac6 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/Constants.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/Constants.java @@ -14,7 +14,7 @@ import java.util.concurrent.atomic.AtomicBoolean; * * @author Xujiayao */ -public class Constants { +public final class Constants { public static final boolean IS_MINECRAFT_ENV = EnvironmentUtils.isMinecraftEnvironment(); @@ -33,4 +33,7 @@ public class Constants { // For DMCC Client use public static final AtomicBoolean OVERWRITE_MINECRAFT_SOURCE_MESSAGES = new AtomicBoolean(false); + + private Constants() { + } } diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/DMCC.java b/core/src/main/java/com/xujiayao/discord_mc_chat/DMCC.java index 74fee264..2c481f1a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/DMCC.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/DMCC.java @@ -24,11 +24,14 @@ import static com.xujiayao.discord_mc_chat.Constants.VERSION; * * @author Xujiayao */ -public class DMCC { +public final class DMCC { private static ServerDMCC serverInstance; private static ClientDMCC clientInstance; + private DMCC() { + } + /** * Initialize DMCC. Blocks until initialization is complete. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientDMCC.java b/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientDMCC.java index 94f06ca1..468da044 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientDMCC.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientDMCC.java @@ -14,7 +14,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class ClientDMCC { +public final class ClientDMCC { private final String host; private final int port; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientHandler.java b/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientHandler.java index bc446424..744ddd88 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientHandler.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/client/ClientHandler.java @@ -51,7 +51,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class ClientHandler extends SimpleChannelInboundHandler { +public final class ClientHandler extends SimpleChannelInboundHandler { private static final int CONSOLE_COMMAND_TIMEOUT_SECONDS = 10; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/client/NettyClient.java b/core/src/main/java/com/xujiayao/discord_mc_chat/client/NettyClient.java index c913ee98..88fdfcb5 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/client/NettyClient.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/client/NettyClient.java @@ -34,7 +34,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class NettyClient { +public final class NettyClient { private static final int MAX_RECONNECT_DELAY = 512; private final String host; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandAutoCompleter.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandAutoCompleter.java index 035d9f63..905af132 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandAutoCompleter.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandAutoCompleter.java @@ -17,7 +17,10 @@ import java.util.List; * * @author Xujiayao */ -public class CommandAutoCompleter { +public final class CommandAutoCompleter { + + private CommandAutoCompleter() { + } /** * Generates auto-complete suggestions based on the current input and sender's OP level. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandManager.java index 73e1265e..cc48eb15 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/CommandManager.java @@ -30,11 +30,14 @@ import java.util.concurrent.Executors; * * @author Xujiayao */ -public class CommandManager { +public final class CommandManager { private static final Map COMMANDS = new ConcurrentHashMap<>(); private static ExecutorService commandExecutor; + private CommandManager() { + } + /** * Initialize and register built-in commands based on the current operating mode. */ diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ConsoleCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ConsoleCommand.java index dcba811e..4605213e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ConsoleCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ConsoleCommand.java @@ -35,7 +35,7 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class ConsoleCommand implements Command { +public final class ConsoleCommand implements Command { private static final int CONSOLE_TIMEOUT_SECONDS = 30; private static final int LOCAL_COMMAND_TIMEOUT_SECONDS = 10; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ExecuteCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ExecuteCommand.java index ded3f4a5..b2f5096a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ExecuteCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ExecuteCommand.java @@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class ExecuteCommand implements Command { +public final class ExecuteCommand implements Command { private static final int EXECUTE_TIMEOUT_SECONDS = 30; private static final Map> pendingRequests = new ConcurrentHashMap<>(); diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/HelpCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/HelpCommand.java index 7b398b32..2207f3ee 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/HelpCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/HelpCommand.java @@ -20,7 +20,7 @@ import static com.xujiayao.discord_mc_chat.Constants.IS_MINECRAFT_ENV; * * @author Xujiayao */ -public class HelpCommand implements Command { +public final class HelpCommand implements Command { private static String padRight(String text, int width) { if (text.length() >= width) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/InfoCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/InfoCommand.java index e7f9a82a..211c0c54 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/InfoCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/InfoCommand.java @@ -24,7 +24,7 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class InfoCommand implements Command { +public final class InfoCommand implements Command { private static final int INFO_REQUEST_TIMEOUT_SECONDS = 3; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinkCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinkCommand.java index 983dc378..ec2bab9c 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinkCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinkCommand.java @@ -20,7 +20,7 @@ import com.xujiayao.discord_mc_chat.utils.i18n.I18nManager; * * @author Xujiayao */ -public class LinkCommand implements Command { +public final class LinkCommand implements Command { @Override public String name() { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinksCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinksCommand.java index 4343de31..b94b66da 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinksCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LinksCommand.java @@ -21,7 +21,7 @@ import java.util.Map; * * @author Xujiayao */ -public class LinksCommand implements Command { +public final class LinksCommand implements Command { private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") .withZone(ZoneId.systemDefault()); diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LogCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LogCommand.java index 0b643c18..1b23006a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LogCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/LogCommand.java @@ -13,7 +13,7 @@ import com.xujiayao.discord_mc_chat.utils.i18n.I18nManager; * * @author Xujiayao */ -public class LogCommand implements Command { +public final class LogCommand implements Command { @Override public String name() { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ReloadCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ReloadCommand.java index fed23b30..0a25eeb7 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ReloadCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ReloadCommand.java @@ -10,7 +10,7 @@ import com.xujiayao.discord_mc_chat.utils.i18n.I18nManager; * * @author Xujiayao */ -public class ReloadCommand implements Command { +public final class ReloadCommand implements Command { @Override public String name() { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ShutdownCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ShutdownCommand.java index c853abad..10b437b5 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ShutdownCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/ShutdownCommand.java @@ -13,7 +13,7 @@ import static com.xujiayao.discord_mc_chat.standalone.StandaloneDMCC.SHUTDOWN_TH * * @author Xujiayao */ -public class ShutdownCommand implements Command { +public final class ShutdownCommand implements Command { @Override public String name() { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/StatsCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/StatsCommand.java index 0207a786..d61d3bbc 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/StatsCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/StatsCommand.java @@ -19,7 +19,7 @@ import java.util.stream.Stream; * * @author Xujiayao */ -public class StatsCommand implements Command { +public final class StatsCommand implements Command { private static StatsProvider provider; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/UnlinkCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/UnlinkCommand.java index 6dd91ca2..0f88938f 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/UnlinkCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/UnlinkCommand.java @@ -16,7 +16,7 @@ import com.xujiayao.discord_mc_chat.utils.i18n.I18nManager; * * @author Xujiayao */ -public class UnlinkCommand implements Command { +public final class UnlinkCommand implements Command { @Override public String name() { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/WhitelistCommand.java b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/WhitelistCommand.java index ee43e009..959b5dc6 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/WhitelistCommand.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/commands/impl/WhitelistCommand.java @@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class WhitelistCommand implements Command { +public final class WhitelistCommand implements Command { private static final int WHITELIST_COMMAND_TIMEOUT_SECONDS = 10; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/NetworkManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/NetworkManager.java index 296470e0..37061b6b 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/NetworkManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/NetworkManager.java @@ -24,7 +24,7 @@ import java.util.function.Supplier; * * @author Xujiayao */ -public class NetworkManager { +public final class NetworkManager { private static final AtomicReference clientInstance = new AtomicReference<>(); @@ -43,6 +43,9 @@ public class NetworkManager { private static final Map> consoleAutoCompleteCache = new ConcurrentHashMap<>(); private static final Object consoleAutoCompleteLock = new Object(); + private NetworkManager() { + } + /** * Registers the client instance for network operations. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/AuthResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/AuthResponsePacket.java index 3b7a7864..0cb20341 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/AuthResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/AuthResponsePacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class AuthResponsePacket extends Packet { +public final class AuthResponsePacket extends Packet { public String hash; public AuthResponsePacket(String hash) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/ChallengePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/ChallengePacket.java index e3d1ec20..6fcbe552 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/ChallengePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/ChallengePacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ChallengePacket extends Packet { +public final class ChallengePacket extends Packet { public String salt; public ChallengePacket(String salt) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/DisconnectPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/DisconnectPacket.java index 92116e98..ef281bbb 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/DisconnectPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/DisconnectPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class DisconnectPacket extends Packet { +public final class DisconnectPacket extends Packet { public String key; public Object[] args; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/HandshakePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/HandshakePacket.java index 181338a0..b006e71e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/HandshakePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/HandshakePacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class HandshakePacket extends Packet { +public final class HandshakePacket extends Packet { public String serverName; public String dmccVersion; public String minecraftVersion; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/LoginSuccessPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/LoginSuccessPacket.java index 6cc09575..05770fa5 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/LoginSuccessPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/auth/LoginSuccessPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class LoginSuccessPacket extends Packet { +public final class LoginSuccessPacket extends Packet { public String language; public boolean overwriteMinecraftSourceMessages; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteRequestPacket.java index 4278da8c..27a8d220 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteRequestPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ConsoleAutoCompleteRequestPacket extends Packet { +public final class ConsoleAutoCompleteRequestPacket extends Packet { public String input; public int opLevel; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteResponsePacket.java index b6429756..513368a9 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleAutoCompleteResponsePacket.java @@ -9,7 +9,7 @@ import java.util.List; * * @author Xujiayao */ -public class ConsoleAutoCompleteResponsePacket extends Packet { +public final class ConsoleAutoCompleteResponsePacket extends Packet { public String serverName; public List suggestions; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleRequestPacket.java index 06254670..6171a5d4 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleRequestPacket.java @@ -12,7 +12,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ConsoleRequestPacket extends Packet { +public final class ConsoleRequestPacket extends Packet { public String requestId; public int opLevel; public String commandLine; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleResponsePacket.java index 1e0f0726..cb666c30 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/console/ConsoleResponsePacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ConsoleResponsePacket extends Packet { +public final class ConsoleResponsePacket extends Packet { public String requestId; public String response; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteRequestPacket.java index d097d95f..cfab89ff 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteRequestPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ExecuteAutoCompleteRequestPacket extends Packet { +public final class ExecuteAutoCompleteRequestPacket extends Packet { public String input; public int opLevel; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteResponsePacket.java index 0d0e0a44..8b994700 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteAutoCompleteResponsePacket.java @@ -9,7 +9,7 @@ import java.util.List; * * @author Xujiayao */ -public class ExecuteAutoCompleteResponsePacket extends Packet { +public final class ExecuteAutoCompleteResponsePacket extends Packet { public String serverName; public List suggestions; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteRequestPacket.java index 679f5b53..97d7c819 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteRequestPacket.java @@ -11,7 +11,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ExecuteRequestPacket extends Packet { +public final class ExecuteRequestPacket extends Packet { public String requestId; public int opLevel; public String command; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteResponsePacket.java index d0d7789b..fee4c5a4 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/execute/ExecuteResponsePacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class ExecuteResponsePacket extends Packet { +public final class ExecuteResponsePacket extends Packet { public String requestId; public String response; public byte[] fileData; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoRequestPacket.java index 7762b88f..5021d1b8 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoRequestPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class InfoRequestPacket extends Packet { +public final class InfoRequestPacket extends Packet { public long sentAtMillis; public InfoRequestPacket(long sentAtMillis) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoResponsePacket.java index 9fbb3459..f714054e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/info/InfoResponsePacket.java @@ -9,7 +9,7 @@ import java.util.Map; * * @author Xujiayao */ -public class InfoResponsePacket extends Packet { +public final class InfoResponsePacket extends Packet { public String serverName; public long connectionLatencyMillis; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkRequestPacket.java index 3c4c1f5a..69fe14e4 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkRequestPacket.java @@ -13,7 +13,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class LinkRequestPacket extends Packet { +public final class LinkRequestPacket extends Packet { public String minecraftUuid; public String playerName; public boolean joinCheck; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkResponsePacket.java index a798d24e..2a74f0c7 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/LinkResponsePacket.java @@ -10,7 +10,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class LinkResponsePacket extends Packet { +public final class LinkResponsePacket extends Packet { public String minecraftUuid; public String code; public boolean alreadyLinked; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/OpSyncPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/OpSyncPacket.java index b1dd29a2..f09a5351 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/OpSyncPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/link/OpSyncPacket.java @@ -12,7 +12,7 @@ import java.util.Map; * * @author Xujiayao */ -public class OpSyncPacket extends Packet { +public final class OpSyncPacket extends Packet { public Map opLevels; public OpSyncPacket(Map opLevels) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkRequestPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkRequestPacket.java index dd7a4f07..325296ef 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkRequestPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkRequestPacket.java @@ -9,7 +9,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class UnlinkRequestPacket extends Packet { +public final class UnlinkRequestPacket extends Packet { public String minecraftUuid; public String playerName; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkResponsePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkResponsePacket.java index f8eb291e..9b4c7df8 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkResponsePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/commands/unlink/UnlinkResponsePacket.java @@ -9,7 +9,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class UnlinkResponsePacket extends Packet { +public final class UnlinkResponsePacket extends Packet { public String minecraftUuid; public boolean success; public String discordName; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/DiscordEventPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/DiscordEventPacket.java index b447e86e..bee72470 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/DiscordEventPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/DiscordEventPacket.java @@ -14,7 +14,7 @@ import java.util.List; * * @author Xujiayao */ -public class DiscordEventPacket extends Packet { +public final class DiscordEventPacket extends Packet { /** * The type of Discord event. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/MinecraftEventPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/MinecraftEventPacket.java index cda0ce03..8859989a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/MinecraftEventPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/MinecraftEventPacket.java @@ -9,7 +9,7 @@ import java.util.Map; * * @author Xujiayao */ -public class MinecraftEventPacket extends Packet { +public final class MinecraftEventPacket extends Packet { public MessageType type; public Map placeholders; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/TextSegment.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/TextSegment.java index 5bcf71c1..0b54c1c9 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/TextSegment.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/events/TextSegment.java @@ -17,7 +17,7 @@ import java.util.List; * * @author Xujiayao */ -public class TextSegment implements Serializable { +public final class TextSegment implements Serializable { @Serial private static final long serialVersionUID = 1L; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/KeepAlivePacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/KeepAlivePacket.java index c1e60a52..0ce4b23c 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/KeepAlivePacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/KeepAlivePacket.java @@ -7,5 +7,5 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class KeepAlivePacket extends Packet { +public final class KeepAlivePacket extends Packet { } diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPingPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPingPacket.java index 45f9b5e6..fccfc5f3 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPingPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPingPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class LatencyPingPacket extends Packet { +public final class LatencyPingPacket extends Packet { public long sentAtMillis; public LatencyPingPacket(long sentAtMillis) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPongPacket.java b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPongPacket.java index 206002e1..acd7e859 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPongPacket.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/network/packets/misc/LatencyPongPacket.java @@ -7,7 +7,7 @@ import com.xujiayao.discord_mc_chat.network.packets.Packet; * * @author Xujiayao */ -public class LatencyPongPacket extends Packet { +public final class LatencyPongPacket extends Packet { public long sentAtMillis; public LatencyPongPacket(long sentAtMillis) { diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/NettyServer.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/NettyServer.java index 8cddc0df..570fea0e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/NettyServer.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/NettyServer.java @@ -26,7 +26,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class NettyServer { +public final class NettyServer { private final String host; private final int port; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerDMCC.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerDMCC.java index 7f89759e..cf97b521 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerDMCC.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerDMCC.java @@ -14,7 +14,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class ServerDMCC { +public final class ServerDMCC { private final String host; private final String sharedSecret; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerHandler.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerHandler.java index deba80b5..e03a7647 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerHandler.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/ServerHandler.java @@ -44,7 +44,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class ServerHandler extends SimpleChannelInboundHandler { +public final class ServerHandler extends SimpleChannelInboundHandler { private final NettyServer server; private String expectedNonce; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordEventHandler.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordEventHandler.java index 6b5f6c34..056c8d3c 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordEventHandler.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordEventHandler.java @@ -41,7 +41,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class DiscordEventHandler extends ListenerAdapter { +public final class DiscordEventHandler extends ListenerAdapter { private static final int AUTOCOMPLETE_TIMEOUT_SECONDS = 5; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordManager.java index 6a2447e5..13a6b0ce 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/DiscordManager.java @@ -47,13 +47,16 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class DiscordManager { +public final class DiscordManager { private static final Map DISCORD_NAME_CACHE = new ConcurrentHashMap<>(); private static JDA jda; private static ScheduledExecutorService statusUpdateExecutor; private static ScheduledFuture presenceUpdateTask; + private DiscordManager() { + } + /** * Initializes the Discord bot. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/JdaCommandSender.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/JdaCommandSender.java index 02ad089a..d757125f 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/JdaCommandSender.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/JdaCommandSender.java @@ -23,7 +23,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class JdaCommandSender implements CommandSender, LinkCommand.DiscordUserContextProvider { +public final class JdaCommandSender implements CommandSender, LinkCommand.DiscordUserContextProvider { private final SlashCommandInteractionEvent event; private final int opLevel; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/OpLevelResolver.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/OpLevelResolver.java index 2a5737c1..1ae8f70d 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/OpLevelResolver.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/discord/OpLevelResolver.java @@ -18,7 +18,10 @@ import java.util.List; * * @author Xujiayao */ -public class OpLevelResolver { +public final class OpLevelResolver { + + private OpLevelResolver() { + } /** * Resolves the top-level OP level for a Discord user (used by standalone/single_server). diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/LinkedAccountManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/LinkedAccountManager.java index 0efe8124..a5f6cf7a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/LinkedAccountManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/LinkedAccountManager.java @@ -28,7 +28,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class LinkedAccountManager { +public final class LinkedAccountManager { private static final Path LINKS_FILE = Paths.get("./config/discord_mc_chat/account_linking/links.json"); @@ -40,6 +40,9 @@ public class LinkedAccountManager { // Discord name resolver, set by the server module to avoid circular dependencies private static Function discordNameResolver; + private LinkedAccountManager() { + } + /** * Registers a function that resolves Discord user ID to username. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/OpSyncManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/OpSyncManager.java index c0fcf2e1..5aef0973 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/OpSyncManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/OpSyncManager.java @@ -33,11 +33,14 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class OpSyncManager { +public final class OpSyncManager { private static final ExecutorService SYNC_EXECUTOR = Executors.newSingleThreadExecutor(ExecutorServiceUtils.newThreadFactory("DMCC-OpSync")); + private OpSyncManager() { + } + /** * Performs a full OP level sync for all linked accounts. *

diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/VerificationCodeManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/VerificationCodeManager.java index 6c8e9a91..b0067a37 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/VerificationCodeManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/linking/VerificationCodeManager.java @@ -18,7 +18,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class VerificationCodeManager { +public final class VerificationCodeManager { private static final int CODE_LENGTH = 6; private static final long CODE_EXPIRY_MILLIS = 5 * 60 * 1000L; // 5 minutes @@ -31,6 +31,9 @@ public class VerificationCodeManager { // Minecraft UUID -> Code (for fast lookup by player UUID) private static final Map UUID_TO_CODE = new ConcurrentHashMap<>(); + private VerificationCodeManager() { + } + /** * Generates or refreshes a verification code for a Minecraft player. *

diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/DiscordMessageParser.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/DiscordMessageParser.java index b50bbdfd..7ae9966e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/DiscordMessageParser.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/DiscordMessageParser.java @@ -39,7 +39,7 @@ import java.util.regex.Pattern; * * @author Xujiayao */ -public class DiscordMessageParser { +public final class DiscordMessageParser { // Discord Markdown patterns private static final Pattern CODE_BLOCK_PATTERN = Pattern.compile("```(\\w*)\\n?([\\s\\S]*?)```"); @@ -102,6 +102,9 @@ public class DiscordMessageParser { private static final String EMBED_LABEL_PREFIX = " diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/MinecraftMessageParser.java b/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/MinecraftMessageParser.java index 96f650cf..874754e4 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/MinecraftMessageParser.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/server/message/MinecraftMessageParser.java @@ -5,5 +5,8 @@ package com.xujiayao.discord_mc_chat.server.message; * * @author Xujiayao */ -public class MinecraftMessageParser { +public final class MinecraftMessageParser { + + private MinecraftMessageParser() { + } } diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/StandaloneDMCC.java b/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/StandaloneDMCC.java index 4bf3b3f9..e3295e89 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/StandaloneDMCC.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/StandaloneDMCC.java @@ -8,7 +8,7 @@ import com.xujiayao.discord_mc_chat.utils.logging.impl.LoggerImpl; * * @author Xujiayao */ -public class StandaloneDMCC { +public final class StandaloneDMCC { public static final Thread SHUTDOWN_THREAD = new Thread(() -> { DMCC.shutdown(); @@ -17,6 +17,9 @@ public class StandaloneDMCC { LoggerImpl.shutdown(); }, "DMCC-ShutdownHook"); + private StandaloneDMCC() { + } + /** * Start Standalone DMCC. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/TerminalManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/TerminalManager.java index 3c409ea0..e06983c1 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/TerminalManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/standalone/TerminalManager.java @@ -20,10 +20,13 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class TerminalManager { +public final class TerminalManager { private static final Path LOG_CACHE_DIR = Paths.get("./config/discord_mc_chat/cache/log"); + private TerminalManager() { + } + /** * Initializes and starts the terminal. */ diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/EnvironmentUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/EnvironmentUtils.java index b95c806a..3a234ee3 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/EnvironmentUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/EnvironmentUtils.java @@ -12,7 +12,10 @@ import static com.xujiayao.discord_mc_chat.Constants.YAML_MAPPER; * * @author Xujiayao */ -public class EnvironmentUtils { +public final class EnvironmentUtils { + + private EnvironmentUtils() { + } /** * Check if running in a Minecraft environment. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/ExecutorServiceUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/ExecutorServiceUtils.java index 933c367c..cb3b2525 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/ExecutorServiceUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/ExecutorServiceUtils.java @@ -11,7 +11,10 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class ExecutorServiceUtils { +public final class ExecutorServiceUtils { + + private ExecutorServiceUtils() { + } /** * Creates a ThreadFactory that ensures all created threads inherit the current Mod ClassLoader. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/HttpUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/HttpUtils.java index e893bb52..1ccdd214 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/HttpUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/HttpUtils.java @@ -12,7 +12,10 @@ import static com.xujiayao.discord_mc_chat.Constants.OK_HTTP_CLIENT; * * @author Xujiayao */ -public class HttpUtils { +public final class HttpUtils { + + private HttpUtils() { + } /** * Performs a GET request to the specified URL and returns the response body as a string. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/JsonUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/JsonUtils.java index f2961ea6..ed861686 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/JsonUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/JsonUtils.java @@ -21,7 +21,10 @@ import static com.xujiayao.discord_mc_chat.Constants.YAML_MAPPER; * * @author Xujiayao */ -public class JsonUtils { +public final class JsonUtils { + + private JsonUtils() { + } /** * Converts a JSON String to a Map of String to String. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/LogFileUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/LogFileUtils.java index 71a1ec37..09c2c97e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/LogFileUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/LogFileUtils.java @@ -20,10 +20,13 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class LogFileUtils { +public final class LogFileUtils { private static final String LOGS_DIR = "./logs"; + private LogFileUtils() { + } + /** * Lists available log files in the given directory. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/MojangUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/MojangUtils.java index 6aab9107..c56b29d4 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/MojangUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/MojangUtils.java @@ -17,11 +17,14 @@ import static com.xujiayao.discord_mc_chat.Constants.JSON_MAPPER; * * @author Xujiayao */ -public class MojangUtils { +public final class MojangUtils { private static final String PROFILE_URL = "https://sessionserver.mojang.com/session/minecraft/profile/"; private static final Map NAME_CACHE = new ConcurrentHashMap<>(); + private MojangUtils() { + } + /** * Resolves a Minecraft player name from a UUID string, with an optional fallback name * for offline-mode UUIDs. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/StringUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/StringUtils.java index ae074bca..1bf3cf2e 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/StringUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/StringUtils.java @@ -5,7 +5,10 @@ package com.xujiayao.discord_mc_chat.utils; * * @author Xujiayao */ -public class StringUtils { +public final class StringUtils { + + private StringUtils() { + } /** * Escape special characters in strings. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/YamlUtils.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/YamlUtils.java index b4fe0fd5..f9c5364c 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/YamlUtils.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/YamlUtils.java @@ -15,7 +15,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class YamlUtils { +public final class YamlUtils { private static final List REQUIRED_MODIFIED_KEYS = List.of( "discord.bot.token", @@ -23,6 +23,9 @@ public class YamlUtils { "multi_server.connection.shared_secret" ); + private YamlUtils() { + } + /** * Validates the loaded config against the template with optional check for modification. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ConfigManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ConfigManager.java index dd219bd5..2dd7bde0 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ConfigManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ConfigManager.java @@ -23,11 +23,14 @@ import static com.xujiayao.discord_mc_chat.Constants.YAML_MAPPER; * * @author Xujiayao */ -public class ConfigManager { +public final class ConfigManager { private static final Path CONFIG_FILE_PATH = Paths.get("./config/discord_mc_chat/config.yml"); private static JsonNode config; + private ConfigManager() { + } + /** * Loads the configuration file based on the determined operating mode. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ModeManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ModeManager.java index 181f5c40..852482f7 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ModeManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/config/ModeManager.java @@ -21,13 +21,16 @@ import static com.xujiayao.discord_mc_chat.Constants.YAML_MAPPER; * * @author Xujiayao */ -public class ModeManager { +public final class ModeManager { private static final Path MODE_FILE_PATH = Paths.get("./config/discord_mc_chat/mode.yml"); private static final String MODE_TEMPLATE_PATH = "/config/mode.yml"; private static String mode = ""; + private ModeManager() { + } + /** * Loads and validates the mode from mode.yml. If the file does not exist, * it creates a default one and returns false to halt initialization. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/CoreEvents.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/CoreEvents.java index a6c06ce6..e8b94293 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/CoreEvents.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/CoreEvents.java @@ -15,7 +15,10 @@ import java.util.concurrent.CompletableFuture; * * @author Xujiayao */ -public class CoreEvents { +public final class CoreEvents { + + private CoreEvents() { + } /** * Posted when a Minecraft command needs to be executed on the local Minecraft server. diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/EventManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/EventManager.java index 7b90112c..570587bc 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/EventManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/events/EventManager.java @@ -10,10 +10,13 @@ import java.util.function.Consumer; * * @author Xujiayao */ -public class EventManager { +public final class EventManager { private static final ConcurrentHashMap, List>> handlers = new ConcurrentHashMap<>(); + private EventManager() { + } + /** * Register a handler for a specific event type. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/i18n/I18nManager.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/i18n/I18nManager.java index cd28da59..944290b1 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/i18n/I18nManager.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/i18n/I18nManager.java @@ -25,13 +25,16 @@ import static com.xujiayao.discord_mc_chat.Constants.YAML_MAPPER; * * @author Xujiayao */ -public class I18nManager { +public final class I18nManager { private static final Map DMCC_TRANSLATIONS = new HashMap<>(); private static final Path CUSTOM_MESSAGES_DIR = Paths.get("./config/discord_mc_chat/custom_messages"); private static String language = detectLanguage(); private static JsonNode customMessages; + private I18nManager() { + } + /** * Gets the currently selected language code. * diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/Logger.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/Logger.java index a1a73a1e..2e161e90 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/Logger.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/Logger.java @@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory; * * @author Xujiayao */ -public class Logger { +public final class Logger { private final org.slf4j.Logger logger; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerFactory.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerFactory.java index 015adcf1..2ccf4078 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerFactory.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerFactory.java @@ -18,9 +18,9 @@ import java.util.concurrent.ConcurrentMap; * @author Ceki Gülcü * @author Xujiayao */ -public class LoggerFactory implements ILoggerFactory { +public final class LoggerFactory implements ILoggerFactory { - ConcurrentMap loggerMap; + private final ConcurrentMap loggerMap; public LoggerFactory() { loggerMap = new ConcurrentHashMap<>(); @@ -45,7 +45,7 @@ public class LoggerFactory implements ILoggerFactory { * @param name The name of the logger to create * @return The newly created logger */ - protected Logger createLogger(String name) { + private Logger createLogger(String name) { return new LoggerImpl(name); } } diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerImpl.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerImpl.java index df83e622..292d980a 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerImpl.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/LoggerImpl.java @@ -22,7 +22,7 @@ import java.util.Map; * * @author Xujiayao */ -public class LoggerImpl implements Logger { +public final class LoggerImpl implements Logger { private static volatile PrintWriter fileWriter; private static boolean fileWriterInitialized = false; diff --git a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/ServiceProvider.java b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/ServiceProvider.java index 028987c9..b24889bd 100644 --- a/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/ServiceProvider.java +++ b/core/src/main/java/com/xujiayao/discord_mc_chat/utils/logging/impl/ServiceProvider.java @@ -18,7 +18,7 @@ import org.slf4j.spi.SLF4JServiceProvider; * @author Ceki Gülcü * @author Xujiayao */ -public class ServiceProvider implements SLF4JServiceProvider { +public final class ServiceProvider implements SLF4JServiceProvider { /** * Declare the version of the SLF4J API this implementation is compiled against. diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/FabricDMCC.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/FabricDMCC.java index 372b247d..fafdc736 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/FabricDMCC.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/FabricDMCC.java @@ -5,6 +5,6 @@ package com.xujiayao.discord_mc_chat.minecraft; * * @author Xujiayao */ -public class FabricDMCC { +public final class FabricDMCC { // TODO Fabric support will be added in the future. } diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/NeoForgeDMCC.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/NeoForgeDMCC.java index b970c940..05cc7e3b 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/NeoForgeDMCC.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/NeoForgeDMCC.java @@ -10,7 +10,7 @@ import net.neoforged.fml.common.Mod; * @author Xujiayao */ @Mod("discord_mc_chat") -public class NeoForgeDMCC { +public final class NeoForgeDMCC { /** * Start NeoForge DMCC. diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/commands/MinecraftCommands.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/commands/MinecraftCommands.java index 14708ed2..d8fb1f6a 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/commands/MinecraftCommands.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/commands/MinecraftCommands.java @@ -25,7 +25,10 @@ import static net.minecraft.commands.Commands.literal; * * @author Xujiayao */ -public class MinecraftCommands { +public final class MinecraftCommands { + + private MinecraftCommands() { + } /** * Registers /dmcc commands. diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEventHandler.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEventHandler.java index 37c1d619..68c6fc54 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEventHandler.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEventHandler.java @@ -72,11 +72,14 @@ import java.util.concurrent.TimeUnit; * * @author Xujiayao */ -public class MinecraftEventHandler { +public final class MinecraftEventHandler { private static final String DEFAULT_MENTION_STYLE = "title"; private static MinecraftServer serverInstance; + private MinecraftEventHandler() { + } + /** * Initializes the Minecraft event handlers. */ diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEvents.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEvents.java index c688897f..b6c1c8f5 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEvents.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/events/MinecraftEvents.java @@ -18,7 +18,10 @@ import net.minecraft.world.level.GameType; * * @author Xujiayao */ -public class MinecraftEvents { +public final class MinecraftEvents { + + private MinecraftEvents() { + } /** * Posted when the server is started. diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinCommands.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinCommands.java index ebc45890..9c3433cd 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinCommands.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinCommands.java @@ -17,7 +17,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(Commands.class) -public class MixinCommands { +public final class MixinCommands { @Shadow @Final diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinEmoteCommands.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinEmoteCommands.java index 56a9091b..025610e3 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinEmoteCommands.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinEmoteCommands.java @@ -16,7 +16,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(EmoteCommands.class) -public class MixinEmoteCommands { +public final class MixinEmoteCommands { @Inject(method = "lambda$register$0", at = @At("HEAD"), cancellable = true) private static void lambda$register$0(CommandContext commandContext, PlayerChatMessage playerChatMessage, CallbackInfo ci) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinGameModeCommand.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinGameModeCommand.java index de4efbe2..f903eba0 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinGameModeCommand.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinGameModeCommand.java @@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; * @author Xujiayao */ @Mixin(GameModeCommand.class) -public class MixinGameModeCommand { +public final class MixinGameModeCommand { @Inject(method = "setGameMode(Lnet/minecraft/commands/CommandSourceStack;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/world/level/GameType;)Z", at = @At("HEAD")) private static void setGameMode(CommandSourceStack commandSourceStack, ServerPlayer player, GameType gameType, CallbackInfoReturnable cir) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMinecraftServer.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMinecraftServer.java index 56b7c865..cf5faf99 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMinecraftServer.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMinecraftServer.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(MinecraftServer.class) -public class MixinMinecraftServer { +public final class MixinMinecraftServer { @Inject(method = "runServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/Util;getNanos()J", ordinal = 0)) private void serverStarted(CallbackInfo ci) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMsgCommand.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMsgCommand.java index 27a1730e..12f7ebec 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMsgCommand.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinMsgCommand.java @@ -20,7 +20,7 @@ import java.util.regex.Pattern; * @author Xujiayao */ @Mixin(MsgCommand.class) -public class MixinMsgCommand { +public final class MixinMsgCommand { @Unique private static final Pattern MSG_PATTERN = Pattern.compile("^(?:msg|tell|w) @a .*"); diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinPlayerList.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinPlayerList.java index 7bf6436a..abcfad00 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinPlayerList.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinPlayerList.java @@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(PlayerList.class) -public class MixinPlayerList { +public final class MixinPlayerList { @Inject(method = "placeNewPlayer", at = @At("RETURN")) private void placeNewPlayer(Connection connection, ServerPlayer serverPlayer, CommonListenerCookie commonListenerCookie, CallbackInfo ci) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinReloadableServerResources.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinReloadableServerResources.java index ee651787..73c75bb3 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinReloadableServerResources.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinReloadableServerResources.java @@ -12,7 +12,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; * @author Xujiayao */ @Mixin(ReloadableServerResources.class) -public class MixinReloadableServerResources { +public final class MixinReloadableServerResources { @Inject(method = "lambda$loadResources$2", at = @At("RETURN")) private static void loadResources(ReloadableServerResources reloadableserverresources, Void p_214306_, CallbackInfoReturnable cir) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinSayCommand.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinSayCommand.java index 5897df8b..57a80d75 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinSayCommand.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinSayCommand.java @@ -16,7 +16,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(SayCommand.class) -public class MixinSayCommand { +public final class MixinSayCommand { @Inject(method = "lambda$register$0", at = @At("HEAD"), cancellable = true) private static void lambda$register$0(CommandContext commandContext, PlayerChatMessage playerChatMessage, CallbackInfo ci) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerGamePacketListenerImpl.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerGamePacketListenerImpl.java index d12ac14d..f4fe2305 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerGamePacketListenerImpl.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerGamePacketListenerImpl.java @@ -18,7 +18,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(ServerGamePacketListenerImpl.class) -public class MixinServerGamePacketListenerImpl { +public final class MixinServerGamePacketListenerImpl { @Shadow public ServerPlayer player; diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerPlayer.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerPlayer.java index 4accc380..45907c63 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerPlayer.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinServerPlayer.java @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; * @author Xujiayao */ @Mixin(ServerPlayer.class) -public class MixinServerPlayer { +public final class MixinServerPlayer { @Inject(method = "die", at = @At("HEAD")) private void die(DamageSource damageSource, CallbackInfo ci) { diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinTellRawCommand.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinTellRawCommand.java index ba307ec5..9a681309 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinTellRawCommand.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/mixins/MixinTellRawCommand.java @@ -23,7 +23,7 @@ import java.util.regex.Pattern; * @author Xujiayao */ @Mixin(TellRawCommand.class) -public class MixinTellRawCommand { +public final class MixinTellRawCommand { @Unique private static final Pattern TELLRAW_PATTERN = Pattern.compile("^tellraw @a .*"); diff --git a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/translations/TranslationManager.java b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/translations/TranslationManager.java index 00b8e992..106b77fd 100644 --- a/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/translations/TranslationManager.java +++ b/minecraft/src/main/java/com/xujiayao/discord_mc_chat/minecraft/translations/TranslationManager.java @@ -34,7 +34,7 @@ import static com.xujiayao.discord_mc_chat.Constants.LOGGER; * * @author Xujiayao */ -public class TranslationManager { +public final class TranslationManager { private static final Map TRANSLATIONS = new HashMap<>(); private static final Path CACHE_DIR = Paths.get("./config/discord_mc_chat/cache/lang"); @@ -42,6 +42,9 @@ public class TranslationManager { private static String currentLoadedLanguage = ""; private static MinecraftServer server; + private TranslationManager() { + } + /** * Sets the Minecraft server instance. *