diff options
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 |