From 45bae3fd747fda2697b288370e2e07b82df17303 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 5 Aug 2012 09:21:37 +1000 Subject: [PATCH] Add the ability to ignore some chat things, namely /register and /login by default --- src/main/java/de/diddiz/LogBlock/Consumer.java | 6 ++++++ src/main/java/de/diddiz/LogBlock/config/Config.java | 6 ++++++ src/main/java/de/diddiz/LogBlock/listeners/ChatLogging.java | 1 - 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/diddiz/LogBlock/Consumer.java b/src/main/java/de/diddiz/LogBlock/Consumer.java index 6ecdeef..2d67263 100644 --- a/src/main/java/de/diddiz/LogBlock/Consumer.java +++ b/src/main/java/de/diddiz/LogBlock/Consumer.java @@ -36,6 +36,7 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.InventoryHolder; import org.bukkit.inventory.ItemStack; +import de.diddiz.LogBlock.config.Config; public class Consumer extends TimerTask { @@ -249,6 +250,11 @@ public class Consumer extends TimerTask } public void queueChat(String player, String message) { + for (String ignored : Config.ignoredChat) { + if (message.startsWith(ignored)) { + return; + } + } queue.add(new ChatRow(player, message.replace("\\", "\\\\").replace("'", "\\'"))); } diff --git a/src/main/java/de/diddiz/LogBlock/config/Config.java b/src/main/java/de/diddiz/LogBlock/config/Config.java index 7cef0a7..69e6b6e 100644 --- a/src/main/java/de/diddiz/LogBlock/config/Config.java +++ b/src/main/java/de/diddiz/LogBlock/config/Config.java @@ -52,6 +52,7 @@ public class Config public static String banPermission; public static Set hiddenBlocks; public static Set hiddenPlayers; + public static Set ignoredChat; public static enum LogKillsLevel { @@ -89,6 +90,7 @@ public class Config def.put("logging.logPlayerInfo", false); def.put("logging.hiddenPlayers", new ArrayList()); def.put("logging.hiddenBlocks", Arrays.asList(0)); + def.put("logging.ignoredChat", Arrays.asList("/register", "/login")); def.put("rollback.dontRollback", Arrays.asList(10, 11, 46, 51)); def.put("rollback.replaceAnyway", Arrays.asList(8, 9, 10, 11, 51)); def.put("rollback.maxTime", "2 days"); @@ -154,6 +156,10 @@ public class Config else throw new DataFormatException("Not a valid material: '" + blocktype + "'"); } + ignoredChat = new HashSet(); + for (String chatCommand : config.getStringList("logging.ignoredChat")) { + ignoredChat.add(chatCommand); + } dontRollback = new HashSet(config.getIntegerList("rollback.dontRollback")); replaceAnyway = new HashSet(config.getIntegerList("rollback.replaceAnyway")); rollbackMaxTime = parseTimeSpec(config.getString("rollback.maxTime").split(" ")); diff --git a/src/main/java/de/diddiz/LogBlock/listeners/ChatLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/ChatLogging.java index f596b64..9f24db3 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/ChatLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/ChatLogging.java @@ -4,7 +4,6 @@ import static de.diddiz.LogBlock.config.Config.isLogging; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.server.ServerCommandEvent; import de.diddiz.LogBlock.LogBlock;