aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/ChatMessageListener.java1
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java36
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java2
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json1
-rw-r--r--src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java15
5 files changed, 55 insertions, 0 deletions
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
new file mode 100644
index 00000000..cdaadeda
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilter.java
@@ -0,0 +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;
+
+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(
+ new LiteralText(
+ _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/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 82505c1d..4aacfebf 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.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
new file mode 100644
index 00000000..534ce2b7
--- /dev/null
+++ b/src/test/java/me/xmrvizzy/skyblocker/chat/filters/AutopetFilterTest.java
@@ -0,0 +1,15 @@
+package me.xmrvizzy.skyblocker.chat.filters;
+
+import me.xmrvizzy.skyblocker.chat.ChatPatternListenerTest;
+import org.junit.jupiter.api.Test;
+
+class AutopetFilterTest extends ChatPatternListenerTest<AutopetFilter> {
+ public AutopetFilterTest() {
+ super(new AutopetFilter());
+ }
+
+ @Test
+ void testAutopet() {
+ assertMatches("§cAutopet §eequipped your §7[Lvl 85] §6Tiger§e! §a§lVIEW RULE");
+ }
+} \ No newline at end of file