From aba2afb2c8b44a0c751db856511c166cbd5e6b14 Mon Sep 17 00:00:00 2001 From: Fix3dll Date: Thu, 3 Mar 2022 04:48:46 +0300 Subject: add: Autopet filter with ActionBar option remove: Unused imports --- src/main/resources/assets/skyblocker/lang/en_us.json | 1 + 1 file changed, 1 insertion(+) (limited to 'src/main/resources') diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 55c7910c..4ffba936 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -55,6 +55,7 @@ "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat", "text.autoconfig.skyblocker.option.messages.hideTeleportPad": "Hide Teleport Pad Messages", "text.autoconfig.skyblocker.option.messages.hideCombo": "Hide Combo Messages", + "text.autoconfig.skyblocker.option.messages.autopet": "Autopet Messages", "skyblocker.update.update_message": "§b[§6Skyblocker§b] §2There is a new version available!", "skyblocker.update.update_link": " §2§nClick here§r", -- cgit From 76c82f257e308ba9ea0401634f35f5bbde92da09 Mon Sep 17 00:00:00 2001 From: Fix3dll Date: Wed, 9 Mar 2022 01:12:55 +0300 Subject: change: fetch upstream and adapt to new chat listener --- .../skyblocker/chat/ChatMessageListener.java | 1 + .../skyblocker/chat/filters/AutopetFilter.java | 28 +++++++++++++++------- .../skyblocker/config/SkyblockerConfig.java | 2 ++ .../resources/assets/skyblocker/lang/en_us.json | 2 +- .../skyblocker/chat/filters/AutopetFilterTest.java | 5 ++-- 5 files changed, 27 insertions(+), 11 deletions(-) (limited to 'src/main/resources') diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java index 9fa72398..2e23bf31 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java @@ -39,6 +39,7 @@ public interface ChatMessageListener { new ImplosionFilter(), new MoltenWaveFilter(), new TeleportPadFilter(), + new AutopetFilter(), }; for (ChatMessageListener listener : listeners) EVENT.register(listener); diff --git a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java index 037c16f6..cdaadeda 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java +++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java @@ -1,24 +1,36 @@ 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.LiteralText; +import net.minecraft.text.Text; -public class AutopetFilter extends ChatFilter { +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 isEnabled() { - return SkyblockerConfig.get().messages.autopet != SkyblockerConfig.MsgOptions.Show; + public boolean onMatch(Text _message, Matcher matcher) { + if (SkyblockerConfig.get().messages.hideAutopet == ChatFilterResult.ACTION_BAR) { + Objects.requireNonNull(MinecraftClient.getInstance().player).sendMessage( + new LiteralText( + _message.getString().replace("§a§lVIEW RULE", "") + ), true); + } + return true; } @Override - public boolean onMessage(String[] groups) { - if (SkyblockerConfig.get().messages.autopet == SkyblockerConfig.MsgOptions.ActionBar) { - MinecraftClient.getInstance().player.sendMessage(new LiteralText(groups[0].replace("§a§lVIEW RULE", "")), true); - } - return true; + 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/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 130b3064..83abe748 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -142,6 +142,8 @@ public class SkyblockerConfig implements ConfigData { public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) public ChatFilterResult hideCombo = ChatFilterResult.PASS; + @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON) + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; } public enum Info { diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 022c5a6c..4aacfebf 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -55,7 +55,7 @@ "text.autoconfig.skyblocker.option.messages.hideAds": "Hide Ads From Public Chat", "text.autoconfig.skyblocker.option.messages.hideTeleportPad": "Hide Teleport Pad Messages", "text.autoconfig.skyblocker.option.messages.hideCombo": "Hide Combo Messages", - "text.autoconfig.skyblocker.option.messages.autopet": "Autopet Messages", + "text.autoconfig.skyblocker.option.messages.hideAutopet": "Hide Autopet Messages", "skyblocker.update.update_message": "§b[§6Skyblocker§b] §2There is a new version available!", "skyblocker.update.update_link": " §2§nClick here§r", diff --git a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java index a6f1381b..beda86f0 100644 --- a/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java +++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java @@ -1,18 +1,19 @@ package me.xmrvizzy.skyblocker.chat.filters; +import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertLinesMatch; import java.util.List; -class AutopetFilterTest extends ChatFilterTest { +class AutopetFilterTest extends ChatPatternListenerTest { public AutopetFilterTest() { super(new AutopetFilter()); } @Test void testAutopet() { - List expected = List.of("^§cAutopet §eequipped your §7.*§e! §a§lVIEW RULE$"); + List expected = List.of(listener.pattern.toString()); List actual = List.of("§cAutopet §eequipped your §7[Lvl 85] §6Tiger§e! §a§lVIEW RULE"); assertLinesMatch(expected, actual); -- cgit