aboutsummaryrefslogtreecommitdiff
path: root/common/src/main/java/dev/isxander/yacl3/api
diff options
context:
space:
mode:
authorisXander <xandersmith2008@gmail.com>2023-08-12 23:56:06 +0100
committerisXander <xandersmith2008@gmail.com>2023-08-12 23:56:06 +0100
commitd37e147dbb4db44a921533b572aed3e54b5c6a42 (patch)
tree0c72e58da081135d3819c4af7365f08c2af7fdb6 /common/src/main/java/dev/isxander/yacl3/api
parent3083aebe47f63661238ee2b521b0451af2d95e9f (diff)
downloadYetAnotherConfigLib-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.java6
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();
}