diff options
author | vicisacat <victor.branchu@gmail.com> | 2024-04-20 21:50:39 +0200 |
---|---|---|
committer | vicisacat <victor.branchu@gmail.com> | 2024-04-20 21:50:39 +0200 |
commit | d91367ae8faee90736cc0390bb025f2d71e9560f (patch) | |
tree | d4e4d4cfd76c1afae728418a761bb3eb23c6dd5c /src/main/java/de/hysky/skyblocker/skyblock/fancybars | |
parent | 04396b153a9226be5add8fd7fcb7f6629ec0e520 (diff) | |
download | Skyblocker-d91367ae8faee90736cc0390bb025f2d71e9560f.tar.gz Skyblocker-d91367ae8faee90736cc0390bb025f2d71e9560f.tar.bz2 Skyblocker-d91367ae8faee90736cc0390bb025f2d71e9560f.zip |
fetch positions from old config
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/fancybars')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java index 2f2ec000..009f2e59 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.fancybars; import com.google.gson.JsonObject; import de.hysky.skyblocker.SkyblockerMod; +import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.skyblock.StatusBarTracker; import de.hysky.skyblocker.utils.Utils; @@ -54,23 +55,17 @@ public class FancyStatusBars { new Color[]{new Color(100, 230, 70)}, false, new Color(128, 255, 32), Text.translatable("skyblocker.bars.config.experience"))); - // Default positions + // Fetch from old status bar config + int[] counts = new int[3]; // counts for RIGHT, LAYER1, LAYER2 StatusBar health = statusBars.get("health"); - health.anchor = BarPositioner.BarAnchor.HOTBAR_TOP; - health.gridX = 0; - health.gridY = 0; + SkyblockerConfig.OldBarPositions barPositions = SkyblockerConfigManager.get().general.bars.barPositions; + updateBarPosition(health, counts, barPositions.healthBarPosition); StatusBar intelligence = statusBars.get("intelligence"); - intelligence.anchor = BarPositioner.BarAnchor.HOTBAR_TOP; - intelligence.gridX = 1; - intelligence.gridY = 0; + updateBarPosition(intelligence, counts, barPositions.manaBarPosition); StatusBar defense = statusBars.get("defense"); - defense.anchor = BarPositioner.BarAnchor.HOTBAR_RIGHT; - defense.gridX = 0; - defense.gridY = 0; + updateBarPosition(defense, counts, barPositions.defenceBarPosition); StatusBar experience = statusBars.get("experience"); - experience.anchor = BarPositioner.BarAnchor.HOTBAR_TOP; - experience.gridX = 0; - experience.gridY = 1; + updateBarPosition(experience, counts, barPositions.experienceBarPosition); CompletableFuture.supplyAsync(FancyStatusBars::loadBarConfig).thenAccept(object -> { if (object != null) { @@ -110,6 +105,26 @@ public class FancyStatusBars { .then(ClientCommandManager.literal("bars").executes(Scheduler.queueOpenScreenCommand(StatusBarsConfigScreen::new))))); } + private static void updateBarPosition(StatusBar bar, int[] counts, SkyblockerConfig.OldBarPosition position) { + switch (position) { + case RIGHT: + bar.anchor = BarPositioner.BarAnchor.HOTBAR_RIGHT; + bar.gridY = 0; + bar.gridX = counts[position.ordinal()]++; + break; + case LAYER1: + bar.anchor = BarPositioner.BarAnchor.HOTBAR_TOP; + bar.gridY = 0; + bar.gridX = counts[position.ordinal()]++; + break; + case LAYER2: + bar.anchor = BarPositioner.BarAnchor.HOTBAR_TOP; + bar.gridY = 1; + bar.gridX = counts[position.ordinal()]++; + break; + } + } + private static boolean configLoaded = false; private static void placeBarsInPositioner() { |