From 8190c96d1ca28460e837f6897a605430736f5ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20S=C3=B6derberg?= Date: Thu, 17 Sep 2020 14:56:07 +0200 Subject: [PATCH] Add "literal" helper method to command builder --- .../java/com/intellectualsites/commands/Command.java | 12 ++++++++++++ .../commands/CommandSuggestionsTest.java | 7 +++---- .../intellectualsites/commands/CommandTreeTest.java | 7 +++---- .../com/intellectualsites/commands/BukkitTest.java | 7 +++---- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/cloud-core/src/main/java/com/intellectualsites/commands/Command.java b/cloud-core/src/main/java/com/intellectualsites/commands/Command.java index 701b84a8..1562db03 100644 --- a/cloud-core/src/main/java/com/intellectualsites/commands/Command.java +++ b/cloud-core/src/main/java/com/intellectualsites/commands/Command.java @@ -253,6 +253,18 @@ public class Command { this.commandExecutionHandler, this.commandPermission); } + /** + * Inserts a required {@link StaticArgument} into the command chain + * + * @param main Main argument name + * @param aliases Argument aliases + * @return New builder instance with the modified command chain + */ + @Nonnull + public Builder literal(@Nonnull final String main, @Nonnull final String... aliases) { + return this.argument(StaticArgument.required(main, aliases)); + } + /** * Add a new command argument to the command * diff --git a/cloud-core/src/test/java/com/intellectualsites/commands/CommandSuggestionsTest.java b/cloud-core/src/test/java/com/intellectualsites/commands/CommandSuggestionsTest.java index 34529523..1d28fb58 100644 --- a/cloud-core/src/test/java/com/intellectualsites/commands/CommandSuggestionsTest.java +++ b/cloud-core/src/test/java/com/intellectualsites/commands/CommandSuggestionsTest.java @@ -23,7 +23,6 @@ // package com.intellectualsites.commands; -import com.intellectualsites.commands.arguments.StaticArgument; import com.intellectualsites.commands.arguments.standard.EnumArgument; import com.intellectualsites.commands.arguments.standard.StringArgument; import com.intellectualsites.commands.meta.SimpleCommandMeta; @@ -42,10 +41,10 @@ public class CommandSuggestionsTest { @BeforeAll static void setupManager() { manager = new TestCommandManager(); - manager.command(manager.commandBuilder("test").argument(StaticArgument.required("one")).build()); - manager.command(manager.commandBuilder("test").argument(StaticArgument.required("two")).build()); + manager.command(manager.commandBuilder("test").literal("one").build()); + manager.command(manager.commandBuilder("test").literal("two").build()); manager.command(manager.commandBuilder("test") - .argument(StaticArgument.required("var")) + .literal("var") .argument(StringArgument.newBuilder("str") .withSuggestionsProvider((c, s) -> Arrays.asList("one", "two")) .build()) diff --git a/cloud-core/src/test/java/com/intellectualsites/commands/CommandTreeTest.java b/cloud-core/src/test/java/com/intellectualsites/commands/CommandTreeTest.java index 4e6e629f..470f355f 100644 --- a/cloud-core/src/test/java/com/intellectualsites/commands/CommandTreeTest.java +++ b/cloud-core/src/test/java/com/intellectualsites/commands/CommandTreeTest.java @@ -23,7 +23,6 @@ // package com.intellectualsites.commands; -import com.intellectualsites.commands.arguments.StaticArgument; import com.intellectualsites.commands.arguments.standard.IntegerArgument; import com.intellectualsites.commands.context.CommandContext; import com.intellectualsites.commands.exceptions.NoPermissionException; @@ -47,12 +46,12 @@ class CommandTreeTest { static void newTree() { manager = new TestCommandManager(); manager.command(manager.commandBuilder("test", SimpleCommandMeta.empty()) - .argument(StaticArgument.required("one")).build()) + .literal("one").build()) .command(manager.commandBuilder("test", SimpleCommandMeta.empty()) - .argument(StaticArgument.required("two")).withPermission("no").build()) + .literal("two").withPermission("no").build()) .command(manager.commandBuilder("test", Collections.singleton("other"), SimpleCommandMeta.empty()) - .argument(StaticArgument.required("opt", "öpt")) + .literal("opt", "öpt") .argument(IntegerArgument .optional("num", EXPECTED_INPUT_NUMBER)) .build()) diff --git a/cloud-minecraft/cloud-bukkit-test/src/main/java/com/intellectualsites/commands/BukkitTest.java b/cloud-minecraft/cloud-bukkit-test/src/main/java/com/intellectualsites/commands/BukkitTest.java index 87cfe419..4fe3d555 100644 --- a/cloud-minecraft/cloud-bukkit-test/src/main/java/com/intellectualsites/commands/BukkitTest.java +++ b/cloud-minecraft/cloud-bukkit-test/src/main/java/com/intellectualsites/commands/BukkitTest.java @@ -23,7 +23,6 @@ // package com.intellectualsites.commands; -import com.intellectualsites.commands.arguments.StaticArgument; import com.intellectualsites.commands.arguments.parser.ArgumentParseResult; import com.intellectualsites.commands.arguments.standard.BooleanArgument; import com.intellectualsites.commands.arguments.standard.DoubleArgument; @@ -87,7 +86,7 @@ public final class BukkitTest extends JavaPlugin { .orElse(GameMode.SURVIVAL))) .build()) .command(mgr.commandBuilder("kenny") - .argument(StaticArgument.required("sux")) + .literal("sux") .argument(IntegerArgument .newBuilder("perc") .withMin(PERC_MIN).withMax(PERC_MAX).build()) @@ -99,11 +98,11 @@ public final class BukkitTest extends JavaPlugin { }) .build()) .command(mgr.commandBuilder("test") - .argument(StaticArgument.required("one")) + .literal("one") .handler(c -> c.getSender().sendMessage("One!")) .build()) .command(mgr.commandBuilder("test") - .argument(StaticArgument.required("two")) + .literal("two") .handler(c -> c.getSender().sendMessage("Two!")) .build()) .command(mgr.commandBuilder("uuidtest")