Update ChatEventListener.java
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user