From faba3d112b046826b3cacf5888401adb1c70ad2a Mon Sep 17 00:00:00 2001 From: Xujiayao Date: Fri, 20 Mar 2026 10:45:04 +0800 Subject: [PATCH] Add all Minecraft Events --- .../events/MinecraftEventHandler.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) 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 fdd79917..b31652c1 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 @@ -214,6 +214,62 @@ public class MinecraftEventHandler { NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.PLAYER_CHANGE_GAME_MODE, placeholders)); }); + EventManager.register(MinecraftEvents.PlayerChat.class, event -> { + Map placeholders = Map.of( + "user_name", event.serverPlayer().getName().getString(), + "display_name", event.serverPlayer().getDisplayName().getString(), + "message", TranslationManager.get(event.playerChatMessage().decoratedContent()) + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.PLAYER_CHAT, placeholders)); + }); + + EventManager.register(MinecraftEvents.PlayerCommand.class, event -> { + Map placeholders = Map.of( + "user_name", event.serverPlayer().getName().getString(), + "display_name", event.serverPlayer().getDisplayName().getString(), + "command", "/" + event.command() + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.PLAYER_COMMAND, placeholders)); + }); + + EventManager.register(MinecraftEvents.SourceSay.class, event -> { + Map placeholders = Map.of( + "user_name", event.commandContext().getSource().getTextName(), + "display_name", event.commandContext().getSource().getDisplayName().getString(), + "message", TranslationManager.get(event.playerChatMessage().decoratedContent()) + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.SOURCE_SAY, placeholders)); + }); + + EventManager.register(MinecraftEvents.SourceTellRaw.class, event -> { + String input = event.commandContext().getInput(); + String rawMessage = input.substring("tellraw @a ".length()); + Map placeholders = Map.of( + "user_name", event.commandContext().getSource().getTextName(), + "display_name", event.commandContext().getSource().getDisplayName().getString(), + "message", rawMessage + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.SOURCE_TELL_RAW, placeholders)); + }); + + EventManager.register(MinecraftEvents.SourceMsg.class, event -> { + Map placeholders = Map.of( + "user_name", event.commandContext().getSource().getTextName(), + "display_name", event.commandContext().getSource().getDisplayName().getString(), + "message", TranslationManager.get(event.playerChatMessage().decoratedContent()) + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.SOURCE_MSG, placeholders)); + }); + + EventManager.register(MinecraftEvents.SourceMe.class, event -> { + Map placeholders = Map.of( + "user_name", event.commandContext().getSource().getTextName(), + "display_name", event.commandContext().getSource().getDisplayName().getString(), + "action", TranslationManager.get(event.playerChatMessage().decoratedContent()) + ); + NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.SOURCE_ME, placeholders)); + }); + EventManager.register(MinecraftEvents.CommandRegister.class, event -> { // Register Minecraft /dmcc commands MinecraftCommands.register(event.dispatcher());