aboutsummaryrefslogtreecommitdiff
path: root/common/src/main/java/dev/isxander/yacl3/api
diff options
context:
space:
mode:
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();
}