aboutsummaryrefslogtreecommitdiff
path: root/src/client/java/dev/isxander/yacl/api/utils
diff options
context:
space:
mode:
authorXander <xander@isxander.dev>2022-12-11 19:31:56 +0000
committerGitHub <noreply@github.com>2022-12-11 19:31:56 +0000
commitdd65110f60aa3e32c2970863a06a7682520cce5e (patch)
tree44612c6aa85374efa639462592ae706fb93f2575 /src/client/java/dev/isxander/yacl/api/utils
parentb890c2f0eec3627e552f1c6cfc846c8a55663243 (diff)
downloadYetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.tar.gz
YetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.tar.bz2
YetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.zip
[Feature] Lists (#40)
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;
+ }
}
+
}
}
}