aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/chat
diff options
context:
space:
mode:
authorYasin <a.piri@hotmail.de>2023-10-09 12:58:02 +0200
committerYasin <a.piri@hotmail.de>2023-10-09 12:58:02 +0200
commitbd3f0329d0e391bd84b5f9e3ff207d9dd9815853 (patch)
tree2fd1d1ef625f57acc2e4916c967d8d2393844798 /src/main/java/me/xmrvizzy/skyblocker/utils/chat
parent2315b90da8117f28f66348927afdb621ee4fc815 (diff)
downloadSkyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.tar.gz
Skyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.tar.bz2
Skyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.zip
new pr because fixing merge conflict would take too long
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/chat')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java18
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java88
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java30
3 files changed, 0 insertions, 136 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java b/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java
deleted file mode 100644
index cd364eb5..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatFilterResult.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package me.xmrvizzy.skyblocker.utils.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/utils/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java
deleted file mode 100644
index 7bb75947..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatMessageListener.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package me.xmrvizzy.skyblocker.utils.chat;
-
-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.skyblock.filters.*;
-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/utils/chat/ChatPatternListener.java b/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java
deleted file mode 100644
index 3b363a85..00000000
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/chat/ChatPatternListener.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package me.xmrvizzy.skyblocker.utils.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);
-}