From 683ff1dd1d7e951172d7c29d99460671636ebb30 Mon Sep 17 00:00:00 2001 From: Harmonic Date: Sun, 27 Sep 2020 14:38:57 -0400 Subject: [PATCH] Revert "cleaned up wordfilter" This reverts commit 947d7a4ce7775e2c7f2b35a1bad417ededfa90bb --- .../habbo/habbohotel/modtool/WordFilter.java | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java b/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java index 07cbadab..791d12d5 100644 --- a/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java +++ b/src/main/java/com/eu/habbo/habbohotel/modtool/WordFilter.java @@ -138,14 +138,29 @@ public class WordFilter { filteredMessage = this.normalise(filteredMessage); } - for (WordFilterWord word : this.words) { - if (!StringUtils.containsIgnoreCase(filteredMessage, word.key)) continue; - if (habbo != null) { - if (Emulator.getPluginManager().fireEvent(new UserTriggerWordFilterEvent(habbo, word)).isCancelled()) - continue; - } + TObjectHashIterator iterator = this.words.iterator(); - filteredMessage = filteredMessage.replaceAll("(?i)" + Pattern.quote(word.key), word.replacement); + boolean foundShit = false; + + while (iterator.hasNext()) { + WordFilterWord word = (WordFilterWord) iterator.next(); + + if (StringUtils.containsIgnoreCase(filteredMessage, word.key)) { + if (habbo != null) { + if (Emulator.getPluginManager().fireEvent(new UserTriggerWordFilterEvent(habbo, word)).isCancelled()) + continue; + } + filteredMessage = filteredMessage.replace("(?i)" + word.key, word.replacement); + foundShit = true; + + if (habbo != null && word.muteTime > 0) { + habbo.mute(word.muteTime, false); + } + } + } + + if (!foundShit) { + return message; } return filteredMessage;