From 3c31081b42b9c1920367f5ea49706a16c7dcb9d3 Mon Sep 17 00:00:00 2001 From: youhavetrouble Date: Sun, 5 Nov 2023 22:04:29 +0100 Subject: [PATCH] do not correct the command input in case some mongoloid plugin decides to not filter out the / and rawdog the message into Player#performCommand --- .../bukkit/listeners/PlayerCommandPreProcessListener.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/PlayerCommandPreProcessListener.java b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/PlayerCommandPreProcessListener.java index 82fbad7..81c69dd 100644 --- a/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/PlayerCommandPreProcessListener.java +++ b/CommandWhitelistBukkit/src/main/java/eu/endermite/commandwhitelist/bukkit/listeners/PlayerCommandPreProcessListener.java @@ -21,10 +21,7 @@ public class PlayerCommandPreProcessListener implements Listener { String caseSensitiveLabel = CommandUtil.getCommandLabel(event.getMessage()); String label = caseSensitiveLabel.toLowerCase(); - String fullCommand = event.getMessage().substring(label.length()+1); - fullCommand = "/"+label+fullCommand; - - event.setMessage(fullCommand); + CommandWhitelistBukkit.getPlugin().getLogger().info("Message after: "+event.getMessage()); BukkitAudiences audiences = CommandWhitelistBukkit.getAudiences(); ConfigCache config = CommandWhitelistBukkit.getConfigCache(); @@ -36,8 +33,9 @@ public class PlayerCommandPreProcessListener implements Listener { } HashSet bannedSubCommands = CommandWhitelistBukkit.getSuggestions(player); + String messageWithoutSlash = event.getMessage().startsWith("/") ? event.getMessage().substring(1) : event.getMessage(); for (String bannedSubCommand : bannedSubCommands) { - if (event.getMessage().toLowerCase().substring(1).startsWith(bannedSubCommand)) { + if (messageWithoutSlash.startsWith(bannedSubCommand)) { event.setCancelled(true); audiences.player(player).sendMessage(CWCommand.miniMessage.deserialize(config.prefix + config.subcommand_denied)); return;