diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index 437aac85b..86ba3c48d 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -58,6 +58,7 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.PluginCommand; import org.bukkit.command.SimpleCommandMap; +import org.bukkit.command.TabCompleter; import org.bukkit.command.defaults.VanillaCommand; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -336,6 +337,35 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials registerListeners(pm); } + @Override + public List onTabComplete(CommandSender sender, + Command command, + String commandLabel, + String[] args) + { + // Allow plugins to override the command via onCommand + if (!getSettings().isCommandOverridden(command.getName()) && (!commandLabel.startsWith("e") || commandLabel.equalsIgnoreCase(command.getName()))) + { + final PluginCommand pc = alternativeCommandsHandler.getAlternative(commandLabel); + if (pc != null) + { + try + { + TabCompleter completer = pc.getTabCompleter(); + if (completer != null) + { + return completer.onTabComplete(sender, command, commandLabel, args); + } + } + catch (final Exception ex) + { + Bukkit.getLogger().log(Level.SEVERE, ex.getMessage(), ex); + } + } + } + return null; + } + @Override public boolean onCommand(final CommandSender sender, final Command command, final String commandLabel, final String[] args) {