From 08c31cf680a3d59edd2511d7d0946238bfc7070d Mon Sep 17 00:00:00 2001 From: minster586 <43217359+minster586@users.noreply.github.com> Date: Wed, 23 Jul 2025 19:30:17 -0400 Subject: [PATCH] somthing new not wong --- .../com/minster586/devmode/EventTracer.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/main/java/com/minster586/devmode/EventTracer.java diff --git a/src/main/java/com/minster586/devmode/EventTracer.java b/src/main/java/com/minster586/devmode/EventTracer.java new file mode 100644 index 0000000..43dfb2e --- /dev/null +++ b/src/main/java/com/minster586/devmode/EventTracer.java @@ -0,0 +1,57 @@ +package com.minster586.devmode; + +import org.bukkit.event.Listener; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.entity.Player; +import org.bukkit.entity.LivingEntity; + +public class EventTracer implements Listener { + + private final DevModeManager manager; + + public EventTracer(DevModeManager manager) { + this.manager = manager; + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onPlayerCommand(PlayerCommandPreprocessEvent event) { + if (!manager.isDevModeEnabled()) return; + if (!manager.isEventLoggingEnabled()) return; + + String player = event.getPlayer().getName(); + String command = event.getMessage(); + manager.getLogWriter().logToCategory("commands", "Command by " + player + ": " + command); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onInventoryClick(InventoryClickEvent event) { + if (!manager.isDevModeEnabled()) return; + if (!manager.isEventLoggingEnabled()) return; + if (!(event.getWhoClicked() instanceof Player)) return; + + Player player = (Player) event.getWhoClicked(); + String type = event.getInventory().getType().name(); + String slot = String.valueOf(event.getSlot()); + + manager.getLogWriter().logToCategory("events", + "InventoryClick by " + player.getName() + " in " + type + " at slot " + slot); + } + + @EventHandler(priority = EventPriority.MONITOR) + public void onEntityDeath(EntityDeathEvent event) { + if (!manager.isDevModeEnabled()) return; + if (!manager.isEventLoggingEnabled()) return; + if (!(event.getEntity() instanceof LivingEntity)) return; + if (event.getEntity().getKiller() == null) return; + + Player killer = event.getEntity().getKiller(); + String mob = event.getEntity().getType().name(); + + manager.getLogWriter().logToCategory("events", + "Mob killed: " + mob + " slain by " + killer.getName()); + } +}