aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-03-09 16:56:14 -0500
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-03-09 16:56:14 -0500
commit4a43b965bb0b105eb5c614932f965449e930f56b (patch)
treeb2a03f646b9dde4e62ae5e0b8a56a77e781ee911 /src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
parentef2ceee11a07b2861aca28aa73f87a1932a640d2 (diff)
downloadSkyblocker-4a43b965bb0b105eb5c614932f965449e930f56b.tar.gz
Skyblocker-4a43b965bb0b105eb5c614932f965449e930f56b.tar.bz2
Skyblocker-4a43b965bb0b105eb5c614932f965449e930f56b.zip
Refactor Hud Config Screens and fix dragging
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java65
1 files changed, 20 insertions, 45 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
index b4e423e9..15e605b9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/CrystalsHudConfigScreen.java
@@ -1,69 +1,44 @@
package de.hysky.skyblocker.skyblock.dwarven;
-import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.utils.render.RenderHelper;
-import it.unimi.dsi.fastutil.ints.IntIntPair;
+import de.hysky.skyblocker.config.HudConfigScreen;
+import de.hysky.skyblocker.config.SkyblockerConfig;
+import de.hysky.skyblocker.skyblock.tabhud.widget.EmptyWidget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import it.unimi.dsi.fastutil.ints.IntIntMutablePair;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.text.Text;
-import java.awt.*;
+import java.util.List;
-public class CrystalsHudConfigScreen extends Screen {
-
- private int hudX = SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.x;
- private int hudY = SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.y;
- private final Screen parent;
+public class CrystalsHudConfigScreen extends HudConfigScreen {
+ private static final EmptyWidget WIDGET = new EmptyWidget();
protected CrystalsHudConfigScreen() {
this(null);
}
public CrystalsHudConfigScreen(Screen parent) {
- super(Text.of("Crystals HUD Config"));
- this.parent = parent;
- }
-
- @Override
- public void render(DrawContext context, int mouseX, int mouseY, float delta) {
- super.render(context, mouseX, mouseY, delta);
- renderBackground(context, mouseX, mouseY, delta);
- renderHUDMap(context, hudX, hudY);
- context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
+ super(Text.of("Crystals HUD Config"), parent, WIDGET);
+ WIDGET.setDimensions(CrystalsHud.getDimensionsForConfig());
}
+ @SuppressWarnings("SuspiciousNameCombination")
@Override
- public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
- IntIntPair dims = CrystalsHud.getDimensionsForConfig();
- if (RenderHelper.pointIsInArea(mouseX, mouseY, hudX, hudY, hudX + dims.leftInt(), hudY + dims.rightInt()) && button == 0) {
- hudX = (int) Math.max(Math.min(mouseX - (double) dims.leftInt() / 2, this.width - dims.leftInt()), 0);
- hudY = (int) Math.max(Math.min(mouseY - (double) dims.rightInt() / 2, this.height - dims.rightInt()), 0);
- }
- return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY);
+ protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
+ return List.of(IntIntMutablePair.of(config.locations.dwarvenMines.crystalsHud.x, config.locations.dwarvenMines.crystalsHud.y));
}
@Override
- public boolean mouseClicked(double mouseX, double mouseY, int button) {
- if (button == 1) {
- IntIntPair dims = CrystalsHud.getDimensionsForConfig();
- hudX = this.width / 2 - dims.leftInt();
- hudY = this.height / 2 - dims.rightInt();
- }
- return super.mouseClicked(mouseX, mouseY, button);
+ protected void renderWidget(DrawContext context, List<Widget> widgets) {
+ int size = CrystalsHud.getDimensionsForConfig();
+ WIDGET.setDimensions(size);
+ context.drawTexture(CrystalsHud.MAP_TEXTURE, WIDGET.getX(), WIDGET.getY(), 0, 0, size, size, size, size);
}
- private void renderHUDMap(DrawContext context, int x, int y) {
- float scaling = SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.mapScaling;
- int size = (int) (62 * scaling);
- context.drawTexture(CrystalsHud.MAP_TEXTURE, x, y, 0, 0, size, size, size, size);
- }
-
@Override
- public void close() {
- SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.x = hudX;
- SkyblockerConfigManager.get().locations.dwarvenMines.crystalsHud.y = hudY;
- SkyblockerConfigManager.save();
-
- client.setScreen(parent);
+ protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
+ configManager.locations.dwarvenMines.crystalsHud.x = widgets.get(0).getX();
+ configManager.locations.dwarvenMines.crystalsHud.y = widgets.get(0).getY();
}
}