From 37ce1a15a61da446218f644cbef49efa234bd53d Mon Sep 17 00:00:00 2001 From: "Blue (Lukas Rieger)" Date: Sun, 23 Aug 2020 14:04:42 +0200 Subject: [PATCH] Fix tab-completions on bukkit/spigot --- .../de/bluecolored/bluemap/bukkit/BukkitCommands.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/BlueMapBukkit/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java b/BlueMapBukkit/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java index 506300f1..0125dbf8 100644 --- a/BlueMapBukkit/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java +++ b/BlueMapBukkit/src/main/java/de/bluecolored/bluemap/bukkit/BukkitCommands.java @@ -72,7 +72,12 @@ public Collection getRootCommands(){ @EventHandler public void onTabComplete(TabCompleteEvent evt) { try { - Suggestions suggestions = dispatcher.getCompletionSuggestions(dispatcher.parse(evt.getBuffer().substring(1), evt.getSender())).get(100, TimeUnit.MILLISECONDS); + String input = evt.getBuffer(); + if (input.length() > 0 && input.charAt(0) == '/') { + input = input.substring(1); + } + + Suggestions suggestions = dispatcher.getCompletionSuggestions(dispatcher.parse(input, evt.getSender())).get(100, TimeUnit.MILLISECONDS); List completions = new ArrayList<>(); for (Suggestion suggestion : suggestions.getList()) { String text = suggestion.getText(); @@ -84,7 +89,7 @@ public void onTabComplete(TabCompleteEvent evt) { if (!completions.isEmpty()) { completions.sort((s1, s2) -> s1.compareToIgnoreCase(s2)); - evt.setCompletions(completions); + evt.getCompletions().addAll(completions); } } catch (InterruptedException ignore) { Thread.currentThread().interrupt();