From 9d8853474d3935bf6af0a86f3f374c114fb1e25a Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 3 Oct 2023 03:05:25 -0400 Subject: Fix some HUD options resetting sometimes --- .../render/title/TitleContainerConfigScreen.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'src/main/java/de/hysky/skyblocker/utils/render/title') diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java index 5a42eeb4..599aa9f1 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java @@ -3,8 +3,13 @@ package de.hysky.skyblocker.utils.render.title; import de.hysky.skyblocker.config.SkyblockerConfig; 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.client.util.math.Vector2f; import net.minecraft.text.Text; import net.minecraft.util.Formatting; @@ -21,6 +26,7 @@ public class TitleContainerConfigScreen extends Screen { private float hudX = SkyblockerConfigManager.get().general.titleContainer.x; private float hudY = SkyblockerConfigManager.get().general.titleContainer.y; private final Screen parent; + private boolean changedScale, changedOrientation, changedAlignment; protected TitleContainerConfigScreen() { this(null); @@ -135,6 +141,7 @@ public class TitleContainerConfigScreen extends Screen { case MIDDLE -> SkyblockerConfig.Alignment.RIGHT; case RIGHT -> SkyblockerConfig.Alignment.LEFT; }; + changedAlignment = true; } if (keyCode == GLFW.GLFW_KEY_E) { SkyblockerConfig.Alignment current = SkyblockerConfigManager.get().general.titleContainer.alignment; @@ -143,6 +150,7 @@ public class TitleContainerConfigScreen extends Screen { case MIDDLE -> SkyblockerConfig.Alignment.LEFT; case RIGHT -> SkyblockerConfig.Alignment.MIDDLE; }; + changedAlignment = true; } if (keyCode == GLFW.GLFW_KEY_R) { SkyblockerConfig.Direction current = SkyblockerConfigManager.get().general.titleContainer.direction; @@ -150,20 +158,43 @@ public class TitleContainerConfigScreen extends Screen { case HORIZONTAL -> SkyblockerConfig.Direction.VERTICAL; case VERTICAL -> SkyblockerConfig.Direction.HORIZONTAL; }; + changedOrientation = true; } if (keyCode == GLFW.GLFW_KEY_EQUAL) { SkyblockerConfigManager.get().general.titleContainer.titleContainerScale += 10; + changedScale = true; } if (keyCode == GLFW.GLFW_KEY_MINUS) { SkyblockerConfigManager.get().general.titleContainer.titleContainerScale -= 10; + changedScale = true; } return super.keyPressed(keyCode, scanCode, modifiers); } + @Override public void close() { SkyblockerConfigManager.get().general.titleContainer.x = (int) hudX; SkyblockerConfigManager.get().general.titleContainer.y = (int) hudY; + + if (parent instanceof YACLScreen yaclScreen) { + ConfigCategory category = yaclScreen.config.categories().stream().filter(cat -> cat.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.category.general"))).findFirst().orElseThrow(); + OptionGroup group = category.groups().stream().filter(grp -> grp.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.general.titleContainer"))).findFirst().orElseThrow(); + + Option scaleOpt = group.options().get(0); + Option xOpt = group.options().get(1); + Option yOpt = group.options().get(2); + Option orientationOpt = group.options().get(3); + Option horizontalAlignmentOpt = group.options().get(4); + + // Refresh the value in the config with the bound value + if (changedScale) scaleOpt.forgetPendingValue(); + xOpt.forgetPendingValue(); + yOpt.forgetPendingValue(); + if (changedOrientation) orientationOpt.forgetPendingValue(); + if (changedAlignment) horizontalAlignmentOpt.forgetPendingValue(); + } + SkyblockerConfigManager.save(); this.client.setScreen(parent); } -- cgit From 4ac68ae960e9377c898e2af70089b5fbc27fd5e3 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 17 Oct 2023 19:07:57 -0400 Subject: Remove most antiquated hud config options --- .../utils/render/title/TitleContainerConfigScreen.java | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) (limited to 'src/main/java/de/hysky/skyblocker/utils/render/title') diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java index 599aa9f1..7eca7444 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java @@ -26,7 +26,7 @@ public class TitleContainerConfigScreen extends Screen { private float hudX = SkyblockerConfigManager.get().general.titleContainer.x; private float hudY = SkyblockerConfigManager.get().general.titleContainer.y; private final Screen parent; - private boolean changedScale, changedOrientation, changedAlignment; + private boolean changedScale; protected TitleContainerConfigScreen() { this(null); @@ -141,7 +141,6 @@ public class TitleContainerConfigScreen extends Screen { case MIDDLE -> SkyblockerConfig.Alignment.RIGHT; case RIGHT -> SkyblockerConfig.Alignment.LEFT; }; - changedAlignment = true; } if (keyCode == GLFW.GLFW_KEY_E) { SkyblockerConfig.Alignment current = SkyblockerConfigManager.get().general.titleContainer.alignment; @@ -150,7 +149,6 @@ public class TitleContainerConfigScreen extends Screen { case MIDDLE -> SkyblockerConfig.Alignment.LEFT; case RIGHT -> SkyblockerConfig.Alignment.MIDDLE; }; - changedAlignment = true; } if (keyCode == GLFW.GLFW_KEY_R) { SkyblockerConfig.Direction current = SkyblockerConfigManager.get().general.titleContainer.direction; @@ -158,7 +156,6 @@ public class TitleContainerConfigScreen extends Screen { case HORIZONTAL -> SkyblockerConfig.Direction.VERTICAL; case VERTICAL -> SkyblockerConfig.Direction.HORIZONTAL; }; - changedOrientation = true; } if (keyCode == GLFW.GLFW_KEY_EQUAL) { SkyblockerConfigManager.get().general.titleContainer.titleContainerScale += 10; @@ -182,17 +179,9 @@ public class TitleContainerConfigScreen extends Screen { OptionGroup group = category.groups().stream().filter(grp -> grp.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.general.titleContainer"))).findFirst().orElseThrow(); Option scaleOpt = group.options().get(0); - Option xOpt = group.options().get(1); - Option yOpt = group.options().get(2); - Option orientationOpt = group.options().get(3); - Option horizontalAlignmentOpt = group.options().get(4); // Refresh the value in the config with the bound value if (changedScale) scaleOpt.forgetPendingValue(); - xOpt.forgetPendingValue(); - yOpt.forgetPendingValue(); - if (changedOrientation) orientationOpt.forgetPendingValue(); - if (changedAlignment) horizontalAlignmentOpt.forgetPendingValue(); } SkyblockerConfigManager.save(); -- cgit From 65257e0a8631ad6bc7edd4e32ffe0ecbf082ccf6 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Tue, 17 Oct 2023 20:15:39 -0400 Subject: Add comment --- .../hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java | 1 + 1 file changed, 1 insertion(+) (limited to 'src/main/java/de/hysky/skyblocker/utils/render/title') diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java index 7eca7444..19d41c91 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java @@ -174,6 +174,7 @@ public class TitleContainerConfigScreen extends Screen { SkyblockerConfigManager.get().general.titleContainer.x = (int) hudX; SkyblockerConfigManager.get().general.titleContainer.y = (int) hudY; + //TODO Come up with a better, less hacky solution for this in the future (: if (parent instanceof YACLScreen yaclScreen) { ConfigCategory category = yaclScreen.config.categories().stream().filter(cat -> cat.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.category.general"))).findFirst().orElseThrow(); OptionGroup group = category.groups().stream().filter(grp -> grp.name().getString().equals(I18n.translate("text.autoconfig.skyblocker.option.general.titleContainer"))).findFirst().orElseThrow(); -- cgit