diff --git a/CraftBukkit-Patches/0050-Spam-Filter-Exclusions.patch b/CraftBukkit-Patches/0050-Spam-Filter-Exclusions.patch new file mode 100644 index 0000000000..29b61dba5c --- /dev/null +++ b/CraftBukkit-Patches/0050-Spam-Filter-Exclusions.patch @@ -0,0 +1,41 @@ +From 1911a4552a07b000e685b8c604a9759f130bec1f 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..a292c1a 100644 +--- a/src/main/java/net/minecraft/server/PlayerConnection.java ++++ b/src/main/java/net/minecraft/server/PlayerConnection.java +@@ -846,7 +846,8 @@ 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 ++ if (!org.spigotmc.SpigotConfig.spamExclusions.contains(s) && 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 a7a9625..2e9341b 100644 +--- a/src/main/java/org/spigotmc/SpigotConfig.java ++++ b/src/main/java/org/spigotmc/SpigotConfig.java +@@ -180,4 +180,13 @@ public class SpigotConfig + bungeeAddresses = getList( "settings.bungeecord-addresses", bungee ); + bungee = getBoolean( "settings.bungeecord", true ); + } ++ ++ public static List spamExclusions; ++ private void spamExclusions() ++ { ++ spamExclusions = getList( "commands.spam-exclusions", Arrays.asList( new String[] ++ { ++ "/skill" ++ } ) ); ++ } + } +-- +1.8.1.2 +