aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java75
1 files changed, 25 insertions, 50 deletions
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 d5dc19f2..79a139f9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -1,80 +1,55 @@
package de.hysky.skyblocker.skyblock.dwarven;
+import de.hysky.skyblocker.config.HudConfigScreen;
+import de.hysky.skyblocker.config.SkyblockerConfig;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.skyblock.dwarven.DwarvenHud.Commission;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudPowderWidget;
-import de.hysky.skyblocker.utils.render.RenderHelper;
-import it.unimi.dsi.fastutil.Pair;
-import it.unimi.dsi.fastutil.ints.IntIntPair;
+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 DwarvenHudConfigScreen extends Screen {
-
+public class DwarvenHudConfigScreen extends HudConfigScreen {
private static final List<DwarvenHud.Commission> CFG_COMMS = List.of(new Commission("Test Commission 1", "1%"), new DwarvenHud.Commission("Test Commission 2", "2%"));
- private int commissionsHudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x;
- private int commissionsHudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y;
-
- private int powderHudX = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX;
- private int powderHudY = SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY;
- private final Screen parent;
protected DwarvenHudConfigScreen() {
this(null);
}
public DwarvenHudConfigScreen(Screen parent) {
- super(Text.of("Dwarven 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);
- DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG, context, commissionsHudX, commissionsHudY, powderHudX, powderHudY, CFG_COMMS);
- context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
+ super(Text.literal("Dwarven HUD Config"), parent, List.of(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG));
+ if (SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.style == SkyblockerConfig.DwarvenHudStyle.CLASSIC) {
+ HudCommsWidget.INSTANCE_CFG.setWidth(200);
+ HudCommsWidget.INSTANCE_CFG.setHeight(20 * CFG_COMMS.size());
+ HudPowderWidget.INSTANCE_CFG.setWidth(200);
+ HudPowderWidget.INSTANCE_CFG.setHeight(40);
+ }
}
+ @SuppressWarnings("SuspiciousNameCombination")
@Override
- public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
- Pair<IntIntPair,IntIntPair> dims = DwarvenHud.getDimForConfig(CFG_COMMS);
- if (RenderHelper.pointIsInArea(mouseX, mouseY, commissionsHudX, commissionsHudY, commissionsHudX + 200, commissionsHudY + 40) && button == 0) {
- commissionsHudX = (int) Math.max(Math.min(mouseX - (double) dims.first().leftInt() / 2, this.width - dims.first().leftInt()), 0);
- commissionsHudY = (int) Math.max(Math.min(mouseY - (double) dims.first().rightInt() / 2, this.height - dims.first().rightInt()), 0);
- }
- if (RenderHelper.pointIsInArea(mouseX, mouseY, powderHudX, powderHudY, powderHudX + 200, powderHudY + 40) && button == 0) {
- powderHudX = (int) Math.max(Math.min(mouseX - (double) dims.second().leftInt() / 2, this.width - dims.second().leftInt()), 0);
- powderHudY = (int) Math.max(Math.min(mouseY - (double) dims.second().rightInt() / 2, this.height - dims.second().rightInt()), 0);
- }
- return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY);
+ protected List<IntIntMutablePair> getConfigPos(SkyblockerConfig config) {
+ return List.of(
+ IntIntMutablePair.of(config.locations.dwarvenMines.dwarvenHud.x, config.locations.dwarvenMines.dwarvenHud.y),
+ IntIntMutablePair.of(config.locations.dwarvenMines.dwarvenHud.powderX, config.locations.dwarvenMines.dwarvenHud.powderY)
+ );
}
@Override
- public boolean mouseClicked(double mouseX, double mouseY, int button) {
- if (button == 1) {
- Pair<IntIntPair,IntIntPair> dims = DwarvenHud.getDimForConfig(CFG_COMMS);
- commissionsHudX = this.width / 2 - dims.left().leftInt();
- commissionsHudY = this.height / 2 - dims.left().rightInt();
- powderHudX = this.width / 2 - dims.right().leftInt();
- powderHudY = this.height / 2 - dims.right().rightInt() + dims.left().rightInt(); //add this to make it bellow the other widget
- }
- return super.mouseClicked(mouseX, mouseY, button);
+ protected void renderWidget(DrawContext context, List<Widget> widgets) {
+ DwarvenHud.render(HudCommsWidget.INSTANCE_CFG, HudPowderWidget.INSTANCE_CFG, context, widgets.get(0).getX(), widgets.get(0).getY(), widgets.get(1).getX(), widgets.get(1).getY(), CFG_COMMS);
}
@Override
- public void close() {
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = commissionsHudX;
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = commissionsHudY;
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderX = powderHudX;
- SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.powderY = powderHudY;
- SkyblockerConfigManager.save();
-
- client.setScreen(parent);
+ protected void savePos(SkyblockerConfig configManager, List<Widget> widgets) {
+ configManager.locations.dwarvenMines.dwarvenHud.x = widgets.get(0).getX();
+ configManager.locations.dwarvenMines.dwarvenHud.y = widgets.get(0).getY();
+ configManager.locations.dwarvenMines.dwarvenHud.powderX = widgets.get(1).getX();
+ configManager.locations.dwarvenMines.dwarvenHud.powderY = widgets.get(1).getY();
}
}