aboutsummaryrefslogtreecommitdiff
path: root/src/client/java/dev/isxander/yacl/api/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/java/dev/isxander/yacl/api/utils')
-rw-r--r--src/client/java/dev/isxander/yacl/api/utils/OptionUtils.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/client/java/dev/isxander/yacl/api/utils/OptionUtils.java b/src/client/java/dev/isxander/yacl/api/utils/OptionUtils.java
index ab46b5b..22032bd 100644
--- a/src/client/java/dev/isxander/yacl/api/utils/OptionUtils.java
+++ b/src/client/java/dev/isxander/yacl/api/utils/OptionUtils.java
@@ -1,9 +1,6 @@
package dev.isxander.yacl.api.utils;
-import dev.isxander.yacl.api.ConfigCategory;
-import dev.isxander.yacl.api.Option;
-import dev.isxander.yacl.api.OptionGroup;
-import dev.isxander.yacl.api.YetAnotherConfigLib;
+import dev.isxander.yacl.api.*;
import java.util.function.Consumer;
import java.util.function.Function;
@@ -16,9 +13,14 @@ public class OptionUtils {
public static void consumeOptions(YetAnotherConfigLib yacl, Function<Option<?>, Boolean> consumer) {
for (ConfigCategory category : yacl.categories()) {
for (OptionGroup group : category.groups()) {
- for (Option<?> option : group.options()) {
- if (consumer.apply(option)) return;
+ if (group instanceof ListOption<?> list) {
+ if (consumer.apply(list)) return;
+ } else {
+ for (Option<?> option : group.options()) {
+ if (consumer.apply(option)) return;
+ }
}
+
}
}
}