aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java39
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java14
-rw-r--r--src/main/resources/assets/skyblocker/lang/en_us.json5
3 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index 93e1d8e9..e3b4339a 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -58,7 +58,46 @@ public class SkyblockerConfig implements ConfigData {
public static class Bars {
public boolean enableBars = true;
+
+ @ConfigEntry.Category("barpositions")
+ @ConfigEntry.Gui.CollapsibleObject(startExpanded = false)
+ public BarPositions barpositions = new BarPositions();
+ }
+
+ public static class BarPositions {
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
+ public BarPosition healthBarPosition = BarPosition.LAYER1;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
+ public BarPosition manaBarPosition = BarPosition.LAYER1;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
+ public BarPosition defenceBarPosition = BarPosition.LAYER1;
+ @ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
+ public BarPosition experienceBarPosition = BarPosition.LAYER1;
+
+ }
+
+ public enum BarPosition {
+ LAYER1,
+ LAYER2,
+ RIGHT;
+
+ public String toString() {
+ return switch (this) {
+ case LAYER1 -> "Layer 1";
+ case LAYER2 -> "Layer 2";
+ case RIGHT -> "Right";
+ };
+ }
+
+ public int toInt() {
+ return switch (this) {
+ case LAYER1 -> 0;
+ case LAYER2 -> 1;
+ case RIGHT -> 2;
+ };
+ }
}
+
public static class RichPresence {
public boolean enableRichPresence = false;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
index 48ef3251..e2a9a684 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FancyStatusBars.java
@@ -57,6 +57,20 @@ public class FancyStatusBars extends DrawableHelper {
bars[3].fill[0] = (int) (32 * player.experienceProgress);
bars[3].text = player.experienceLevel;
+ // Update positions of bars from config
+ for (int i = 0; i < 4; i++) {
+ int configAnchorNum = switch (i) {
+ case 0 -> SkyblockerConfig.get().general.bars.barpositions.healthBarPosition.toInt();
+ case 1 -> SkyblockerConfig.get().general.bars.barpositions.manaBarPosition.toInt();
+ case 2 -> SkyblockerConfig.get().general.bars.barpositions.defenceBarPosition.toInt();
+ case 3 -> SkyblockerConfig.get().general.bars.barpositions.experienceBarPosition.toInt();
+ default -> 0;
+ };
+
+ if (bars[i].anchorNum != configAnchorNum)
+ moveBar(i, configAnchorNum);
+ }
+
RenderSystem.setShaderTexture(0, BARS);
for (var bar : bars)
bar.draw(matrices);
diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json
index 0b148a91..c758a715 100644
--- a/src/main/resources/assets/skyblocker/lang/en_us.json
+++ b/src/main/resources/assets/skyblocker/lang/en_us.json
@@ -8,6 +8,11 @@
"text.autoconfig.skyblocker.category.general": "General",
"text.autoconfig.skyblocker.option.general.bars": "Health, Mana, Defence & XP Bars",
"text.autoconfig.skyblocker.option.general.bars.enableBars": "Enable Bars",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions": "Configure Bar Positions",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.healthBarPosition": "Health Bar Position",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.manaBarPosition": "Mana Bar Position",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.defenceBarPosition": "Defence Bar Position",
+ "text.autoconfig.skyblocker.option.general.bars.barpositions.experienceBarPosition": "Experience Bar Position",
"text.autoconfig.skyblocker.option.general.quicknav": "Quicknav",
"text.autoconfig.skyblocker.option.general.quicknav.enableQuicknav": "Enable Quicknav",
"text.autoconfig.skyblocker.option.general.backpackPreviewWithoutShift": "View backpack preview without holding Shift",