From 2ccdffc75467d7bca0ae9cf2f92f9441a0aa1459 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 17:59:22 +1000 Subject: [PATCH] Spam Filter Exclusions diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java index 998ac8d..03e0e1c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -846,7 +846,17 @@ public class PlayerConnection extends Connection { this.chat(s, packet3chat.a_()); // This section stays because it is only applicable to packets - if (chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.name)) { // CraftBukkit use thread-safe spam + // Spigot - spam exclusions + boolean counted = true; + for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions ) + { + if ( s.startsWith( exclude ) ) + { + counted = false; + break; + } + } + if (counted && chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.name)) { // CraftBukkit use thread-safe spam if (packet3chat.a_()) { Waitable waitable = new Waitable() { @Override diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index 31ba25f..1eacf1e 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -218,4 +218,13 @@ public class SpigotConfig bungeeAddresses = getList( "settings.bungeecord-addresses", bungeeAddresses ); bungee = getBoolean( "settings.bungeecord", true ); } + + public static List spamExclusions; + private static void spamExclusions() + { + spamExclusions = getList( "commands.spam-exclusions", Arrays.asList( new String[] + { + "/skill" + } ) ); + } } -- 1.8.1.2