From 7e260b9baf431a82401bdca1555a6d42eb4937a7 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 8 Jul 2025 15:01:18 -0400 Subject: Add hide toggle lottery message filter --- .../skyblocker/config/categories/ChatCategory.java | 8 ++++ .../skyblocker/config/configs/ChatConfig.java | 46 +++++++++++----------- .../skyblock/chat/filters/ToggleLotteryFilter.java | 16 ++++++++ .../skyblocker/utils/chat/ChatMessageListener.java | 1 + 4 files changed, 49 insertions(+), 22 deletions(-) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/chat/filters/ToggleLotteryFilter.java (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java index d50578e4..fdabd3fe 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/ChatCategory.java @@ -120,6 +120,14 @@ public class ChatCategory { newValue -> config.chat.hideToggleSkyMall = newValue) .controller(ConfigUtils.createEnumController()) .build()) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.chat.filter.hideToggleLottery")) + .description(Text.translatable("skyblocker.config.chat.filter.hideToggleLottery.@Tooltip")) + .binding(defaults.chat.hideToggleLottery, + () -> config.chat.hideToggleLottery, + newValue -> config.chat.hideToggleLottery = newValue) + .controller(ConfigUtils.createEnumController()) + .build()) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.chat.filter.hideMana")) .description(Text.translatable("skyblocker.config.chat.filter.hideMana.@Tooltip")) diff --git a/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java index c16cfc04..0b1ab4f1 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/ChatConfig.java @@ -3,46 +3,48 @@ package de.hysky.skyblocker.config.configs; import de.hysky.skyblocker.utils.chat.ChatFilterResult; public class ChatConfig { - public boolean skyblockXpMessages = true; + public boolean skyblockXpMessages = true; - public boolean confirmationPromptHelper = false; + public boolean confirmationPromptHelper = false; - public ChatFilterResult hideAbility = ChatFilterResult.PASS; + public ChatFilterResult hideAbility = ChatFilterResult.PASS; - public ChatFilterResult hideHeal = ChatFilterResult.PASS; + public ChatFilterResult hideHeal = ChatFilterResult.PASS; - public ChatFilterResult hideAOTE = ChatFilterResult.PASS; + public ChatFilterResult hideAOTE = ChatFilterResult.PASS; - public ChatFilterResult hideImplosion = ChatFilterResult.PASS; + public ChatFilterResult hideImplosion = ChatFilterResult.PASS; - public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; + public ChatFilterResult hideMoltenWave = ChatFilterResult.PASS; - public ChatFilterResult hideAds = ChatFilterResult.PASS; + public ChatFilterResult hideAds = ChatFilterResult.PASS; - public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; + public ChatFilterResult hideTeleportPad = ChatFilterResult.PASS; - public ChatFilterResult hideCombo = ChatFilterResult.PASS; + public ChatFilterResult hideCombo = ChatFilterResult.PASS; - public ChatFilterResult hideAutopet = ChatFilterResult.PASS; + public ChatFilterResult hideAutopet = ChatFilterResult.PASS; - public ChatFilterResult hideShowOff = ChatFilterResult.PASS; + public ChatFilterResult hideShowOff = ChatFilterResult.PASS; - public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; + public ChatFilterResult hideToggleSkyMall = ChatFilterResult.PASS; - public ChatFilterResult hideMimicKill = ChatFilterResult.PASS; + public ChatFilterResult hideToggleLottery = ChatFilterResult.PASS; - public ChatFilterResult hideDeath = ChatFilterResult.PASS; + public ChatFilterResult hideMimicKill = ChatFilterResult.PASS; - public boolean hideMana = false; + public ChatFilterResult hideDeath = ChatFilterResult.PASS; - public ChatFilterResult hideDicer = ChatFilterResult.PASS; + public boolean hideMana = false; - public ChatRuleConfig chatRuleConfig = new ChatRuleConfig(); + public ChatFilterResult hideDicer = ChatFilterResult.PASS; - public static class ChatRuleConfig { - public int announcementLength = 60; + public ChatRuleConfig chatRuleConfig = new ChatRuleConfig(); + + public static class ChatRuleConfig { + public int announcementLength = 60; @Deprecated - public int announcementScale = 3; - } + public transient int announcementScale = 3; + } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/chat/filters/ToggleLotteryFilter.java b/src/main/java/de/hysky/skyblocker/skyblock/chat/filters/ToggleLotteryFilter.java new file mode 100644 index 00000000..51bc4f4d --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/chat/filters/ToggleLotteryFilter.java @@ -0,0 +1,16 @@ +package de.hysky.skyblocker.skyblock.chat.filters; + +import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.utils.chat.ChatFilterResult; + +public class ToggleLotteryFilter extends SimpleChatFilter { + + public ToggleLotteryFilter() { + super("^You can disable this messaging by toggling Lottery in your /hotf!$"); + } + + @Override + protected ChatFilterResult state() { + return SkyblockerConfigManager.get().chat.hideToggleLottery; + } +} 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 f3adb944..6d82c3ab 100644 --- a/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java +++ b/src/main/java/de/hysky/skyblocker/utils/chat/ChatMessageListener.java @@ -57,6 +57,7 @@ public interface ChatMessageListener { new AutopetFilter(), new ShowOffFilter(), new ToggleSkyMallFilter(), + new ToggleLotteryFilter(), new MimicFilter(), new DeathFilter(), new DicerFilter() -- cgit