From 05c5213d754edb91486b6cbc494b9bc92703de00 Mon Sep 17 00:00:00 2001 From: GeorgeRNG Date: Fri, 7 Apr 2023 18:35:04 +0100 Subject: [PATCH] Reclone since fabric is messed up --- .../codeclient/{ => config}/Config.java | 21 ++++++++++++------- .../codeclient/config/ModMenuIntegration.java | 11 ++++++++++ src/main/resources/fabric.mod.json | 2 +- 3 files changed, 26 insertions(+), 8 deletions(-) rename src/main/java/dev/dfonline/codeclient/{ => config}/Config.java (76%) create mode 100644 src/main/java/dev/dfonline/codeclient/config/ModMenuIntegration.java diff --git a/src/main/java/dev/dfonline/codeclient/Config.java b/src/main/java/dev/dfonline/codeclient/config/Config.java similarity index 76% rename from src/main/java/dev/dfonline/codeclient/Config.java rename to src/main/java/dev/dfonline/codeclient/config/Config.java index 15ae0c70..3ab7c37d 100644 --- a/src/main/java/dev/dfonline/codeclient/Config.java +++ b/src/main/java/dev/dfonline/codeclient/config/Config.java @@ -1,17 +1,28 @@ -package dev.dfonline.codeclient; +package dev.dfonline.codeclient.config; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; +import dev.dfonline.codeclient.CodeClient; +import dev.dfonline.codeclient.FileManager; import dev.isxander.yacl.api.ConfigCategory; import dev.isxander.yacl.api.Option; import dev.isxander.yacl.api.YetAnotherConfigLib; import dev.isxander.yacl.gui.controllers.TickBoxController; import net.minecraft.text.Text; -public class Config implements ModMenuApi { - private final YetAnotherConfigLib config; +public class Config { + public final YetAnotherConfigLib config; public boolean NoClipEnabled; + public static Config getConfig() { + try { + return CodeClient.gson.fromJson(FileManager.readFile("options.json"), Config.class); + } + catch (Exception ignored) { + return new Config(); + } + } + public Config() { config = YetAnotherConfigLib.createBuilder() .title(Text.literal("CodeClient Config")) @@ -32,8 +43,4 @@ public Config() { .build(); } - @Override - public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> new Config().config.generateScreen(parent); - } } diff --git a/src/main/java/dev/dfonline/codeclient/config/ModMenuIntegration.java b/src/main/java/dev/dfonline/codeclient/config/ModMenuIntegration.java new file mode 100644 index 00000000..122270d9 --- /dev/null +++ b/src/main/java/dev/dfonline/codeclient/config/ModMenuIntegration.java @@ -0,0 +1,11 @@ +package dev.dfonline.codeclient.config; + +import com.terraformersmc.modmenu.api.ConfigScreenFactory; +import com.terraformersmc.modmenu.api.ModMenuApi; + +public class ModMenuIntegration implements ModMenuApi { + @Override + public ConfigScreenFactory getModConfigScreenFactory() { + return parent -> Config.getConfig().config.generateScreen(parent); + } +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index b9e1ad79..a21f7cb9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -22,7 +22,7 @@ "dev.dfonline.codeclient.CodeClient" ], "modmenu": [ - "dev.dfonline.codeclient.Config" + "dev.dfonline.codeclient.config.ModMenuIntegration" ] }, "mixins": [