diff --git a/CommandWhitelistBukkit/pom.xml b/CommandWhitelistBukkit/pom.xml index c67b3db..70b8fc1 100644 --- a/CommandWhitelistBukkit/pom.xml +++ b/CommandWhitelistBukkit/pom.xml @@ -6,7 +6,7 @@ eu.endermite.commandwhitelist CommandWhitelist - 2.0 + 2.1 Bukkit diff --git a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/CommandWhitelistBukkit.java b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/CommandWhitelistBukkit.java index eb997b9..e4d8e31 100644 --- a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/CommandWhitelistBukkit.java +++ b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/CommandWhitelistBukkit.java @@ -48,9 +48,9 @@ public class CommandWhitelistBukkit extends JavaPlugin { // Use paper's async tab completions if possible Class.forName("com.destroystokyo.paper.event.server.AsyncTabCompleteEvent"); getServer().getPluginManager().registerEvents(new AsyncTabCompleteBlockerListener(), this); - } catch (ClassNotFoundException e) { - getServer().getPluginManager().registerEvents(new TabCompleteBlockerListener(), this); + } catch (ClassNotFoundException ignored) { } + getServer().getPluginManager().registerEvents(new TabCompleteBlockerListener(), this); PluginCommand command = getCommand("commandwhitelist"); if (command != null) { diff --git a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/AsyncTabCompleteBlockerListener.java b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/AsyncTabCompleteBlockerListener.java index 9d43914..bc3ba8d 100644 --- a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/AsyncTabCompleteBlockerListener.java +++ b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/AsyncTabCompleteBlockerListener.java @@ -9,21 +9,17 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; + public class AsyncTabCompleteBlockerListener implements Listener { - @EventHandler(priority = EventPriority.NORMAL) + @EventHandler(priority = EventPriority.HIGHEST) public void onCommandTabComplete(AsyncTabCompleteEvent event) { if (!(event.getSender() instanceof Player)) return; Player player = (Player) event.getSender(); if (player.hasPermission(CWPermission.BYPASS.permission())) return; - event.setCompletions( - CommandUtil.filterSuggestions( - event.getBuffer(), - event.getCompletions(), - CommandWhitelistBukkit.getSuggestions(player) - ) - ); - event.setHandled(true); + String buffer = event.getBuffer(); + if (!buffer.endsWith(" ") && buffer.split(" ").length == 1) event.setCancelled(true); + event.setCompletions(CommandUtil.filterSuggestions(buffer, event.getCompletions(), CommandWhitelistBukkit.getSuggestions(player))); } } 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 aa7e3b4..2321601 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 @@ -7,18 +7,22 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.server.TabCompleteEvent; public class TabCompleteBlockerListener implements Listener { + @EventHandler(priority = EventPriority.NORMAL) - public void onCommandTabComplete(org.bukkit.event.server.TabCompleteEvent event) { + public void onCommandTabComplete(TabCompleteEvent event) { if (!(event.getSender() instanceof Player)) return; 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); event.setCompletions( CommandUtil.filterSuggestions( - event.getBuffer(), - event.getCompletions(), - CommandWhitelistBukkit.getSuggestions(player) + buffer, + event.getCompletions(), + CommandWhitelistBukkit.getSuggestions(player) ) ); } diff --git a/CommandWhitelistCommon/pom.xml b/CommandWhitelistCommon/pom.xml index e2859c1..3ff32aa 100644 --- a/CommandWhitelistCommon/pom.xml +++ b/CommandWhitelistCommon/pom.xml @@ -6,7 +6,7 @@ eu.endermite.commandwhitelist CommandWhitelist - 2.0 + 2.1 Common diff --git a/CommandWhitelistVelocity/pom.xml b/CommandWhitelistVelocity/pom.xml index 847b327..b4d0c84 100644 --- a/CommandWhitelistVelocity/pom.xml +++ b/CommandWhitelistVelocity/pom.xml @@ -6,7 +6,7 @@ eu.endermite.commandwhitelist CommandWhitelist - 2.0 + 2.1 Velocity diff --git a/CommandWhitelistWaterfall/pom.xml b/CommandWhitelistWaterfall/pom.xml index bf545b2..7af919e 100644 --- a/CommandWhitelistWaterfall/pom.xml +++ b/CommandWhitelistWaterfall/pom.xml @@ -6,7 +6,7 @@ eu.endermite.commandwhitelist CommandWhitelist - 2.0 + 2.1 Waterfall diff --git a/pom.xml b/pom.xml index eac844b..8043720 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ eu.endermite.commandwhitelist CommandWhitelist - 2.0 + 2.1 CommandWhitelistCommon CommandWhitelistBukkit