Lortseam преди 4 години
родител
ревизия
56e42ae243

+ 7 - 3
src/main/java/me/lortseam/completeconfig/gui/ConfigScreenBuilder.java

@@ -1,20 +1,24 @@
 package me.lortseam.completeconfig.gui;
 
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 import me.lortseam.completeconfig.data.Config;
 import net.fabricmc.api.EnvType;
 import net.fabricmc.api.Environment;
 import net.minecraft.client.gui.screen.Screen;
 
+@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
 public abstract class ConfigScreenBuilder {
 
+    protected final Config config;
+
     /**
-     * Builds a screen based on a config.
+     * Builds the screen.
      *
      * @param parentScreen the parent screen
-     * @param config the config to build the screen of
      * @return the built screen
      */
     @Environment(EnvType.CLIENT)
-    public abstract Screen build(Screen parentScreen, Config config);
+    public abstract Screen build(Screen parentScreen);
 
 }

+ 5 - 4
src/main/java/me/lortseam/completeconfig/gui/cloth/ClothConfigScreenBuilder.java

@@ -31,16 +31,17 @@ public final class ClothConfigScreenBuilder extends ConfigScreenBuilder {
     @Getter
     private final GuiRegistry registry = new GuiRegistry();
 
-    public ClothConfigScreenBuilder(Supplier<ConfigBuilder> supplier) {
+    public ClothConfigScreenBuilder(Config config, Supplier<ConfigBuilder> supplier) {
+        super(config);
         this.supplier = supplier;
     }
 
-    public ClothConfigScreenBuilder() {
-        this(ConfigBuilder::create);
+    public ClothConfigScreenBuilder(Config config) {
+        this(config, ConfigBuilder::create);
     }
 
     @Override
-    public Screen build(Screen parentScreen, Config config) {
+    public Screen build(Screen parentScreen) {
         ConfigBuilder builder = supplier.get()
                 .setParentScreen(parentScreen)
                 .setSavingRunnable(config::save);