From 0395569064e7d4c0f04206860973697366882031 Mon Sep 17 00:00:00 2001 From: CellFone Date: Thu, 6 Feb 2025 09:45:28 -0600 Subject: [PATCH 1/7] Name Detect Command Added --- .../aabss/eventutils/commands/NameDetect.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/cc/aabss/eventutils/commands/NameDetect.java diff --git a/src/main/java/cc/aabss/eventutils/commands/NameDetect.java b/src/main/java/cc/aabss/eventutils/commands/NameDetect.java new file mode 100644 index 0000000..4ff6f74 --- /dev/null +++ b/src/main/java/cc/aabss/eventutils/commands/NameDetect.java @@ -0,0 +1,47 @@ +package cc.aabss.eventutils.commands; + +import com.mojang.brigadier.Command; +import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.arguments.StringArgumentType; +import com.mojang.brigadier.tree.LiteralCommandNode; + +import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.AbstractClientPlayerEntity; +import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.text.Text; + +import org.jetbrains.annotations.NotNull; + +public class NameDetectCommand { + public static void register(@NotNull CommandDispatcher dispatcher) { + // detectname command + final LiteralCommandNode detectName = ClientCommandManager + .literal("detectname") + .then(ClientCommandManager.argument("word", StringArgumentType.string()) + .executes(context -> { + String searchTerm = StringArgumentType.getString(context, "word").toLowerCase(); + detectName(context.getSource(), searchTerm); + return Command.SINGLE_SUCCESS; + })) + .build(); + + dispatcher.getRoot().addChild(detectName); + } + + private static void detectName(FabricClientCommandSource source, String searchTerm) { + MinecraftClient client = MinecraftClient.getInstance(); + if (client.player == null || client.player.networkHandler == null) return; + + // Get the list of online players and count those whose names contain the search term + long count = client.player.networkHandler.getPlayerList().stream() + .map(PlayerListEntry::getProfile) + .map(profile -> profile.getName().toLowerCase()) + .filter(name -> name.contains(searchTerm)) + .count(); + + // Send the result message to the player + source.getPlayer().sendMessage(Text.of("§7Found §4§o§l" + count + "§r§7 player(s) with '" + searchTerm + "' in their name."), false); + } +} From ed9a75d6edb80eccbb7719e2ed52bda646f67a21 Mon Sep 17 00:00:00 2001 From: CellFone Date: Thu, 6 Feb 2025 12:20:10 -0600 Subject: [PATCH 2/7] Update CommandRegister.java --- .../eventutils/commands/CommandRegister.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java index 437bb79..2c9e306 100644 --- a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java +++ b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java @@ -1,20 +1,15 @@ package cc.aabss.eventutils.commands; import cc.aabss.eventutils.EventType; - import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.tree.LiteralCommandNode; - import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; - import net.minecraft.client.network.AbstractClientPlayerEntity; - import org.jetbrains.annotations.NotNull; - public class CommandRegister { public static void register(@NotNull CommandDispatcher dispatcher) { // eventutils @@ -40,19 +35,21 @@ public static void register(@NotNull CommandDispatcher { + .executes(context -> { TeleportCmd.teleport(context, type); return 0; - })).build()); + }).build()); // eventutils pickup priority final LiteralCommandNode priority = ClientCommandManager .literal("priority") .then(ClientCommandManager.argument("player", StringArgumentType.word()) .suggests((context, builder) -> { - for (final AbstractClientPlayerEntity player : context.getSource().getWorld().getPlayers()) builder.suggest(player.getName().getString()); + for (final AbstractClientPlayerEntity player : context.getSource().getWorld().getPlayers()) + builder.suggest(player.getName().getString()); return builder.buildFuture(); }) .executes(context -> { @@ -67,16 +64,18 @@ public static void register(@NotNull CommandDispatcher priorityTop = ClientCommandManager .literal("prioritytop") .then(ClientCommandManager.argument("page", IntegerArgumentType.integer()) - .executes((context) -> { + .executes(context -> { PriorityCmd.priority(context, IntegerArgumentType.getInteger(context, "page")); return 0; - }) - ) + })) .executes(context -> { PriorityCmd.priority(context, 1); return 0; }).build(); + // Register detectname command + NameDetectCommand.register(dispatcher); + // Build command tree dispatcher.getRoot().addChild(main); main.addChild(config); From 24b0f8fc30bad43c8c4533a61b15560bd7cbb5e8 Mon Sep 17 00:00:00 2001 From: CellFone Date: Thu, 6 Feb 2025 12:28:06 -0600 Subject: [PATCH 3/7] Update CommandRegister.java --- .../eventutils/commands/CommandRegister.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java index 2c9e306..aa11c56 100644 --- a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java +++ b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java @@ -1,15 +1,20 @@ package cc.aabss.eventutils.commands; import cc.aabss.eventutils.EventType; + import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.arguments.IntegerArgumentType; import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.tree.LiteralCommandNode; + import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; + import net.minecraft.client.network.AbstractClientPlayerEntity; + import org.jetbrains.annotations.NotNull; + public class CommandRegister { public static void register(@NotNull CommandDispatcher dispatcher) { // eventutils @@ -35,13 +40,12 @@ public static void register(@NotNull CommandDispatcher { + .executes((context -> { TeleportCmd.teleport(context, type); return 0; - }).build()); + })).build()); // eventutils pickup priority final LiteralCommandNode priority = ClientCommandManager @@ -73,10 +77,15 @@ public static void register(@NotNull CommandDispatcher { + NameDetectCommand.detectName(context, StringArgumentType.getString(context, "word")); + return 0; + }))); + + // Register commands dispatcher.getRoot().addChild(main); main.addChild(config); main.addChild(teleport); From 74c04ce15214f71aa837c3ca9cc31655df2c93e4 Mon Sep 17 00:00:00 2001 From: CellFone Date: Thu, 6 Feb 2025 12:33:34 -0600 Subject: [PATCH 4/7] Update CommandRegister.java --- .../eventutils/commands/CommandRegister.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java index aa11c56..ba9a6dd 100644 --- a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java +++ b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java @@ -14,7 +14,6 @@ import org.jetbrains.annotations.NotNull; - public class CommandRegister { public static void register(@NotNull CommandDispatcher dispatcher) { // eventutils @@ -52,8 +51,7 @@ public static void register(@NotNull CommandDispatcher { - for (final AbstractClientPlayerEntity player : context.getSource().getWorld().getPlayers()) - builder.suggest(player.getName().getString()); + for (final AbstractClientPlayerEntity player : context.getSource().getWorld().getPlayers()) builder.suggest(player.getName().getString()); return builder.buildFuture(); }) .executes(context -> { @@ -68,28 +66,34 @@ public static void register(@NotNull CommandDispatcher priorityTop = ClientCommandManager .literal("prioritytop") .then(ClientCommandManager.argument("page", IntegerArgumentType.integer()) - .executes(context -> { + .executes((context) -> { PriorityCmd.priority(context, IntegerArgumentType.getInteger(context, "page")); return 0; - })) + }) + ) .executes(context -> { PriorityCmd.priority(context, 1); return 0; }).build(); // eventutils detectname - dispatcher.register(ClientCommandManager.literal("detectname") + final LiteralCommandNode detectname = ClientCommandManager + .literal("detectname") .then(ClientCommandManager.argument("word", StringArgumentType.string()) .executes(context -> { - NameDetectCommand.detectName(context, StringArgumentType.getString(context, "word")); + NameDetectCmd.detectName(context, StringArgumentType.getString(context, "word")); return 0; - }))); - - // Register commands + })) + .build(); + + // Build command tree dispatcher.getRoot().addChild(main); main.addChild(config); main.addChild(teleport); main.addChild(priority); main.addChild(priorityTop); + + // Register detectname command + dispatcher.getRoot().addChild(detectname); } } From acbd5f54e7bf3e5fc9956b8de20f5631c5bf1924 Mon Sep 17 00:00:00 2001 From: CellFone Date: Thu, 6 Feb 2025 12:35:34 -0600 Subject: [PATCH 5/7] Update and rename NameDetect.java to DetectNameCmd.java --- .../eventutils/commands/DetectNameCmd.java | 31 ++++++++++++ .../aabss/eventutils/commands/NameDetect.java | 47 ------------------- 2 files changed, 31 insertions(+), 47 deletions(-) create mode 100644 src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java delete mode 100644 src/main/java/cc/aabss/eventutils/commands/NameDetect.java diff --git a/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java b/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java new file mode 100644 index 0000000..43d7de8 --- /dev/null +++ b/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java @@ -0,0 +1,31 @@ +package cc.aabss.eventutils.commands; + +import com.mojang.brigadier.context.CommandContext; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.text.Text; +import org.jetbrains.annotations.NotNull; + +public class NameDetectCmd { + public static void detectName(@NotNull CommandContext context, String searchTerm) { + MinecraftClient client = MinecraftClient.getInstance(); + if (client.player == null || client.player.networkHandler == null) return; + + // Get the list of online players and count those whose names contain the search term + long count = client.player.networkHandler.getPlayerList().stream() + .map(PlayerListEntry::getProfile) + .map(profile -> profile.getName().toLowerCase()) + .filter(name -> name.contains(searchTerm.toLowerCase())) + .count(); + + // Send the result message to the player using components + context.getSource().getPlayer().sendMessage( + Text.literal("Found ") + .append(Text.literal(String.valueOf(count)).styled(style -> style.withBold(true).withColor(0xFF5555))) + .append(" player(s) with '") + .append(Text.literal(searchTerm).styled(style -> style.withItalic(true))) + .append("' in their name.") + ); + } +} diff --git a/src/main/java/cc/aabss/eventutils/commands/NameDetect.java b/src/main/java/cc/aabss/eventutils/commands/NameDetect.java deleted file mode 100644 index 4ff6f74..0000000 --- a/src/main/java/cc/aabss/eventutils/commands/NameDetect.java +++ /dev/null @@ -1,47 +0,0 @@ -package cc.aabss.eventutils.commands; - -import com.mojang.brigadier.Command; -import com.mojang.brigadier.CommandDispatcher; -import com.mojang.brigadier.arguments.StringArgumentType; -import com.mojang.brigadier.tree.LiteralCommandNode; - -import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager; -import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.AbstractClientPlayerEntity; -import net.minecraft.client.network.PlayerListEntry; -import net.minecraft.text.Text; - -import org.jetbrains.annotations.NotNull; - -public class NameDetectCommand { - public static void register(@NotNull CommandDispatcher dispatcher) { - // detectname command - final LiteralCommandNode detectName = ClientCommandManager - .literal("detectname") - .then(ClientCommandManager.argument("word", StringArgumentType.string()) - .executes(context -> { - String searchTerm = StringArgumentType.getString(context, "word").toLowerCase(); - detectName(context.getSource(), searchTerm); - return Command.SINGLE_SUCCESS; - })) - .build(); - - dispatcher.getRoot().addChild(detectName); - } - - private static void detectName(FabricClientCommandSource source, String searchTerm) { - MinecraftClient client = MinecraftClient.getInstance(); - if (client.player == null || client.player.networkHandler == null) return; - - // Get the list of online players and count those whose names contain the search term - long count = client.player.networkHandler.getPlayerList().stream() - .map(PlayerListEntry::getProfile) - .map(profile -> profile.getName().toLowerCase()) - .filter(name -> name.contains(searchTerm)) - .count(); - - // Send the result message to the player - source.getPlayer().sendMessage(Text.of("§7Found §4§o§l" + count + "§r§7 player(s) with '" + searchTerm + "' in their name."), false); - } -} From d81eabbd7102d35bb61b54c2b8432db4d1fa2c5c Mon Sep 17 00:00:00 2001 From: CellFone Date: Fri, 7 Feb 2025 14:46:11 -0600 Subject: [PATCH 6/7] Update CommandRegister.java --- .../eventutils/commands/CommandRegister.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java index ba9a6dd..1b144fe 100644 --- a/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java +++ b/src/main/java/cc/aabss/eventutils/commands/CommandRegister.java @@ -77,14 +77,17 @@ public static void register(@NotNull CommandDispatcher detectname = ClientCommandManager - .literal("detectname") - .then(ClientCommandManager.argument("word", StringArgumentType.string()) - .executes(context -> { - NameDetectCmd.detectName(context, StringArgumentType.getString(context, "word")); - return 0; - })) - .build(); + final LiteralCommandNode detectName = ClientCommandManager + .literal("detectname") + .then(ClientCommandManager.argument("word", StringArgumentType.string()) + .executes(context -> { + DetectNameCmd.detectName(context, StringArgumentType.getString(context, "word")); + return 0; + })) + .executes(context -> { + context.getSource().sendFeedback(Text.literal("Usage: /detectname ").formatted(Formatting.RED)); + return 0; + }).build(); // Build command tree dispatcher.getRoot().addChild(main); @@ -92,8 +95,6 @@ public static void register(@NotNull CommandDispatcher Date: Fri, 7 Feb 2025 14:48:04 -0600 Subject: [PATCH 7/7] Update DetectNameCmd.java --- .../eventutils/commands/DetectNameCmd.java | 43 +++++++++++-------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java b/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java index 43d7de8..e0b1f96 100644 --- a/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java +++ b/src/main/java/cc/aabss/eventutils/commands/DetectNameCmd.java @@ -1,31 +1,40 @@ package cc.aabss.eventutils.commands; import com.mojang.brigadier.context.CommandContext; +import com.mojang.brigadier.arguments.StringArgumentType; import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; +import net.minecraft.util.Formatting; import org.jetbrains.annotations.NotNull; -public class NameDetectCmd { +import java.util.List; + +public class DetectNameCmd { public static void detectName(@NotNull CommandContext context, String searchTerm) { - MinecraftClient client = MinecraftClient.getInstance(); - if (client.player == null || client.player.networkHandler == null) return; + final MinecraftClient client = context.getSource().getClient(); + client.send(() -> { + if (client.player == null || client.player.networkHandler == null) { + context.getSource().sendFeedback(Text.literal("No players found!").formatted(Formatting.RED)); + return; + } + + final List players = client.player.networkHandler.getPlayerList(); + final long count = players.stream() + .map(entry -> entry.getProfile().getName().toLowerCase()) + .filter(name -> name.contains(searchTerm.toLowerCase())) + .count(); - // Get the list of online players and count those whose names contain the search term - long count = client.player.networkHandler.getPlayerList().stream() - .map(PlayerListEntry::getProfile) - .map(profile -> profile.getName().toLowerCase()) - .filter(name -> name.contains(searchTerm.toLowerCase())) - .count(); + MutableText message = Text.literal("Found ") + .append(Text.literal(String.valueOf(count)).formatted(Formatting.RED, Formatting.BOLD, Formatting.ITALIC)) + .append(Text.literal(" player(s) with '").formatted(Formatting.GRAY)) + .append(Text.literal(searchTerm).formatted(Formatting.WHITE)) + .append(Text.literal("' in their name.").formatted(Formatting.GRAY)); - // Send the result message to the player using components - context.getSource().getPlayer().sendMessage( - Text.literal("Found ") - .append(Text.literal(String.valueOf(count)).styled(style -> style.withBold(true).withColor(0xFF5555))) - .append(" player(s) with '") - .append(Text.literal(searchTerm).styled(style -> style.withItalic(true))) - .append("' in their name.") - ); + context.getSource().sendFeedback(message); + }); } }