From 9d71ef0f17197db692a45be9be3866d4573c9621 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Sun, 25 Jun 2023 05:36:58 -0400 Subject: Fix chat ad filter (#188) --- .../xmrvizzy/skyblocker/chat/filters/AdFilter.java | 46 +++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'src/main/java/me/xmrvizzy') diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java index 5f9f463d..67734438 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java @@ -9,30 +9,30 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class AdFilter extends ChatPatternListener { - private static final Pattern[] AD_FILTERS = new Pattern[]{ - Pattern.compile("^(?:i(?:m|'m| am)? |(?:is )?any(?: ?one|1) )?(?:buy|sell|lowball|trade?)(?:ing)?(?:\\W|$)", Pattern.CASE_INSENSITIVE), - Pattern.compile("(.)\\1{7,}"), - Pattern.compile("\\W(?:on|in|check|at) my (?:ah|bin)(?:\\W|$)", Pattern.CASE_INSENSITIVE), - }; + private static final Pattern[] AD_FILTERS = new Pattern[] { + Pattern.compile("^(?:i(?:m|'m| am)? |(?:is )?any(?: ?one|1) )?(?:buy|sell|lowball|trade?)(?:ing)?(?:\\W|$)", Pattern.CASE_INSENSITIVE), + Pattern.compile("(.)\\1{7,}"), + Pattern.compile("\\W(?:on|in|check|at) my (?:ah|bin)(?:\\W|$)", Pattern.CASE_INSENSITIVE), }; - public AdFilter() { - // Groups: - // 1. Player name - // 2. Message - super("^§[67ab](?:\\[(?:MVP|VIP)(?:§[0-9a-f]\\+{1,2}§[6ab])?] )?([a-zA-Z0-9_]{2,16})§[7f]: (.*)$"); - } + public AdFilter() { + // Groups: + // 1. Player name + // 2. Message + // (?:§8\[[§fadbc0-9]+§8\] )?§[67abc](?:\[[§A-Za-z0-9+]+\] )?([A-Za-z0-9_]+)§[f7]: (.+) + super("(?:§8\\[[§fadbc0-9]+§8\\] )?§[67abc](?:\\[[§A-Za-z0-9+]+\\] )?([A-Za-z0-9_]+)§[f7]: (.+)"); + } - @Override - public boolean onMatch(Text _message, Matcher matcher) { - String message = matcher.group(2); - for (Pattern adFilter : AD_FILTERS) - if (adFilter.matcher(message).find()) - return true; - return false; - } + @Override + public boolean onMatch(Text _message, Matcher matcher) { + String message = matcher.group(2); + for (Pattern adFilter : AD_FILTERS) + if (adFilter.matcher(message).find()) + return true; + return false; + } - @Override - protected ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideAds; - } + @Override + protected ChatFilterResult state() { + return SkyblockerConfig.get().messages.hideAds; + } } \ No newline at end of file -- cgit