From e0693fe6fdb30b135aa5c130dc911e08c59fbd53 Mon Sep 17 00:00:00 2001 From: MotWnb Date: Wed, 31 Dec 2025 18:29:28 +0800 Subject: [PATCH] fix(config): update reset button logic to use TradeFinderConfig for enchantments --- .../config/TradeFinderConfig.java | 4 ++++ .../screens/EnchantmentsListWidget.java | 15 +++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/greenman999/librariantradefinder/config/TradeFinderConfig.java b/src/main/java/de/greenman999/librariantradefinder/config/TradeFinderConfig.java index 52a1e35..1205ed0 100644 --- a/src/main/java/de/greenman999/librariantradefinder/config/TradeFinderConfig.java +++ b/src/main/java/de/greenman999/librariantradefinder/config/TradeFinderConfig.java @@ -167,6 +167,10 @@ public EnchantmentOption(Enchantment enchantment, boolean enabled) { this(enchantment, enabled, enchantment.getMaxLevel(), 64); } + public Enchantment getEnchantment() { + return enchantment; + } + public static EnchantmentOption fromJson(JsonObject json) { ResourceKey enchantmentKey = ResourceKey.create(Registries.ENCHANTMENT, Identifier.tryParse(json.getAsJsonPrimitive("enchantment").getAsString())); Enchantment enchantment = getEnchantmentRegistry().getValue(enchantmentKey); diff --git a/src/main/java/de/greenman999/librariantradefinder/screens/EnchantmentsListWidget.java b/src/main/java/de/greenman999/librariantradefinder/screens/EnchantmentsListWidget.java index 402739a..b9096c4 100644 --- a/src/main/java/de/greenman999/librariantradefinder/screens/EnchantmentsListWidget.java +++ b/src/main/java/de/greenman999/librariantradefinder/screens/EnchantmentsListWidget.java @@ -2,6 +2,7 @@ import com.mojang.blaze3d.platform.InputConstants; import de.greenman999.librariantradefinder.LibrarianTradeFinder; +import de.greenman999.librariantradefinder.config.TradeFinderConfig; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.AbstractSelectionList; @@ -28,10 +29,15 @@ public EnchantmentsListWidget(Minecraft client, int width, int height, int top, } this.resetButton = GrayButtonWidget.builder(Component.translatable("tradefinderui.reset"), (buttonWidget) -> { - for(EnchantmentEntry enchantmentEntry : this.children()) { - enchantmentEntry.maxPriceField.setValue("64"); - enchantmentEntry.levelField.setValue(String.valueOf(enchantmentEntry.enchantment.getMaxLevel())); - enchantmentEntry.enabled = false; + for (TradeFinderConfig.EnchantmentOption option : LibrarianTradeFinder.getConfig().enchantments.values()) { + option.setMaxPrice(64); + option.setLevel(option.getEnchantment().getMaxLevel()); + option.setEnabled(false); + } + LibrarianTradeFinder.getConfig().save(); + this.clearEntries(); + for (Enchantment enchantment : LibrarianTradeFinder.getConfig().enchantments.keySet()) { + this.addEntry(new EnchantmentEntry(enchantment)); } }) .color(0x5FC7C0C0) @@ -39,6 +45,7 @@ public EnchantmentsListWidget(Minecraft client, int width, int height, int top, .tooltip(Tooltip.create(Component.translatable("tradefinderui.reset.tooltip"))) .build(); + } @Override