aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/config
diff options
context:
space:
mode:
authorvicisacat <victor.branchu@gmail.com>2024-04-24 15:48:28 +0200
committerviciscat <51047087+viciscat@users.noreply.github.com>2024-06-02 13:26:45 +0200
commit07a0b32d0d1eadce04963963975322a3a7a093cb (patch)
tree3b4b516e5081400405cbe51abaa16d97f173a3b4 /src/main/java/de/hysky/skyblocker/config
parentc645892f94f9017b3685733c04520c47beedfed9 (diff)
downloadSkyblocker-07a0b32d0d1eadce04963963975322a3a7a093cb.tar.gz
Skyblocker-07a0b32d0d1eadce04963963975322a3a7a093cb.tar.bz2
Skyblocker-07a0b32d0d1eadce04963963975322a3a7a093cb.zip
epic config
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/EventNotificationsCategory.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/EventNotificationsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/EventNotificationsCategory.java
new file mode 100644
index 00000000..02be92a5
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/config/categories/EventNotificationsCategory.java
@@ -0,0 +1,43 @@
+package de.hysky.skyblocker.config.categories;
+
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.skyblock.events.EventNotifications;
+import de.hysky.skyblocker.utils.config.DurationController;
+import dev.isxander.yacl3.api.ConfigCategory;
+import dev.isxander.yacl3.api.ListOption;
+import dev.isxander.yacl3.api.OptionDescription;
+import dev.isxander.yacl3.api.OptionGroup;
+import net.minecraft.text.Text;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class EventNotificationsCategory {
+
+ public static ConfigCategory create(SkyblockerConfig config) {
+ return ConfigCategory.createBuilder()
+ .name(Text.literal("Event Notifications"))
+ .groups(createGroups(config))
+ .tooltip(Text.translatable("text.autoconfig.skyblocker.option.general.eventNotifications.@Tooltip[0]"),
+ Text.translatable("text.autoconfig.skyblocker.option.general.eventNotifications.@Tooltip[1]"))
+ .build();
+
+ }
+
+ private static List<OptionGroup> createGroups(SkyblockerConfig config) {
+ Map<String, List<Integer>> eventsReminderTimes = config.eventNotifications.eventsReminderTimes;
+ List<OptionGroup> groups = new ArrayList<>(eventsReminderTimes.size());
+ for (Map.Entry<String, List<Integer>> entry : eventsReminderTimes.entrySet()) {
+ groups.add(ListOption.<Integer>createBuilder()
+ .name(Text.literal(entry.getKey()))
+ .binding(EventNotifications.DEFAULT_REMINDERS, entry::getValue, entry::setValue)
+ .controller(option -> () -> new DurationController(option)) // yea
+ .initial(60)
+ .collapsed(true)
+ .build()
+ );
+ }
+ return groups;
+ }
+}