mirror of
https://github.com/System-End/Discord-MC-Chat.git
synced 2026-04-19 18:35:15 +00:00
新增玩家加入和退出事件的处理
This commit is contained in:
parent
663245a61e
commit
f50e29ad45
2 changed files with 21 additions and 0 deletions
|
|
@ -63,8 +63,13 @@ public class ServerHandler extends SimpleChannelInboundHandler<Packet> {
|
|||
switch (packet) {
|
||||
case MinecraftEventPacket p -> {
|
||||
switch (p.type) {
|
||||
// Server events
|
||||
case SERVER_STARTED -> DiscordManager.clientBroadcast(clientName, "server.started", "server.start", false, p.placeholders);
|
||||
case SERVER_STOPPING -> DiscordManager.clientBroadcast(clientName, "server.stopped", "server.stop", false, p.placeholders);
|
||||
// Player events
|
||||
case PLAYER_JOIN -> DiscordManager.clientBroadcast(clientName, "player.join", "player.join", false, p.placeholders);
|
||||
case PLAYER_QUIT -> DiscordManager.clientBroadcast(clientName, "player.quit", "player.quit", false, p.placeholders);
|
||||
// Unhandled events
|
||||
default -> LOGGER.warn("Received MinecraftEventPacket from authenticated client {}: type={}, placeholders={}", clientName, p.type, p.placeholders);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,22 @@ public class MinecraftEventHandler {
|
|||
DMCC.shutdown();
|
||||
});
|
||||
|
||||
EventManager.register(MinecraftEvents.PlayerJoin.class, event -> {
|
||||
Map<String, String> placeholders = Map.of(
|
||||
"user_name", event.serverPlayer().getName().getString(),
|
||||
"display_name", event.serverPlayer().getDisplayName().getString()
|
||||
);
|
||||
NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.PLAYER_JOIN, placeholders));
|
||||
});
|
||||
|
||||
EventManager.register(MinecraftEvents.PlayerQuit.class, event -> {
|
||||
Map<String, String> placeholders = Map.of(
|
||||
"user_name", event.serverPlayer().getName().getString(),
|
||||
"display_name", event.serverPlayer().getDisplayName().getString()
|
||||
);
|
||||
NetworkManager.sendPacketToServer(new MinecraftEventPacket(MinecraftEventPacket.MessageType.PLAYER_QUIT, placeholders));
|
||||
});
|
||||
|
||||
EventManager.register(MinecraftEvents.CommandRegister.class, event -> {
|
||||
// Register Minecraft /dmcc commands
|
||||
MinecraftCommands.register(event.dispatcher());
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue