diff options
Diffstat (limited to 'src/main/java/dev/isxander/yacl/api/utils')
-rw-r--r-- | src/main/java/dev/isxander/yacl/api/utils/OptionUtils.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main/java/dev/isxander/yacl/api/utils/OptionUtils.java b/src/main/java/dev/isxander/yacl/api/utils/OptionUtils.java index ed51683..ab46b5b 100644 --- a/src/main/java/dev/isxander/yacl/api/utils/OptionUtils.java +++ b/src/main/java/dev/isxander/yacl/api/utils/OptionUtils.java @@ -9,20 +9,29 @@ import java.util.function.Consumer; import java.util.function.Function; public class OptionUtils { + /** + * Consumes all options, ignoring groups and categories. + * When consumer returns true, this function stops iterating. + */ 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 (consumer.apply(option)) return; } } } } + /** + * Consumes all options, ignoring groups and categories. + * + * @see OptionUtils#consumeOptions(YetAnotherConfigLib, Function) + */ public static void forEachOptions(YetAnotherConfigLib yacl, Consumer<Option<?>> consumer) { consumeOptions(yacl, (opt) -> { consumer.accept(opt); - return true; + return false; }); } } |