From 25c353f588794a7fdf9987e21e0ec9d2b5bd71ad Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 22 Feb 2025 13:45:00 +0700 Subject: [PATCH] refactor: ability to enable/disable PacketSnifferPlugin through servereval --- build-number.txt | 2 +- .../plugins/PacketSnifferPlugin.java | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/build-number.txt b/build-number.txt index 7dbc594e..54d8728c 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -1596 \ No newline at end of file +1601 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PacketSnifferPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PacketSnifferPlugin.java index 0975a319..a0d1c0e1 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PacketSnifferPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PacketSnifferPlugin.java @@ -15,14 +15,21 @@ import java.nio.file.StandardOpenOption; public class PacketSnifferPlugin extends Bot.Listener { private final Bot bot; - public final boolean enabled = false; + public boolean enabled = false; private BufferedWriter writer; + @SuppressWarnings("ConstantValue") // this can be set through servereval public PacketSnifferPlugin (Bot bot) { this.bot = bot; - if (!enabled) return; + if (enabled) enable(); + + bot.addListener(this); + } + + public void enable () { + enabled = true; final String name = String.format( "packets-%s-%s.log", @@ -39,12 +46,24 @@ public class PacketSnifferPlugin extends Bot.Listener { } catch (IOException e) { bot.logger.error(e); } + } - bot.addListener(this); + @SuppressWarnings("unused") + public void disable () { + enabled = false; + + try { + writer.flush(); + writer.close(); + } catch (IOException e) { + bot.logger.error(e); + } } @Override public void packetReceived(Session session, Packet packet) { + if (!enabled) return; + try { writer.write(packet.toString() + "\n"); writer.flush(); @@ -55,6 +74,8 @@ public class PacketSnifferPlugin extends Bot.Listener { @Override public void packetSending(PacketSendingEvent event) { + if (!enabled) return; + try { writer.write(event.getPacket().toString() + "\n"); writer.flush();