From 66ee9a5ada9d5b78a500785e2fe41227f559b364 Mon Sep 17 00:00:00 2001 From: AlexProgrammerDE <40795980+AlexProgrammerDE@users.noreply.github.com> Date: Tue, 20 Feb 2024 19:20:35 +0100 Subject: [PATCH] Implement bot and attack suggestions --- .../soulfire/server/ServerCommandManager.java | 32 ++++++++++++++++--- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/pistonmaster/soulfire/server/ServerCommandManager.java b/src/main/java/net/pistonmaster/soulfire/server/ServerCommandManager.java index f116c3d8f..549c68b69 100644 --- a/src/main/java/net/pistonmaster/soulfire/server/ServerCommandManager.java +++ b/src/main/java/net/pistonmaster/soulfire/server/ServerCommandManager.java @@ -368,7 +368,7 @@ public void postConstruct() { literal("online") .executes( help( - "Shows connected bots from all attacks", + "Shows connected bots in attacks", c -> forEveryAttackEnsureHasBots( c, @@ -699,6 +699,18 @@ public void postConstruct() { literal("bot") .then( argument("bot_names", StringArgumentType.string()) + .suggests( + (c, b) -> { + forEveryBot( + c, + bot -> { + b.suggest(bot.meta().minecraftAccount().username()); + + return Command.SINGLE_SUCCESS; + }); + + return b.buildFuture(); + }) .forward( dispatcher.getRoot(), helpRedirect( @@ -715,6 +727,18 @@ public void postConstruct() { literal("attack") .then( argument("attack_ids", StringArgumentType.string()) + .suggests( + (c, b) -> { + forEveryAttack( + c, + attackManager -> { + b.suggest(attackManager.id()); + + return Command.SINGLE_SUCCESS; + }); + + return b.buildFuture(); + }) .forward( dispatcher.getRoot(), helpRedirect( @@ -938,9 +962,9 @@ private void getAllUsage( if (node.getCommand() != null) { var helpWrapper = (CommandHelpWrapper) node.getCommand(); - if (!helpWrapper.privateCommand()) { - result.add(new HelpData(prefix, helpWrapper.help())); - } + if (!helpWrapper.privateCommand()) { + result.add(new HelpData(prefix, helpWrapper.help())); + } } if (node.getRedirect() != null) {