diff options
author | vicisacat <victor.branchu@gmail.com> | 2024-04-02 17:23:55 +0200 |
---|---|---|
committer | vicisacat <victor.branchu@gmail.com> | 2024-04-20 16:09:48 +0200 |
commit | 81ee919672b3628c58e6499c806bac14d6b40ec4 (patch) | |
tree | 7f1050679e1f457dc5ea2aacb13f2756f67844d9 /src/main/java/de/hysky/skyblocker/skyblock | |
parent | 0d5b04f9a5f57be03c79b76ff9b730951b5f959f (diff) | |
download | Skyblocker-81ee919672b3628c58e6499c806bac14d6b40ec4.tar.gz Skyblocker-81ee919672b3628c58e6499c806bac14d6b40ec4.tar.bz2 Skyblocker-81ee919672b3628c58e6499c806bac14d6b40ec4.zip |
idk again
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java index 1f0b7ffe..2d80e764 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java @@ -2,15 +2,24 @@ package de.hysky.skyblocker.skyblock.fancybars; import de.hysky.skyblocker.skyblock.FancyStatusBars; import net.minecraft.client.gui.DrawContext; +import net.minecraft.client.gui.ScreenPos; +import net.minecraft.client.gui.ScreenRect; +import net.minecraft.client.gui.navigation.NavigationAxis; +import net.minecraft.client.gui.navigation.NavigationDirection; import net.minecraft.client.gui.screen.Screen; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import org.jetbrains.annotations.Nullable; +import java.util.HashMap; +import java.util.Map; + public class StatusBarsConfigScreen extends Screen { private static final Identifier HOTBAR_TEXTURE = new Identifier("hud/hotbar"); + private final Map<ScreenRect, int[]> meaningFullName = new HashMap<>(); + private @Nullable StatusBar cursorBar = null; protected StatusBarsConfigScreen(Text title) { super(title); @@ -24,6 +33,23 @@ public class StatusBarsConfigScreen extends Screen { cursorBar.setX(mouseX); cursorBar.setY(mouseY); cursorBar.render(context, mouseX, mouseY, delta); + + for (ScreenRect screenRect : meaningFullName.keySet()) { + for (NavigationDirection value : NavigationDirection.values()) { + boolean overlaps = screenRect.getBorder(value).overlaps(new ScreenRect(new ScreenPos(mouseX - 1, mouseY - 1), 3, 3)); + if (overlaps) { + int[] ints = meaningFullName.get(screenRect); + if (ints[0] != cursorBar.gridX || ints[1] != cursorBar.gridY) { + FancyStatusBars.barGrid.remove(cursorBar.gridX, cursorBar.gridY); + if (value.getAxis().equals(NavigationAxis.VERTICAL)) { + if (value.isPositive()) { + FancyStatusBars.barGrid.addRow(ints[1]+1, ints[0]>0); + } + } + } + } + } + } } } @@ -39,6 +65,13 @@ public class StatusBarsConfigScreen extends Screen { } private void onClick(StatusBar statusBar) { - + cursorBar = statusBar; + meaningFullName.clear(); + FancyStatusBars.barGrid.remove(statusBar.gridX, statusBar.gridY); + FancyStatusBars.statusBars.values().forEach(statusBar1 -> { + meaningFullName.put( + new ScreenRect(new ScreenPos(statusBar1.getX(), statusBar1.getY()), statusBar1.getWidth(), statusBar1.getHeight()), + new int[]{statusBar1.gridX, statusBar1.gridY}); + }); } } |