diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-07-22 14:48:12 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-08-18 18:05:15 +0800 |
commit | b80f6df13b8dfb97f1569f5802b66fc837480eef (patch) | |
tree | 3805f4ef04bbe988240862cfd528163047acb3bf /src/main/java/me/xmrvizzy/skyblocker/chat | |
parent | fc65ff5b469fb384d2df422a5a6d8437012a819b (diff) | |
download | Skyblocker-b80f6df13b8dfb97f1569f5802b66fc837480eef.tar.gz Skyblocker-b80f6df13b8dfb97f1569f5802b66fc837480eef.tar.bz2 Skyblocker-b80f6df13b8dfb97f1569f5802b66fc837480eef.zip |
Refactor chat and discord packages
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/chat')
14 files changed, 0 insertions, 352 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java deleted file mode 100644 index 85c3f3e3..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatFilterResult.java +++ /dev/null @@ -1,18 +0,0 @@ -package me.xmrvizzy.skyblocker.chat; - -import net.minecraft.client.resource.language.I18n; -public enum ChatFilterResult { - // Skip this one / no action - PASS, - // Filter - FILTER, - // Move to action bar - ACTION_BAR; - // Skip remaining checks, don't filter - // null - - @Override - public String toString() { - return I18n.translate("text.autoconfig.skyblocker.option.messages.chatFilterResult." + name()); - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java deleted file mode 100644 index 5ea3e2a9..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java +++ /dev/null @@ -1,88 +0,0 @@ -package me.xmrvizzy.skyblocker.chat; - -import me.xmrvizzy.skyblocker.chat.filters.*; -import me.xmrvizzy.skyblocker.skyblock.barn.HungryHiker; -import me.xmrvizzy.skyblocker.skyblock.barn.TreasureHunter; -import me.xmrvizzy.skyblocker.skyblock.dungeon.Reparty; -import me.xmrvizzy.skyblocker.skyblock.dungeon.ThreeWeirdos; -import me.xmrvizzy.skyblocker.skyblock.dungeon.Trivia; -import me.xmrvizzy.skyblocker.skyblock.dwarven.Fetchur; -import me.xmrvizzy.skyblocker.skyblock.dwarven.Puzzler; -import me.xmrvizzy.skyblocker.utils.Utils; -import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents; -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ClientPlayerEntity; -import net.minecraft.text.Text; - -@FunctionalInterface -public interface ChatMessageListener { - /** - * An event called when a game message is received. Register your listeners in {@link ChatMessageListener#init()}. - */ - Event<ChatMessageListener> EVENT = EventFactory.createArrayBacked(ChatMessageListener.class, - (listeners) -> (message, asString) -> { - for (ChatMessageListener listener : listeners) { - ChatFilterResult result = listener.onMessage(message, asString); - if (result != ChatFilterResult.PASS) return result; - } - return ChatFilterResult.PASS; - }); - - /** - * Registers {@link ChatMessageListener}s to {@link ChatMessageListener#EVENT} and registers {@link ChatMessageListener#EVENT} to {@link ClientReceiveMessageEvents#ALLOW_GAME} - */ - static void init() { - ChatMessageListener[] listeners = new ChatMessageListener[]{ - // Features - new Fetchur(), - new Puzzler(), - new Reparty(), - new ThreeWeirdos(), - new Trivia(), - new TreasureHunter(), - new HungryHiker(), - // Filters - new AbilityFilter(), - new AdFilter(), - new AoteFilter(), - new ComboFilter(), - new HealFilter(), - new ImplosionFilter(), - new MoltenWaveFilter(), - new TeleportPadFilter(), - new AutopetFilter(), - new ShowOffFilter() - }; - // Register all listeners to EVENT - for (ChatMessageListener listener : listeners) { - EVENT.register(listener); - } - // Register EVENT to ClientReceiveMessageEvents.ALLOW_GAME from fabric api - ClientReceiveMessageEvents.ALLOW_GAME.register((message, overlay) -> { - if (!Utils.isOnSkyblock()) { - return true; - } - ChatFilterResult result = EVENT.invoker().onMessage(message, message.getString()); - switch (result) { - case ACTION_BAR -> { - if (overlay) { - return true; - } - ClientPlayerEntity player = MinecraftClient.getInstance().player; - if (player != null) { - player.sendMessage(message, true); - return false; - } - } - case FILTER -> { - return false; - } - } - return true; - }); - } - - ChatFilterResult onMessage(Text message, String asString); -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java deleted file mode 100644 index 8a32715e..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatPatternListener.java +++ /dev/null @@ -1,30 +0,0 @@ -package me.xmrvizzy.skyblocker.chat; - -import net.minecraft.text.Text; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public abstract class ChatPatternListener implements ChatMessageListener { - protected static final String NUMBER = "-?[0-9]{1,3}(?>,[0-9]{3})*(?:\\.[1-9])?"; - public final Pattern pattern; - - public ChatPatternListener(String pattern) { - this.pattern = Pattern.compile(pattern); - } - - @Override - public final ChatFilterResult onMessage(Text message, String asString) { - ChatFilterResult state = state(); - if (state == ChatFilterResult.PASS) return ChatFilterResult.PASS; - Matcher m = pattern.matcher(asString); - if (m.matches() && onMatch(message, m)) { - return state; - } - return ChatFilterResult.PASS; - } - - protected abstract ChatFilterResult state(); - - protected abstract boolean onMatch(Text message, Matcher matcher); -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java deleted file mode 100644 index 3a357a00..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AbilityFilter.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -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 - 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 deleted file mode 100644 index a813346b..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AdFilter.java +++ /dev/null @@ -1,39 +0,0 @@ -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 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 String EMBLEMS = "\u2E15\u273F\u2741\u2E19\u03B1\u270E\u2615\u2616\u2663\u213B\u2694\u27B6\u26A1\u2604\u269A\u2693\u2620\u269B\u2666\u2660\u2764\u2727\u238A\u1360\u262C\u269D\u29C9\uA214\u32D6\u2E0E\u26A0\uA541\u3020\u30C4\u2948\u2622\u2623\u273E\u269C\u0BD0\u0A6D\u2742\u16C3\u3023\u10F6\u0444\u266A\u266B\u04C3\u26C1\u26C3\u16DD\uA03E\u1C6A\u03A3\u09EB\u2603\u2654\u12DE"; - - public AdFilter() { - // Groups: - // 1. Player name - // 2. Message - // (?:§8\[[§feadbc0-9]+§8\] )?(?:[§76l]+[<INSERT EMBLEMS>] )?§[67abc](?:\[[§A-Za-z0-9+]+\] )?([A-Za-z0-9_]+)§[f7]: (.+) - super("(?:§8\\[[§feadbc0-9]+§8\\] )?(?:[§76l]+[" + EMBLEMS + "] )?§[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 - 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 deleted file mode 100644 index 029cf433..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AoteFilter.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -public class AoteFilter extends SimpleChatFilter { - public AoteFilter() { - super("^There are blocks in the way!$"); - } - - @Override - public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideAOTE; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java deleted file mode 100644 index f1545db4..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java +++ /dev/null @@ -1,35 +0,0 @@ -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.client.MinecraftClient; -import net.minecraft.text.Text; - -import java.util.Objects; -import java.util.regex.Matcher; - -public class AutopetFilter extends ChatPatternListener { - public AutopetFilter() { - super("^§cAutopet §eequipped your §7.*§e! §a§lVIEW RULE$"); - } - - @Override - public boolean onMatch(Text _message, Matcher matcher) { - if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) { - Objects.requireNonNull(MinecraftClient.getInstance().player).sendMessage( - Text.literal( - _message.getString().replace("§a§lVIEW RULE", "") - ), true); - } - return true; - } - - @Override - public ChatFilterResult state() { - if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) - return ChatFilterResult.FILTER; - else - return SkyblockerConfig.get().messages.hideAutopet; - } -}
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java deleted file mode 100644 index 714ee9c9..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ComboFilter.java +++ /dev/null @@ -1,16 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -public class ComboFilter extends SimpleChatFilter { - public ComboFilter() { - super("^(\\+\\d+ Kill Combo \\+\\d+(% ✯ Magic Find| coins per kill|% Combat Exp)" + - "|Your Kill Combo has expired! You reached a \\d+ Kill Combo!)$"); - } - - @Override - public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideCombo; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java deleted file mode 100644 index 62b41749..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/HealFilter.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -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 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 deleted file mode 100644 index 9cc684ed..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ImplosionFilter.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -public class ImplosionFilter extends SimpleChatFilter { - public ImplosionFilter() { - super("^Your Implosion hit " + NUMBER + " enem(?:y|ies) for " + NUMBER + " damage\\.$"); - } - - @Override - public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideImplosion; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java deleted file mode 100644 index da082c2d..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/MoltenWaveFilter.java +++ /dev/null @@ -1,15 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -public class MoltenWaveFilter extends SimpleChatFilter { - public MoltenWaveFilter() { - super("^Your Molten Wave hit " + NUMBER + " enem(?:y|ies) for " + NUMBER + " damage\\.$"); - } - - @Override - public ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideMoltenWave; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java deleted file mode 100644 index 3b5ea41a..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/ShowOffFilter.java +++ /dev/null @@ -1,18 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -public class ShowOffFilter extends SimpleChatFilter { - private static final String EMBLEMS = "\u2E15\u273F\u2741\u2E19\u03B1\u270E\u2615\u2616\u2663\u213B\u2694\u27B6\u26A1\u2604\u269A\u2693\u2620\u269B\u2666\u2660\u2764\u2727\u238A\u1360\u262C\u269D\u29C9\uA214\u32D6\u2E0E\u26A0\uA541\u3020\u30C4\u2948\u2622\u2623\u273E\u269C\u0BD0\u0A6D\u2742\u16C3\u3023\u10F6\u0444\u266A\u266B\u04C3\u26C1\u26C3\u16DD\uA03E\u1C6A\u03A3\u09EB\u2603\u2654\u12DE"; - private static final String[] SHOW_TYPES = { "is holding", "is wearing", "is friends with a", "has" }; - - public ShowOffFilter() { - super("(?:§8\\[[§feadbc0-9]+§8\\] )?(?:[§76l]+[" + EMBLEMS + "] )?§[67abc](?:\\[[§A-Za-z0-9+]+\\] )?([A-Za-z0-9_]+)[§f7]+ (?:" + String.join("|", SHOW_TYPES) + ") §8\\[(.+)§8\\]"); - } - - @Override - protected ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideShowOff; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/SimpleChatFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/SimpleChatFilter.java deleted file mode 100644 index e23dbf33..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/SimpleChatFilter.java +++ /dev/null @@ -1,17 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatPatternListener; -import net.minecraft.text.Text; - -import java.util.regex.Matcher; - -public abstract class SimpleChatFilter extends ChatPatternListener { - public SimpleChatFilter(String pattern) { - super(pattern); - } - - @Override - protected final boolean onMatch(Text message, Matcher matcher) { - return true; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java deleted file mode 100644 index f7fab6d5..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/TeleportPadFilter.java +++ /dev/null @@ -1,16 +0,0 @@ -package me.xmrvizzy.skyblocker.chat.filters; - -import me.xmrvizzy.skyblocker.chat.ChatFilterResult; -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; - -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 ChatFilterResult state() { - return SkyblockerConfig.get().messages.hideTeleportPad; - } -}
\ No newline at end of file |