Fix completion of multiple arguments in Bukkit commands

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2018-07-16 21:03:46 +10:00
parent e64f8938ce
commit 55c801dcce
2 changed files with 85 additions and 0 deletions

View File

@@ -47,6 +47,11 @@ public class BukkitCommandWrapper implements com.mojang.brigadier.Command<Comman
@Override
public CompletableFuture<Suggestions> getSuggestions(CommandContext<CommandListenerWrapper> context, SuggestionsBuilder builder) throws CommandSyntaxException {
List<String> results = server.tabComplete(context.getSource().getBukkitSender(), builder.getInput(), context.getSource().getWorld(), context.getSource().getPosition(), true);
// These are normally only set based on sub nodes, but we have just one giant args node
builder.start = builder.getInput().lastIndexOf(' ') + 1;
builder.remaining = builder.getInput().substring(builder.start);
for (String s : results) {
builder.suggest(s);
}