From 93d390c96a384e91306dc8e16a1fb6d6e1753d7c Mon Sep 17 00:00:00 2001 From: Steven Lawson Date: Sat, 1 Dec 2012 15:31:25 -0500 Subject: [PATCH] Move repeat message detection so spam filter can still catch it. Who cares if someone uses too many !!'s. Removed extra check for /socialspy, /packet has been hard-coded out already. Added back in check for is muted. General cleanup. --- .../Commands/Command_stop.java | 1 - .../TotalFreedomMod/Commands/TFM_Command.java | 4 +- .../Listener/TFM_PlayerListener.java | 49 ++++++------------- .../TotalFreedomMod/TFM_ProtectedArea.java | 1 - 4 files changed, 17 insertions(+), 38 deletions(-) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java index 90c31021..f88e70a4 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_stop.java @@ -12,7 +12,6 @@ public class Command_stop extends TFM_Command @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - TFM_Util.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE); for (Player p : server.getOnlinePlayers()) diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java b/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java index d17670df..470a2663 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/TFM_Command.java @@ -108,9 +108,9 @@ public class TFM_Command List matches = server.matchPlayer(partialname); if (matches.isEmpty()) { - for(Player p : server.getOnlinePlayers()) + for (Player p : server.getOnlinePlayers()) { - if(p.getDisplayName().toLowerCase().indexOf(partialname) != -1) + if (p.getDisplayName().toLowerCase().indexOf(partialname) != -1) { return p; } diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java index 2ee41149..39ec4f02 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_PlayerListener.java @@ -101,6 +101,7 @@ public class TFM_PlayerListener implements Listener } event.setCancelled(true); + return; } break; } @@ -130,6 +131,7 @@ public class TFM_PlayerListener implements Listener } event.setCancelled(true); + return; } break; @@ -293,17 +295,6 @@ public class TFM_PlayerListener implements Listener TFM_UserInfo playerdata = TFM_UserInfo.getPlayerData(p); playerdata.incrementMsgCount(); - // check for message repeat - if(playerdata.getLastMessage().equalsIgnoreCase(message)) - { - TFM_Util.playerMsg(p, "Please do not repeat messages."); - event.setCancelled(true); - playerdata.setLastMessage(message); - return; - } - - playerdata.setLastMessage(message); - // check for spam if (playerdata.getMsgCount() > 10) { @@ -316,6 +307,15 @@ public class TFM_PlayerListener implements Listener return; } + // check for message repeat + if (playerdata.getLastMessage().equalsIgnoreCase(message)) + { + TFM_Util.playerMsg(p, "Please do not repeat messages."); + event.setCancelled(true); + return; + } + playerdata.setLastMessage(message); + // check for muted if (playerdata.isMuted()) { @@ -341,33 +341,21 @@ public class TFM_PlayerListener implements Listener TFM_Util.playerMsg(p, "Message was shortened because it was too long to send."); } - - // check for caps and exclamation marks + // check for caps - Quit messing with this :-/ if (message.length() >= 6) { int caps = 0; - int excl = 0; for (char c : message.toCharArray()) { if (Character.isUpperCase(c)) { caps++; } - - if(c == '!') - { - excl++; - } } - if (caps > 6 || caps > 3 && ((float) caps / (float) message.length()) > 0.55) + if (((float) caps / (float) message.length()) > 0.65) //Compute a ratio so that longer sentences can have more caps. { message = message.toLowerCase(); } - - if(excl++ > 3) - { - message = message.replaceAll("!", "") + '!'; - } } // finally, set message @@ -496,14 +484,6 @@ public class TFM_PlayerListener implements Listener { block_command = true; } - else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/socialspy").matcher(command).find()) - { - block_command = true; - } - else if (!TFM_SuperadminList.isUserSuperadmin(p) && Pattern.compile("^/packet").matcher(command).find()) - { - block_command = true; - } } if (block_command) @@ -513,7 +493,8 @@ public class TFM_PlayerListener implements Listener return; } - // block muted commands + // block commands while player is muted + if (playerdata.isMuted()) { if (!TFM_SuperadminList.isUserSuperadmin(p)) { diff --git a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java index 9c1b1ed6..26bd870f 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java +++ b/src/me/StevenLawson/TotalFreedomMod/TFM_ProtectedArea.java @@ -16,7 +16,6 @@ import org.bukkit.World; public class TFM_ProtectedArea implements Serializable { private static final long serialVersionUID = -3270338811000937254L; - public static final double MAX_RADIUS = 50.0D; private static Map protectedAreas = new HashMap(); private final SerializableLocation center_location;