From c8fbbce70e9249bc9b8dad74dfa4efe2ae2a2aac Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:33:19 +0100 Subject: [PATCH 1/9] Register new channel command --- .../spigotrce/paradiseclientfabric/command/CommandManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/CommandManager.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/CommandManager.java index c8c26d0..712d79a 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/CommandManager.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/CommandManager.java @@ -59,6 +59,7 @@ public void init() { register(new ECBCommand(minecraftClient)); register(new SignedVelocityCommand(minecraftClient)); register(new DumpCommand(minecraftClient)); + register(new ChannelCommand(minecraftClient)); // Register this command at the very end so it registers all commands in it From 9f0a36fb8b17764b6543531d011c287286d47aaf Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:36:20 +0100 Subject: [PATCH 2/9] Stock channels et and channel command --- .../command/impl/ChannelCommand.java | 47 +++++++++++++++++++ .../listener/ChannelListener.java | 33 +++++++++---- 2 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java new file mode 100644 index 0000000..4f386be --- /dev/null +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java @@ -0,0 +1,47 @@ +package io.github.spigotrce.paradiseclientfabric.command.impl; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import com.mojang.brigadier.builder.RequiredArgumentBuilder; +import com.mojang.brigadier.arguments.StringArgumentType; +import io.github.spigotrce.paradiseclientfabric.command.Command; +import io.github.spigotrce.paradiseclientfabric.listener.ChannelListener; +import io.github.spigotrce.paradiseclientfabric.Helper; +import net.minecraft.client.MinecraftClient; +import net.minecraft.command.CommandSource; + +/** + * Command to display and manage detected channels. + */ +public class ChannelCommand extends Command { + + public ChannelCommand(MinecraftClient minecraftClient) { + super("channels", "Displays and manages detected channels", minecraftClient); + } + + @Override + public LiteralArgumentBuilder build() { + return LiteralArgumentBuilder.literal(getName()) + .executes(context -> { + // Display the list of detected channels + if (ChannelListener.getDetectedChannels().isEmpty()) { + Helper.printChatMessage("&cNo channels detected at the moment."); + } else { + Helper.printChatMessage("&bList of detected channels:"); + for (String channel : ChannelListener.getDetectedChannels()) { + Helper.printChatMessage("&f- &d" + channel); + } + } + return SINGLE_SUCCESS; + }) + .then(LiteralArgumentBuilder.literal("add") + .then(RequiredArgumentBuilder.argument("channel", StringArgumentType.string()) + .executes(context -> { + String channelName = StringArgumentType.getString(context, "channel"); + ChannelListener.addChannel(channelName); + Helper.printChatMessage("&aChannel added: &d" + channelName); + return SINGLE_SUCCESS; + }) + ) + ); + } +} diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index eb0f171..0526d75 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -9,28 +9,41 @@ import net.minecraft.network.PacketByteBuf; import java.nio.charset.Charset; +import java.util.HashSet; import java.util.Objects; +import java.util.Set; public class ChannelListener implements Listener { + private static final Set detectedChannels = new HashSet<>(); // Stores detected channels + @SuppressWarnings("unused") @EventHandler public void onChannelRegister(PluginMessageEvent event) { String channelName = event.getChannel(); PacketByteBuf buf = event.getBuf(); + try { - if (Objects.equals(channelName, "minecraft:register") || Objects.equals(channelName, "REGISTER")) // 1.13 channel or 1.8 channel + if (Objects.equals(channelName, "minecraft:register") || Objects.equals(channelName, "REGISTER")) { for (String splitted : buf.toString(Charset.defaultCharset()).split("\000")) { - Helper.printChatMessage("&fChannel: &" + (ParadiseClient_Fabric.networkMod.getRegisteredChannelsByName().contains(splitted) ? "c " : "d ") + splitted); - if (ParadiseClient_Fabric.networkMod.getRegisteredChannelsByName().contains(splitted)) { - Helper.showNotification("Exploit found!", splitted); - } + detectedChannels.add(splitted); // Adds the channel to the list + Helper.printChatMessage("&fDetected channel: &d" + splitted); } - else - Helper.printChatMessage("&fChannel: &d" + channelName + " &fData: &d" + buf.toString(Charset.defaultCharset())); + } else { + detectedChannels.add(channelName); + Helper.printChatMessage("&fDetected channel: &d" + channelName); + } } catch (Exception e) { - Helper.printChatMessage("&4Error handling listener for payload for channel: " + channelName + " " + e.getMessage()); - Constants.LOGGER.error("&4Error handling listener for channel: {} {}", channelName, e); - + Helper.printChatMessage("&4Error handling listener for channel: " + channelName + " " + e.getMessage()); + Constants.LOGGER.error("&4Error on channel: {} {}", channelName, e); } } + + public static Set getDetectedChannels() { + return detectedChannels; + } + + public static void addChannel(String channelName) { + detectedChannels.add(channelName); + Helper.printChatMessage("&aManually added channel: &d" + channelName); + } } From 75fecd8513f9f33cf6c8e1ab90f966d8751c3697 Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 22:43:51 +0100 Subject: [PATCH 3/9] Stock channels et and channel command --- .../command/impl/ChannelCommand.java | 12 +----------- .../listener/ChannelListener.java | 5 ----- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java index 4f386be..d83047e 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java @@ -32,16 +32,6 @@ public LiteralArgumentBuilder build() { } } return SINGLE_SUCCESS; - }) - .then(LiteralArgumentBuilder.literal("add") - .then(RequiredArgumentBuilder.argument("channel", StringArgumentType.string()) - .executes(context -> { - String channelName = StringArgumentType.getString(context, "channel"); - ChannelListener.addChannel(channelName); - Helper.printChatMessage("&aChannel added: &d" + channelName); - return SINGLE_SUCCESS; - }) - ) - ); + }); } } diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index 0526d75..1836705 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -41,9 +41,4 @@ public void onChannelRegister(PluginMessageEvent event) { public static Set getDetectedChannels() { return detectedChannels; } - - public static void addChannel(String channelName) { - detectedChannels.add(channelName); - Helper.printChatMessage("&aManually added channel: &d" + channelName); - } } From 0a66c8d494a8627d41b7c037bb398e28c831cb9a Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:26:45 +0100 Subject: [PATCH 4/9] Clear Channel list when player disconnect --- .../paradiseclientfabric/ParadiseClient_Fabric.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java index ccbc12c..9937d58 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java @@ -70,6 +70,13 @@ public class ParadiseClient_Fabric implements ModInitializer { */ public static NetworkMod networkMod; + public static void init() { + // Ajoute un listener pour vider les channels à la déconnexion + ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { + ChannelListener.clearChannels(); + }); + } + public static void onClientInitialize() { initializeMods(); initializeManagers(); From e1dbf9f947d5463b4ee6d90ba91a8bc096ca350b Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:27:12 +0100 Subject: [PATCH 5/9] statit method for clear channel list --- .../paradiseclientfabric/listener/ChannelListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index 1836705..81d14da 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -41,4 +41,9 @@ public void onChannelRegister(PluginMessageEvent event) { public static Set getDetectedChannels() { return detectedChannels; } + + public static void clearChannels() { + detectedChannels.clear(); + Helper.printChatMessage("&cLes channels détectés ont été réinitialisés après la déconnexion."); + } } From 3e8555d019646f1f746c5c043f9ce52b09a3b771 Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:38:07 +0100 Subject: [PATCH 6/9] Channel clear when player disconnect --- .../spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java index 9937d58..00f9976 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java @@ -135,5 +135,8 @@ public void onInitialize() { while (paradiseCommandOpener.wasPressed()) MinecraftClient.getInstance().setScreen(new ChatScreen(ParadiseClient_Fabric.commandManager.prefix)); }); + ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { + ChannelListener.clearChannels(); + }); } } From e098dcda5a25ae7eabe5f021028ad968aeb8b189 Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:39:24 +0100 Subject: [PATCH 7/9] Add clear channels list when player disconnect --- .../paradiseclientfabric/ParadiseClient_Fabric.java | 8 +------- .../paradiseclientfabric/listener/ChannelListener.java | 2 +- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java index 00f9976..4425388 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/ParadiseClient_Fabric.java @@ -9,6 +9,7 @@ import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.option.KeyBinding; @@ -70,13 +71,6 @@ public class ParadiseClient_Fabric implements ModInitializer { */ public static NetworkMod networkMod; - public static void init() { - // Ajoute un listener pour vider les channels à la déconnexion - ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> { - ChannelListener.clearChannels(); - }); - } - public static void onClientInitialize() { initializeMods(); initializeManagers(); diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index 81d14da..3b86224 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -41,9 +41,9 @@ public void onChannelRegister(PluginMessageEvent event) { public static Set getDetectedChannels() { return detectedChannels; } - public static void clearChannels() { detectedChannels.clear(); Helper.printChatMessage("&cLes channels détectés ont été réinitialisés après la déconnexion."); + Constants.LOGGER.info("✅ Channels list cleared after disconnection."); } } From 11f2449c1bfae238d274af04d8fa0a41e9f87567 Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:41:36 +0100 Subject: [PATCH 8/9] Delete unused import --- .../paradiseclientfabric/command/impl/ChannelCommand.java | 2 -- .../paradiseclientfabric/listener/ChannelListener.java | 1 - 2 files changed, 3 deletions(-) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java index d83047e..274a2ca 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/command/impl/ChannelCommand.java @@ -1,8 +1,6 @@ package io.github.spigotrce.paradiseclientfabric.command.impl; import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import com.mojang.brigadier.builder.RequiredArgumentBuilder; -import com.mojang.brigadier.arguments.StringArgumentType; import io.github.spigotrce.paradiseclientfabric.command.Command; import io.github.spigotrce.paradiseclientfabric.listener.ChannelListener; import io.github.spigotrce.paradiseclientfabric.Helper; diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index 3b86224..128a434 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -4,7 +4,6 @@ import io.github.spigotrce.eventbus.event.listener.Listener; import io.github.spigotrce.paradiseclientfabric.Constants; import io.github.spigotrce.paradiseclientfabric.Helper; -import io.github.spigotrce.paradiseclientfabric.ParadiseClient_Fabric; import io.github.spigotrce.paradiseclientfabric.event.channel.PluginMessageEvent; import net.minecraft.network.PacketByteBuf; From 99e8b5c66611744259181fb49a9bc1c43a8a117b Mon Sep 17 00:00:00 2001 From: Zalgo-Dev <29240471+Zalgo-Dev@users.noreply.github.com> Date: Fri, 31 Jan 2025 23:43:34 +0100 Subject: [PATCH 9/9] Delete debug message --- .../paradiseclientfabric/listener/ChannelListener.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java index 128a434..d2acd7f 100644 --- a/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java +++ b/src/main/java/io/github/spigotrce/paradiseclientfabric/listener/ChannelListener.java @@ -25,11 +25,11 @@ public void onChannelRegister(PluginMessageEvent event) { if (Objects.equals(channelName, "minecraft:register") || Objects.equals(channelName, "REGISTER")) { for (String splitted : buf.toString(Charset.defaultCharset()).split("\000")) { detectedChannels.add(splitted); // Adds the channel to the list - Helper.printChatMessage("&fDetected channel: &d" + splitted); + Helper.printChatMessage("&fChannel: &d" + splitted); } } else { detectedChannels.add(channelName); - Helper.printChatMessage("&fDetected channel: &d" + channelName); + Helper.printChatMessage("&fChannel: &d" + channelName); } } catch (Exception e) { Helper.printChatMessage("&4Error handling listener for channel: " + channelName + " " + e.getMessage()); @@ -42,7 +42,5 @@ public static Set getDetectedChannels() { } public static void clearChannels() { detectedChannels.clear(); - Helper.printChatMessage("&cLes channels détectés ont été réinitialisés après la déconnexion."); - Constants.LOGGER.info("✅ Channels list cleared after disconnection."); } }