From 4dc26a13ced11281a4da74bd52d00ef36c0d03d5 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Thu, 4 Jan 2024 01:56:29 -0500 Subject: Toggle Sky Mall Filter (#475) --- .../de/hysky/skyblocker/config/SkyblockerConfig.java | 3 +++ .../config/categories/MessageFilterCategory.java | 8 ++++++++ .../skyblocker/skyblock/filters/ToggleSkyMallFilter.java | 16 ++++++++++++++++ .../hysky/skyblocker/utils/chat/ChatMessageListener.java | 3 ++- 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java (limited to 'src/main/java/de/hysky') diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index 6044aef9..7e6dbdd8 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -939,6 +939,9 @@ public class SkyblockerConfig { @SerialEntry public ChatFilterResult hideShowOff = ChatFilterResult.PASS; + @SerialEntry + public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; + @SerialEntry public boolean hideMana = false; } diff --git a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java index c63b933d..37f24d8c 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/MessageFilterCategory.java @@ -87,6 +87,14 @@ public class MessageFilterCategory { newValue -> config.messages.hideShowOff = newValue) .controller(ConfigUtils::createEnumCyclingListController) .build()) + .option(Option.createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideToggleSkyMall")) + .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.messages.hideToggleSkyMall.@Tooltip"))) + .binding(defaults.messages.hideToggleSkyMall, + () -> config.messages.hideToggleSkyMall, + newValue -> config.messages.hideToggleSkyMall = newValue) + .controller(ConfigUtils::createEnumCyclingListController) + .build()) .option(Option.createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.messages.hideMana")) .binding(defaults.messages.hideMana, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java new file mode 100644 index 00000000..94d10e3a --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/filters/ToggleSkyMallFilter.java @@ -0,0 +1,16 @@ +package de.hysky.skyblocker.skyblock.filters; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.chat.ChatFilterResult; + +public class ToggleSkyMallFilter extends SimpleChatFilter { + + public ToggleSkyMallFilter() { + super("^§8§oYou can disable this messaging by toggling Sky Mall in your /hotm!$"); + } + + @Override + protected ChatFilterResult state() { + return SkyblockerConfigManager.get().messages.hideToggleSkyMall; + } +} diff --git a/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java index 42f890b7..ebdb6f09 100644 --- a/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java +++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java @@ -53,7 +53,8 @@ public interface ChatMessageListener { new MoltenWaveFilter(), new TeleportPadFilter(), new AutopetFilter(), - new ShowOffFilter() + new ShowOffFilter(), + new ToggleSkyMallFilter() }; // Register all listeners to EVENT for (ChatMessageListener listener : listeners) { -- cgit