diff options
Diffstat (limited to 'src')
3 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 0bda79d6..48fefa24 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -66,6 +66,7 @@ public class SkyblockerConfig implements ConfigData { public boolean hideAOTE = false; public boolean hideImplosion = false; public boolean hideMoltenWave = false; + public boolean hideAds = false; } public static void init() { diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java index 3b80a9af..00f2dfb6 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/ChatFilter.java @@ -2,6 +2,7 @@ package me.xmrvizzy.skyblocker.skyblock; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -11,6 +12,8 @@ public class ChatFilter { private static final Pattern aote; private static final Pattern implosion; private static final Pattern moltenWave; + private static final Pattern playerMessage; + private static final Pattern adverts; public boolean shouldFilter(String message) { SkyblockerConfig.Messages settings = SkyblockerConfig.get().messages; @@ -28,6 +31,14 @@ public class ChatFilter { if (settings.hideMoltenWave && moltenWave.matcher(message).matches()) return true; + + if (settings.hideAds) { + Matcher m = playerMessage.matcher(message); + if(m.matches() && adverts.matcher(m.group(2)).find()) { + System.out.println(m.group(2)); + return true; + } + } return false; } @@ -38,5 +49,7 @@ public class ChatFilter { aote = Pattern.compile("^There are blocks in the way!$"); implosion = Pattern.compile("^Your Implosion hit " + number + " enem(?:y|ies) for " + number + " damage\\.$"); moltenWave = Pattern.compile("^Your Molten Wave hit " + number + " enemy(?:y|ies) for " + number + " damage\\.$"); + playerMessage = Pattern.compile("^§[67ab](?:\\[(?:MVP|VIP)(?:§[0-9a-f]\\+{1,2}§[6ab])?] )?([a-zA-Z0-9_]{2,16})§[7f]: (.*)$"); + adverts = Pattern.compile("(?i:^(?:i(?:m|'m| am)? |(?:is )?any(?: ?one|1) )?(?:buy|sell|lowball|trade?)(?:ing)?\\W|(?:\\W|^)(?:on|in|check|at) my ah(?:\\W|$)|(.)\\1{7,})"); } } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index b716764b..14882563 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -23,5 +23,6 @@ "text.autoconfig.skyblocker.option.messages.hideHeal": "Hide Heal Messages", "text.autoconfig.skyblocker.option.messages.hideAOTE": "Hide AOTE Messages", "text.autoconfig.skyblocker.option.messages.hideImplosion": "Hide Implosion Message", - "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Hide Molten Wave Message" + "text.autoconfig.skyblocker.option.messages.hideMoltenWave": "Hide Molten Wave Message", + "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat" }
\ No newline at end of file |