diff options
author | isXander <xandersmith2008@gmail.com> | 2023-08-12 23:56:06 +0100 |
---|---|---|
committer | isXander <xandersmith2008@gmail.com> | 2023-08-12 23:56:06 +0100 |
commit | d37e147dbb4db44a921533b572aed3e54b5c6a42 (patch) | |
tree | 0c72e58da081135d3819c4af7365f08c2af7fdb6 /common/src/main/java/dev/isxander/yacl3/api | |
parent | 3083aebe47f63661238ee2b521b0451af2d95e9f (diff) | |
download | YetAnotherConfigLib-d37e147dbb4db44a921533b572aed3e54b5c6a42.tar.gz YetAnotherConfigLib-d37e147dbb4db44a921533b572aed3e54b5c6a42.tar.bz2 YetAnotherConfigLib-d37e147dbb4db44a921533b572aed3e54b5c6a42.zip |
Config API v2
Diffstat (limited to 'common/src/main/java/dev/isxander/yacl3/api')
-rw-r--r-- | common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java b/common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java index 15ce5bc..5213e90 100644 --- a/common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java +++ b/common/src/main/java/dev/isxander/yacl3/api/YetAnotherConfigLib.java @@ -2,6 +2,7 @@ package dev.isxander.yacl3.api; import com.google.common.collect.ImmutableList; import dev.isxander.yacl3.config.ConfigInstance; +import dev.isxander.yacl3.config.v2.api.ConfigClassHandler; import dev.isxander.yacl3.gui.YACLScreen; import dev.isxander.yacl3.impl.YetAnotherConfigLibImpl; import net.minecraft.client.gui.screens.Screen; @@ -51,10 +52,15 @@ public interface YetAnotherConfigLib { return new YetAnotherConfigLibImpl.BuilderImpl(); } + static <T> YetAnotherConfigLib create(ConfigClassHandler<T> configHandler, ConfigBackedBuilder<T> builder) { + return builder.build(configHandler.defaults(), configHandler.instance(), createBuilder().save(configHandler.serializer()::serialize)).build(); + } + /** * Creates an instance using a {@link ConfigInstance} which autofills the save() builder method. * This also takes an easy functional interface that provides defaults and config to help build YACL bindings. */ + @Deprecated static <T> YetAnotherConfigLib create(ConfigInstance<T> configInstance, ConfigBackedBuilder<T> builder) { return builder.build(configInstance.getDefaults(), configInstance.getConfig(), createBuilder().save(configInstance::save)).build(); } |