aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/dungeon
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2023-10-03 03:05:25 -0400
committerAaron <51387595+AzureAaron@users.noreply.github.com>2023-10-17 18:28:40 -0400
commit9d8853474d3935bf6af0a86f3f374c114fb1e25a (patch)
treeebd0d058012edacc4232ca7adcf71d3093e344a5 /src/main/java/de/hysky/skyblocker/skyblock/dungeon
parent150c9e4fed1973cf4eb14d8f10323a129266e602 (diff)
downloadSkyblocker-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.java18
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);
}