diff options
Diffstat (limited to 'src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java index 7ef57727..c576f4f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -1,5 +1,6 @@ package org.bukkit.craftbukkit.command; +import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.logging.Level; @@ -8,6 +9,7 @@ import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.util.Waitable; import jline.console.completer.Completer; +import org.bukkit.event.server.TabCompleteEvent; public class ConsoleCommandCompleter implements Completer { private final CraftServer server; @@ -20,7 +22,12 @@ public class ConsoleCommandCompleter implements Completer { Waitable<List<String>> waitable = new Waitable<List<String>>() { @Override protected List<String> evaluate() { - return server.getCommandMap().tabComplete(server.getConsoleSender(), buffer); + List<String> offers = server.getCommandMap().tabComplete(server.getConsoleSender(), buffer); + + TabCompleteEvent tabEvent = new TabCompleteEvent(server.getConsoleSender(), buffer, offers); + server.getPluginManager().callEvent(tabEvent); + + return tabEvent.isCancelled() ? Collections.EMPTY_LIST : tabEvent.getCompletions(); } }; this.server.getServer().processQueue.add(waitable); |