Update ChatEventListener.java

This commit is contained in:
minster586
2025-07-23 18:25:09 -04:00
parent e068bf6aaa
commit 951b4c1a26

View File

@@ -1 +1,48 @@
package com.minster586.devmode;
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.EventPriority;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import java.util.stream.Collectors;
public class ChatEventListener implements Listener {
private final DevModeManager manager;
public ChatEventListener(DevModeManager manager) {
this.manager = manager;
}
@EventHandler(priority = EventPriority.MONITOR)
public void onPlayerChat(AsyncPlayerChatEvent event) {
if (!manager.isDevModeEnabled()) return;
String sender = event.getPlayer().getName();
boolean isCancelled = event.isCancelled();
String message = event.getMessage();
String recipients = event.getRecipients().stream()
.map(Player::getName)
.collect(Collectors.joining(", "));
StringBuilder log = new StringBuilder();
log.append("[DevMode] CHAT EVENT:\n");
log.append(" Sender: ").append(sender).append("\n");
log.append(" Message: \"").append(message).append("\"\n");
if (isCancelled) {
log.append(" Status: CANCELLED\n");
log.append(" Reason: Message was blocked (possible plugin interference)\n");
} else {
log.append(" Status: Delivered\n");
log.append(" Recipients: ").append(recipients.isEmpty() ? "None" : recipients).append("\n");
}
System.out.println(log.toString());
// Eventually this will route to LogWriter once wired up
}
}