aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorYasin <LifeIsAParadox@users.noreply.github.com>2023-10-21 11:42:33 +0200
committerGitHub <noreply@github.com>2023-10-21 11:42:33 +0200
commitcb13f32c5ed304fa921358682b752a19451f5e0e (patch)
tree923f32fc0d8c39d9cb7b6c4a3f10628a3f6356f7 /src/main/java/de
parenta2dde4ff3933cc53c19db0a447534b352194d1f4 (diff)
parent65257e0a8631ad6bc7edd4e32ffe0ecbf082ccf6 (diff)
downloadSkyblocker-cb13f32c5ed304fa921358682b752a19451f5e0e.tar.gz
Skyblocker-cb13f32c5ed304fa921358682b752a19451f5e0e.tar.bz2
Skyblocker-cb13f32c5ed304fa921358682b752a19451f5e0e.zip
Merge pull request #337 from AzureAaron/yacl3
Fix some HUD options resetting sometimes
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java14
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java15
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java29
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java21
6 files changed, 23 insertions, 58 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
index 7b32cb78..c3f54d4d 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DungeonsCategory.java
@@ -226,20 +226,6 @@ public class DungeonsCategory {
newValue -> config.locations.dungeons.mapScaling = newValue)
.controller(FloatFieldControllerBuilder::create)
.build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mapX"))
- .binding(defaults.locations.dungeons.mapX,
- () -> config.locations.dungeons.mapX,
- newValue -> config.locations.dungeons.mapX = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.mapY"))
- .binding(defaults.locations.dungeons.mapY,
- () -> config.locations.dungeons.mapY,
- newValue -> config.locations.dungeons.mapY = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
.option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobGlow"))
.description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.locations.dungeons.starredMobGlow.@Tooltip")))
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
index 35c91d64..719cbd79 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/DwarvenMinesCategory.java
@@ -7,7 +7,6 @@ import dev.isxander.yacl3.api.ConfigCategory;
import dev.isxander.yacl3.api.Option;
import dev.isxander.yacl3.api.OptionDescription;
import dev.isxander.yacl3.api.OptionGroup;
-import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import de.hysky.skyblocker.skyblock.dwarven.DwarvenHudConfigScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.text.Text;
@@ -74,20 +73,6 @@ public class DwarvenMinesCategory {
newValue -> config.locations.dwarvenMines.dwarvenHud.enableBackground = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.x"))
- .binding(defaults.locations.dwarvenMines.dwarvenHud.x,
- () -> config.locations.dwarvenMines.dwarvenHud.x,
- newValue -> config.locations.dwarvenMines.dwarvenHud.x = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.locations.dwarvenMines.dwarvenHud.y"))
- .binding(defaults.locations.dwarvenMines.dwarvenHud.y,
- () -> config.locations.dwarvenMines.dwarvenHud.y,
- newValue -> config.locations.dwarvenMines.dwarvenHud.y = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
.build())
.build();
}
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index 635d192f..30bdbd3f 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -5,7 +5,6 @@ import de.hysky.skyblocker.config.SkyblockerConfig;
import dev.isxander.yacl3.api.*;
import dev.isxander.yacl3.api.controller.FloatFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.FloatSliderControllerBuilder;
-import dev.isxander.yacl3.api.controller.IntegerFieldControllerBuilder;
import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
import de.hysky.skyblocker.skyblock.shortcut.ShortcutsConfigScreen;
import de.hysky.skyblocker.utils.render.title.TitleContainerConfigScreen;
@@ -443,34 +442,6 @@ public class GeneralCategory {
newValue -> config.general.titleContainer.titleContainerScale = newValue)
.controller(opt -> FloatFieldControllerBuilder.create(opt).range(30f, 140f))
.build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.x"))
- .binding(defaults.general.titleContainer.x,
- () -> config.general.titleContainer.x,
- newValue -> config.general.titleContainer.x = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<Integer>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.y"))
- .binding(defaults.general.titleContainer.y,
- () -> config.general.titleContainer.y,
- newValue -> config.general.titleContainer.y = newValue)
- .controller(IntegerFieldControllerBuilder::create)
- .build())
- .option(Option.<SkyblockerConfig.Direction>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.direction"))
- .binding(defaults.general.titleContainer.direction,
- () -> config.general.titleContainer.direction,
- newValue -> config.general.titleContainer.direction = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<SkyblockerConfig.Alignment>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.alignment"))
- .binding(defaults.general.titleContainer.alignment,
- () -> config.general.titleContainer.alignment,
- newValue -> config.general.titleContainer.alignment = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
.option(ButtonOption.createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.titleContainer.config"))
.text(Text.translatable("text.skyblocker.open"))
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..df5f36ce 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -57,6 +57,7 @@ public class DungeonMapConfigScreen extends Screen {
SkyblockerConfigManager.get().locations.dungeons.mapX = hudX;
SkyblockerConfigManager.get().locations.dungeons.mapY = hudY;
SkyblockerConfigManager.save();
+
this.client.setScreen(parent);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 2bb21568..9bd6bef1 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -62,6 +62,7 @@ public class DwarvenHudConfigScreen extends Screen {
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = hudX;
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = hudY;
SkyblockerConfigManager.save();
+
client.setScreen(parent);
}
}
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..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
@@ -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;
protected TitleContainerConfigScreen() {
this(null);
@@ -153,17 +159,32 @@ public class TitleContainerConfigScreen extends Screen {
}
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;
+
+ //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();
+
+ Option<?> scaleOpt = group.options().get(0);
+
+ // Refresh the value in the config with the bound value
+ if (changedScale) scaleOpt.forgetPendingValue();
+ }
+
SkyblockerConfigManager.save();
this.client.setScreen(parent);
}