From a4a6647c85260c44ec790e213eaea78936ab1415 Mon Sep 17 00:00:00 2001 From: tobinio Date: Fri, 31 Jan 2025 21:11:11 +0100 Subject: [PATCH] correctly use yacl --- .../bettersnowcoverage/config/Config.java | 12 +- .../bettersnowcoverage/config/ConfigMenu.java | 117 +++++++++--------- 2 files changed, 59 insertions(+), 70 deletions(-) diff --git a/src/main/java/tobinio/bettersnowcoverage/config/Config.java b/src/main/java/tobinio/bettersnowcoverage/config/Config.java index e840430..8953a75 100644 --- a/src/main/java/tobinio/bettersnowcoverage/config/Config.java +++ b/src/main/java/tobinio/bettersnowcoverage/config/Config.java @@ -92,20 +92,14 @@ public class Config { @SerialEntry public List excludedTags = new ArrayList<>(DEFAULT_EXCLUDED_TAGS); - public static int DEFAULT_MAX_VERTICAL_DISTANCE = 2; - @SerialEntry - public Integer maxVerticalDistance = DEFAULT_MAX_VERTICAL_DISTANCE; - - public static int DEFAULT_MAX_HORIZONTAL_DISTANCE = 8; + public Integer maxVerticalDistance = 2; @SerialEntry - public Integer maxHorizontalDistance = DEFAULT_MAX_HORIZONTAL_DISTANCE; - - public static CheckerMode DEFAULT_CHECKER_MODE = CheckerMode.PREFER_SNOW; + public Integer maxHorizontalDistance = 8; @SerialEntry - public CheckerMode checkerMode = DEFAULT_CHECKER_MODE; + public CheckerMode checkerMode = CheckerMode.PREFER_SNOW; public enum CheckerMode implements NameableEnum { PREFER_SNOW, diff --git a/src/main/java/tobinio/bettersnowcoverage/config/ConfigMenu.java b/src/main/java/tobinio/bettersnowcoverage/config/ConfigMenu.java index 617df3a..d6f7985 100644 --- a/src/main/java/tobinio/bettersnowcoverage/config/ConfigMenu.java +++ b/src/main/java/tobinio/bettersnowcoverage/config/ConfigMenu.java @@ -17,67 +17,62 @@ import net.minecraft.text.Text; public class ConfigMenu implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return parentScreen -> YetAnotherConfigLib.createBuilder() - .title(Text.translatable("better-snow-coverage.config.title")) - .category(ConfigCategory.createBuilder() - .name(Text.translatable("better-snow-coverage.config.category-title")) - .tooltip(Text.literal("All the settings")) - .option(ListOption.createBuilder() - .name(Text.translatable("better-snow-coverage.config.excluded-blocks.name")) - .description(OptionDescription.of(Text.translatable( - "better-snow-coverage.config.excluded-blocks.description"))) - .binding(Config.DEFAULT_EXCLUDED_BLOCKS, - () -> Config.HANDLER.instance().excludedBlocks, - newVal -> Config.HANDLER.instance().excludedBlocks = newVal) - .controller(StringControllerBuilder::create) - .initial("") - .collapsed(true) + return parentScreen -> YetAnotherConfigLib.create(Config.HANDLER, + (defaults, config, builder) -> builder.title(Text.translatable("better-snow-coverage.config.title")) + .category(ConfigCategory.createBuilder() + .name(Text.translatable("better-snow-coverage.config.category-title")) + .tooltip(Text.literal("All the settings")) + .option(ListOption.createBuilder() + .name(Text.translatable("better-snow-coverage.config.excluded-blocks.name")) + .description(OptionDescription.of(Text.translatable( + "better-snow-coverage.config.excluded-blocks.description"))) + .binding(defaults.excludedBlocks, + () -> config.excludedBlocks, + newVal -> config.excludedBlocks = newVal) + .controller(StringControllerBuilder::create) + .initial("") + .collapsed(true) + .build()) + .option(ListOption.createBuilder() + .name(Text.translatable("better-snow-coverage.config.excluded-tags.name")) + .description(OptionDescription.of(Text.translatable( + "better-snow-coverage.config.excluded-tags.description"))) + .binding(defaults.excludedTags, + () -> config.excludedTags, + newVal -> config.excludedTags = newVal) + .controller(StringControllerBuilder::create) + .initial("") + .collapsed(true) + .build()) + .option(Option.createBuilder() + .name(Text.translatable("better-snow-coverage.config.max-vertical.name")) + .description(OptionDescription.of(Text.translatable( + "better-snow-coverage.config.max-vertical.description"))) + .binding(defaults.maxVerticalDistance, + () -> config.maxVerticalDistance, + newVal -> config.maxVerticalDistance = newVal) + .controller(opt -> IntegerFieldControllerBuilder.create(opt).min(1)) + .build()) + .option(Option.createBuilder() + .name(Text.translatable("better-snow-coverage.config.max-horizontal.name")) + .description(OptionDescription.of(Text.translatable( + "better-snow-coverage.config.max-horizontal.description"))) + .binding(defaults.maxHorizontalDistance, + () -> config.maxHorizontalDistance, + newVal -> config.maxHorizontalDistance = newVal) + .controller(opt -> IntegerFieldControllerBuilder.create(opt).min(1)) + .build()) + .option(Option.createBuilder() + .name(Text.translatable("better-snow-coverage.config.checker-mode.name")) + .description(OptionDescription.of(Text.translatable( + "better-snow-coverage.config.checker-mode.description"))) + .binding(defaults.checkerMode, + () -> config.checkerMode, + newVal -> config.checkerMode = newVal) + .controller(opt -> EnumControllerBuilder.create(opt) + .enumClass(Config.CheckerMode.class)) + .build()) .build()) - .option(ListOption.createBuilder() - .name(Text.translatable("better-snow-coverage.config.excluded-tags.name")) - .description(OptionDescription.of(Text.translatable( - "better-snow-coverage.config.excluded-tags.description"))) - .binding(Config.DEFAULT_EXCLUDED_TAGS, - () -> Config.HANDLER.instance().excludedTags, - newVal -> Config.HANDLER.instance().excludedTags = newVal) - .controller(StringControllerBuilder::create) - .initial("") - .collapsed(true) - .build()) - .option(Option.createBuilder() - .name(Text.translatable("better-snow-coverage.config.max-vertical.name")) - .description(OptionDescription.of(Text.translatable( - "better-snow-coverage.config.max-vertical.description"))) - .binding(Config.DEFAULT_MAX_VERTICAL_DISTANCE, - () -> Config.HANDLER.instance().maxVerticalDistance, - newVal -> Config.HANDLER.instance().maxVerticalDistance = newVal) - .controller(opt -> IntegerFieldControllerBuilder.create(opt).min(1)) - .build()) - .option(Option.createBuilder() - .name(Text.translatable("better-snow-coverage.config.max-horizontal.name")) - .description(OptionDescription.of(Text.translatable( - "better-snow-coverage.config.max-horizontal.description"))) - .binding(Config.DEFAULT_MAX_HORIZONTAL_DISTANCE, - () -> Config.HANDLER.instance().maxHorizontalDistance, - newVal -> Config.HANDLER.instance().maxHorizontalDistance = newVal) - .controller(opt -> IntegerFieldControllerBuilder.create(opt).min(1)) - .build()) - .option(Option.createBuilder() - .name(Text.translatable("better-snow-coverage.config.checker-mode.name")) - .description(OptionDescription.of(Text.translatable( - "better-snow-coverage.config.checker-mode.description"))) - .binding(Config.DEFAULT_CHECKER_MODE, - () -> Config.HANDLER.instance().checkerMode, - newVal -> Config.HANDLER.instance().checkerMode = newVal) - .controller(opt -> EnumControllerBuilder.create(opt) - .enumClass(Config.CheckerMode.class)) - .build()) - .build()) - .save(() -> { - Config.HANDLER.save(); - Config.update(); - }) - .build() - .generateScreen(parentScreen); + ).generateScreen(parentScreen); } } \ No newline at end of file -- 2.51.2