diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-09-29 00:46:17 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-09-29 00:46:17 -0400 |
commit | 73241aa860e775d45c70b8c089485d112a82b0ab (patch) | |
tree | 51751766a22483a733e95016f917c307b222ccec /src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java | |
parent | e64e67b45467977028afe27ff0c148c4caf77a58 (diff) | |
download | Skyblocker-73241aa860e775d45c70b8c089485d112a82b0ab.tar.gz Skyblocker-73241aa860e775d45c70b8c089485d112a82b0ab.tar.bz2 Skyblocker-73241aa860e775d45c70b8c089485d112a82b0ab.zip |
YACL 3.2.1
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java index fdc323b5..eb756641 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfigManager.java @@ -2,17 +2,20 @@ package me.xmrvizzy.skyblocker.config; import java.lang.StackWalker.Option; import java.nio.file.Path; + +import com.google.gson.FieldNamingPolicy; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import dev.isxander.yacl3.api.YetAnotherConfigLib; -import dev.isxander.yacl3.config.GsonConfigInstance; +import dev.isxander.yacl3.config.v2.api.ConfigClassHandler; +import dev.isxander.yacl3.config.v2.api.serializer.GsonConfigSerializerBuilder; import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.config.categories.DiscordRPCCategory; import me.xmrvizzy.skyblocker.config.categories.DungeonsCategory; import me.xmrvizzy.skyblocker.config.categories.DwarvenMinesCategory; import me.xmrvizzy.skyblocker.config.categories.GeneralCategory; -import me.xmrvizzy.skyblocker.config.categories.MessageFilterCategory; import me.xmrvizzy.skyblocker.config.categories.LocationsCategory; +import me.xmrvizzy.skyblocker.config.categories.MessageFilterCategory; import me.xmrvizzy.skyblocker.config.categories.QuickNavigationCategory; import me.xmrvizzy.skyblocker.config.categories.SlayersCategory; import me.xmrvizzy.skyblocker.utils.scheduler.Scheduler; @@ -22,24 +25,22 @@ import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.gui.screen.Screen; import net.minecraft.text.Text; +import net.minecraft.util.Identifier; -@SuppressWarnings("deprecation") public class SkyblockerConfigManager { private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker.json"); - private static final GsonConfigInstance<SkyblockerConfig> INSTANCE = GsonConfigInstance.createBuilder(SkyblockerConfig.class) - .setPath(PATH) - .overrideGsonBuilder(ConfigSerializer.INSTANCE) - .build(); - /*private static final ConfigClassHandler<ConfigModel> HANDLER = ConfigClassHandler.createBuilder(ConfigModel.class) + private static final ConfigClassHandler<SkyblockerConfig> HANDLER = ConfigClassHandler.createBuilder(SkyblockerConfig.class) .serializer(config -> GsonConfigSerializerBuilder.create(config) .setPath(PATH) .setJson5(false) - .overrideGsonBuilder(ConfigSerializer.INSTANCE) + .appendGsonBuilder(builder -> builder + .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY) + .registerTypeHierarchyAdapter(Identifier.class, new Identifier.Serializer())) .build()) - .build();*/ + .build(); public static SkyblockerConfig get() { - return INSTANCE.getConfig(); + return HANDLER.instance(); } /** @@ -51,16 +52,16 @@ public class SkyblockerConfigManager { throw new RuntimeException("Skyblocker: Called config init from an illegal place!"); } - INSTANCE.load(); + HANDLER.load(); ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(ClientCommandManager.literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options"))))); } public static void save() { - INSTANCE.save(); + HANDLER.save(); } public static Screen createGUI(Screen parent) { - return YetAnotherConfigLib.create(INSTANCE, (defaults, config, builder) -> builder + return YetAnotherConfigLib.create(HANDLER, (defaults, config, builder) -> builder .title(Text.translatable("text.autoconfig.skyblocker.title")) .category(GeneralCategory.create(defaults, config)) .category(DungeonsCategory.create(defaults, config)) |