diff --git a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/TabCompleteBlockerListener.java b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/TabCompleteBlockerListener.java index 0e3f06c..a924259 100644 --- a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/TabCompleteBlockerListener.java +++ b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/TabCompleteBlockerListener.java @@ -17,8 +17,15 @@ public class TabCompleteBlockerListener implements Listener { Player player = (Player) event.getSender(); if (player.hasPermission(CWPermission.BYPASS.permission())) return; String buffer = event.getBuffer(); - if (!buffer.endsWith(" ") && buffer.split(" ").length == 1) event.setCancelled(true); - if (event.getCompletions().isEmpty()) return; + if (!buffer.endsWith(" ") && buffer.split(" ").length == 1) { + CommandWhitelistBukkit.getConfigCache().debug("Actively prevented "+event.getSender().getName()+"'s tab completion (/[tab] packet)"); + event.setCancelled(true); + return; + } + if (event.getCompletions().isEmpty()) { + CommandWhitelistBukkit.getConfigCache().debug("Tab completion not provided"); + return; + } event.setCompletions( CommandUtil.filterSuggestions( buffer, diff --git a/CommandWhitelistCommon/src/main/java/eu/endermite/commandwhitelist/common/ConfigCache.java b/CommandWhitelistCommon/src/main/java/eu/endermite/commandwhitelist/common/ConfigCache.java index 9acf14b..1e94d28 100644 --- a/CommandWhitelistCommon/src/main/java/eu/endermite/commandwhitelist/common/ConfigCache.java +++ b/CommandWhitelistCommon/src/main/java/eu/endermite/commandwhitelist/common/ConfigCache.java @@ -17,6 +17,7 @@ public class ConfigCache { public String prefix, command_denied, no_permission, no_such_subcommand, config_reloaded, added_to_whitelist, removed_from_whitelist, group_doesnt_exist, subcommand_denied; public boolean useProtocolLib = false; + public boolean debug = false; public ConfigCache(File configFile, boolean canDoProtocolLib, Object logger) { this.configFile = configFile; @@ -91,6 +92,7 @@ public class ConfigCache { removed_from_whitelist = config.getString("messages.removed_from_whitelist"); group_doesnt_exist = config.getString("messages.group_doesnt_exist"); useProtocolLib = config.getBoolean("use_protocollib"); + debug = config.getBoolean("debug", false); ConfigSection groupSection = config.getConfigSection("groups"); for (String key : groupSection.getKeys(false)) { @@ -164,4 +166,20 @@ public class ConfigCache { } } + public void debug(String log) { + if (!debug) return; + if (logger == null) { + System.out.println("DEBUG: "+log); + return; + } + if (logger instanceof org.slf4j.Logger) { + ((org.slf4j.Logger) logger).info(log); + return; + } + if (logger instanceof java.util.logging.Logger) { + ((java.util.logging.Logger) logger).info(log); + return; + } + } + }