diff --git a/core/src/main/java/co/aikar/commands/BaseCommand.java b/core/src/main/java/co/aikar/commands/BaseCommand.java index 7dddc454..52fb329a 100644 --- a/core/src/main/java/co/aikar/commands/BaseCommand.java +++ b/core/src/main/java/co/aikar/commands/BaseCommand.java @@ -496,6 +496,7 @@ public abstract class BaseCommand { List getCommandsForCompletion(CommandIssuer issuer, String[] args) { final Set cmds = new HashSet<>(); + final int cmdIndex = Math.max(0, args.length - 1); String argString = ApacheCommonsLangUtil.join(args, " ").toLowerCase(); for (Map.Entry entry : subCommands.entries()) { final String key = entry.getKey(); @@ -506,7 +507,7 @@ public abstract class BaseCommand { } String[] split = ACFPatterns.SPACE.split(value.prefSubCommand); - cmds.add(split[args.length - 1]); + cmds.add(split[cmdIndex]); } } return new ArrayList<>(cmds); diff --git a/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java b/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java index f548f5a7..6e69daca 100644 --- a/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java +++ b/sponge/src/main/java/co/aikar/commands/SpongeRootCommand.java @@ -66,7 +66,7 @@ public class SpongeRootCommand implements CommandCallable, RootCommand { @Override public List getSuggestions(@NotNull CommandSource source, @NotNull String arguments, @Nullable Location location) throws CommandException { - String[] args = arguments.isEmpty() ? new String[0] : arguments.split(" "); + String[] args = arguments.isEmpty() ? new String[]{""} : arguments.split(" "); return getTabCompletions(manager.getCommandIssuer(source), this.name, args); }