From a1047b1811478fe3465cc2f8ea4804ad92b291cb Mon Sep 17 00:00:00 2001 From: Jerom van der Sar Date: Wed, 21 Nov 2012 16:40:17 +0100 Subject: [PATCH] Prevent Muted players from using certain commands Prevent non-superadmins from using /socialspy --- .../Listener/TFM_PlayerListener.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 5b3492a8..24cd762b 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -26,6 +26,8 @@ import org.bukkit.util.Vector; public class TFM_PlayerListener implements Listener { private static final SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z"); + + private static final String[] MutedCommands = {"^/msg", "^/m","^/reply", "^/r", "^/tell", "^/me"}; @EventHandler(priority = EventPriority.HIGH) public void onPlayerInteract(PlayerInteractEvent event) @@ -472,6 +474,14 @@ public class TFM_PlayerListener implements Listener { block_command = true; } + else if (Pattern.compile("^/clear").matcher(command).find()) + { + block_command = true; + } + else if (TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find()) + { + block_command = true; + } } if (block_command) @@ -480,6 +490,20 @@ public class TFM_PlayerListener implements Listener event.setCancelled(true); return; } + + // block muted commands + if(playerdata.isMuted()) + { + for(String mc : MutedCommands) + { + if (Pattern.compile(mc).matcher(command).find()) + { + p.sendMessage(ChatColor.RED + "You are muted, STFU!"); + event.setCancelled(true); + return; + } + } + } } @EventHandler(priority = EventPriority.NORMAL)