Sfoglia il codice sorgente

Added custom gui builder

Lortseam 5 anni fa
parent
commit
b8e49521ff

+ 1 - 1
gradle.properties

@@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G
 	loader_version=0.8.2+build.194
 
 # Mod Properties
-	mod_version = 0.1.2
+	mod_version = 0.1.3
 	maven_group = com.gitlab.Lortseam
 	archives_base_name = completeconfig
 

+ 8 - 3
src/main/java/me/lortseam/completeconfig/ConfigManager.java

@@ -33,6 +33,7 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.*;
+import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 public class ConfigManager {
@@ -45,6 +46,7 @@ public class ConfigManager {
     private final Set<SaveConsumer> pendingSaveConsumers = new HashSet<>();
     @Getter
     private final GuiRegistry guiRegistry = new GuiRegistry();
+    private Supplier<ConfigBuilder> guiBuilder = ConfigBuilder::create;
 
     ConfigManager(String modID) {
         this.modID = modID;
@@ -243,10 +245,13 @@ public class ConfigManager {
         return joinIDs("config", modID, joinIDs(ids));
     }
 
+    public void setCustomGuiBuilder(Supplier<ConfigBuilder> guiBuilder) {
+        this.guiBuilder = guiBuilder;
+    }
+
     public Screen getConfigScreen(Screen parentScreen) {
-        ConfigBuilder builder = ConfigBuilder
-                .create()
-                .setParentScreen(parentScreen)
+        ConfigBuilder builder = guiBuilder.get();
+        builder.setParentScreen(parentScreen)
                 .setTitle(buildTranslationKey("title"))
                 .setSavingRunnable(this::save);
         config.forEach((categoryID, category) -> {