diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/chat')
9 files changed, 42 insertions, 43 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java index d0178dd6..3a357a00 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java @@ -1,15 +1,15 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class AbilityFilter extends ChatFilter { +public class AbilityFilter extends SimpleChatFilter { public AbilityFilter() { super("^(?:This ability is on cooldown for " + NUMBER + "s\\.|No more charges, next one in " + NUMBER + "s!)$"); } @Override - public boolean isEnabled() { + protected ChatFilterResult state() { return SkyblockerConfig.get().messages.hideAbility; } } 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 cf13e26e..5f9f463d 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java @@ -1,29 +1,38 @@ package me.xmrvizzy.skyblocker.chat.filters; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; +import me.xmrvizzy.skyblocker.chat.ChatPatternListener; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; +import net.minecraft.text.Text; +import java.util.regex.Matcher; import java.util.regex.Pattern; -public class AdFilter extends ChatFilter { +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), }; + 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]: (.*)$"); } @Override - public boolean isEnabled() { - return SkyblockerConfig.get().messages.hideAds; + 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 onMessage(String[] groups) { - for(Pattern adFilter : AD_FILTERS) - if(adFilter.matcher(groups[2]).find()) - return true; - return false; + protected ChatFilterResult state() { + return SkyblockerConfig.get().messages.hideAds; } }
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java index 4545399e..029cf433 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java @@ -1,15 +1,15 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class AoteFilter extends ChatFilter { +public class AoteFilter extends SimpleChatFilter { public AoteFilter() { super("^There are blocks in the way!$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideAOTE; } -}
\ No newline at end of file +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilter.java deleted file mode 100644 index fac9a3a3..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ChatFilter.java +++ /dev/null @@ -1,12 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatListener; - -public abstract class ChatFilter extends ChatListener { - public ChatFilter(String pattern) { - super(pattern); - } - public boolean onMessage(String[] groups) { - return true; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java index c09cb69c..c05afdbf 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java @@ -1,15 +1,16 @@ package me.xmrvizzy.skyblocker.chat.filters; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class ComboFilter extends ChatFilter { +public class ComboFilter extends SimpleChatFilter { public ComboFilter() { super("^(\\+\\d+ Kill Combo \\+\\d+(% ✯ Magic Find| coins per kill)" + "|Your Kill Combo has expired! You reached a \\d+ Kill Combo!)$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideCombo; } -}
\ No newline at end of file +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java index b4e1c575..62b41749 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java @@ -1,15 +1,15 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class HealFilter extends ChatFilter { +public class HealFilter extends SimpleChatFilter { public HealFilter() { super("^(?:You healed yourself for " + NUMBER + " health!|[a-zA-Z0-9_]{2,16} healed you for " + NUMBER + " health!)$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideHeal; } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java index ffdc5f40..9cc684ed 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java @@ -1,15 +1,15 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class ImplosionFilter extends ChatFilter { +public class ImplosionFilter extends SimpleChatFilter { public ImplosionFilter() { super("^Your Implosion hit " + NUMBER + " enem(?:y|ies) for " + NUMBER + " damage\\.$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideImplosion; } -}
\ No newline at end of file +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java index b6fbddaf..19789dba 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java @@ -1,15 +1,15 @@ package me.xmrvizzy.skyblocker.chat.filters; -import me.xmrvizzy.skyblocker.chat.ChatListener; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class MoltenWaveFilter extends ChatFilter { +public class MoltenWaveFilter extends SimpleChatFilter { public MoltenWaveFilter() { super("^Your Molten Wave hit " + NUMBER + " enemy(?:y|ies) for " + NUMBER + " damage\\.$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideMoltenWave; } -}
\ No newline at end of file +} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java index 2913d2bb..f7fab6d5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java @@ -1,15 +1,16 @@ package me.xmrvizzy.skyblocker.chat.filters; +import me.xmrvizzy.skyblocker.chat.ChatFilterResult; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -public class TeleportPadFilter extends ChatFilter { +public class TeleportPadFilter extends SimpleChatFilter { public TeleportPadFilter() { super("^(Warped from the .* Teleport Pad to the .* Teleport Pad!" + "|This Teleport Pad does not have a destination set!)$"); } @Override - public boolean isEnabled() { + public ChatFilterResult state() { return SkyblockerConfig.get().messages.hideTeleportPad; } }
\ No newline at end of file |