diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-10-03 03:05:25 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-10-17 18:28:40 -0400 |
commit | 9d8853474d3935bf6af0a86f3f374c114fb1e25a (patch) | |
tree | ebd0d058012edacc4232ca7adcf71d3093e344a5 /src/main/java/de/hysky/skyblocker/skyblock/dungeon | |
parent | 150c9e4fed1973cf4eb14d8f10323a129266e602 (diff) | |
download | Skyblocker-9d8853474d3935bf6af0a86f3f374c114fb1e25a.tar.gz Skyblocker-9d8853474d3935bf6af0a86f3f374c114fb1e25a.tar.bz2 Skyblocker-9d8853474d3935bf6af0a86f3f374c114fb1e25a.zip |
Fix some HUD options resetting sometimes
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dungeon')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java index 145ee2bc..d662e99a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java @@ -2,8 +2,13 @@ package de.hysky.skyblocker.skyblock.dungeon; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.render.RenderHelper; +import dev.isxander.yacl3.api.ConfigCategory; +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.api.OptionGroup; +import dev.isxander.yacl3.gui.YACLScreen; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; import java.awt.*; @@ -56,6 +61,19 @@ public class DungeonMapConfigScreen extends Screen { public void close() { SkyblockerConfigManager.get().locations.dungeons.mapX = hudX; SkyblockerConfigManager.get().locations.dungeons.mapY = hudY; + + if (parent instanceof YACLScreen yaclScreen) { + ConfigCategory category = yaclScreen.config.categories().stream().filter(cat -> cat.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.locations.dungeons"))).findFirst().orElseThrow(); + OptionGroup group = category.groups().get(0); // Internally index 0 is the group created for all ungrouped options + + Option<?> xOpt = group.options().stream().filter(opt -> opt.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.locations.dungeons.mapX"))).findFirst().orElseThrow(); + Option<?> yOpt = group.options().stream().filter(opt -> opt.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.locations.dungeons.mapY"))).findFirst().orElseThrow(); + + // Refresh the value in the config with the bound value + xOpt.forgetPendingValue(); + yOpt.forgetPendingValue(); + } + SkyblockerConfigManager.save(); this.client.setScreen(parent); } |