aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java110
1 files changed, 44 insertions, 66 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
index a035f862..b4f3093f 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/utils/title/TitleContainerConfigScreen.java
@@ -2,29 +2,26 @@ package me.xmrvizzy.skyblocker.utils.title;
import me.shedaniel.autoconfig.AutoConfig;
import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
-import me.xmrvizzy.skyblocker.skyblock.dwarven.DwarvenHud;
import me.xmrvizzy.skyblocker.utils.RenderUtils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.input.KeyCodes;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
-import net.minecraft.util.math.Box;
-import org.joml.Vector4i;
+import net.minecraft.util.Pair;
+import org.joml.Vector2i;
import org.lwjgl.glfw.GLFW;
import java.awt.*;
-import java.awt.event.KeyEvent;
-import java.util.List;
+import java.util.Set;
public class TitleContainerConfigScreen extends Screen {
-
- private final Title example1 = new Title("Test1", Formatting.RED.getColorValue());
- private final Title example2 = new Title("Test23", Formatting.AQUA.getColorValue());
- private final Title example3 = new Title("Testing1234", Formatting.DARK_GREEN.getColorValue());
+ private final Title example1 = new Title(Text.literal("Test1").formatted(Formatting.RED));
+ private final Title example2 = new Title(Text.literal("Test23").formatted(Formatting.AQUA));
+ private final Title example3 = new Title(Text.literal("Testing1234").formatted(Formatting.DARK_GREEN));
private int hudX = SkyblockerConfig.get().general.titleContainer.x;
private int hudY = SkyblockerConfig.get().general.titleContainer.y;
+
protected TitleContainerConfigScreen(Text title) {
super(title);
}
@@ -33,25 +30,18 @@ public class TitleContainerConfigScreen extends Screen {
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
super.render(context, mouseX, mouseY, delta);
renderBackground(context);
- TitleContainer.draw(List.of(example1, example2, example3), hudX, hudY, context, delta, true);
- context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, height / 2, Color.GRAY.getRGB());
- var direction = SkyblockerConfig.get().general.titleContainer.direction;
- var alignment = SkyblockerConfig.get().general.titleContainer.alignment;
- int width1 = client.textRenderer.getWidth("Press Q/E to change Alignment: " + alignment.toString());
- int width2 = client.textRenderer.getWidth("Press R to change Direction: " + direction.toString());
- context.drawText(client.textRenderer, "Press Q/E to change Alignment: " + alignment.toString(), (width / 2) - width1 / 2, client.textRenderer.fontHeight * 2, Color.WHITE.getRGB(), true);
- context.drawText(client.textRenderer, "Press R to change Direction: " + direction.toString(), (width / 2) - width2 / 2, client.textRenderer.fontHeight * 3 + 5, Color.WHITE.getRGB(), true);
-
- int x1;
- int x2;
- int y1;
- int y2;
-
- var vec = getSelectionBounding();
- x1 = vec.x;
- x2 = vec.y;
- y1 = vec.z;
- y2 = vec.w;
+ TitleContainer.render(context, Set.of(example1, example2, example3), hudX, hudY, delta);
+ SkyblockerConfig.Direction direction = SkyblockerConfig.get().general.titleContainer.direction;
+ SkyblockerConfig.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment;
+ context.drawCenteredTextWithShadow(client.textRenderer, "Press Q/E to change Alignment: " + alignment, width / 2, client.textRenderer.fontHeight * 2, Color.WHITE.getRGB());
+ context.drawCenteredTextWithShadow(client.textRenderer, "Press R to change Direction: " + direction, width / 2, client.textRenderer.fontHeight * 3 + 5, Color.WHITE.getRGB());
+ context.drawCenteredTextWithShadow(textRenderer, "Right Click To Reset Position", width / 2, client.textRenderer.fontHeight * 4 + 10, Color.GRAY.getRGB());
+
+ Pair<Vector2i, Vector2i> boundingBox = getSelectionBoundingBox();
+ int x1 = boundingBox.getLeft().x;
+ int y1 = boundingBox.getLeft().y;
+ int x2 = boundingBox.getRight().x;
+ int y2 = boundingBox.getRight().y;
context.drawHorizontalLine(x1, x2, y1, Color.RED.getRGB());
context.drawHorizontalLine(x1, x2, y2, Color.RED.getRGB());
@@ -59,46 +49,39 @@ public class TitleContainerConfigScreen extends Screen {
context.drawVerticalLine(x2, y1, y2, Color.RED.getRGB());
}
- public Vector4i getSelectionBounding()
- {
- var direction = SkyblockerConfig.get().general.titleContainer.direction;
- var alignment = SkyblockerConfig.get().general.titleContainer.alignment;
+ public Pair<Vector2i, Vector2i> getSelectionBoundingBox() {
+ SkyblockerConfig.Alignment alignment = SkyblockerConfig.get().general.titleContainer.alignment;
int midWidth = getSelectionWidth() / 2;
- int midHeight = getSelectionHeight() / 2;
int x1 = 0;
int x2 = 0;
- int y1 = 0;
- int y2 = 0;
- y1 = hudY;
- y2 = hudY + midHeight * 2;
+ int y1 = hudY;
+ int y2 = hudY + getSelectionHeight();
switch (alignment) {
- case RIGHT:
+ case RIGHT -> {
x1 = hudX - midWidth * 2;
x2 = hudX;
- break;
- case MIDDLE:
+ }
+ case MIDDLE -> {
x1 = hudX - midWidth;
x2 = hudX + midWidth;
- break;
- case LEFT:
+ }
+ case LEFT -> {
x1 = hudX;
x2 = hudX + midWidth * 2;
- break;
+ }
}
- return new Vector4i(x1, x2, y1, y2);
+ return new Pair<>(new Vector2i(x1, y1), new Vector2i(x2, y2));
}
- public int getSelectionHeight()
- {
+ public int getSelectionHeight() {
int scale = (int) (3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F));
return SkyblockerConfig.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ?
textRenderer.fontHeight * scale :
(textRenderer.fontHeight + 10) * 3 * scale;
}
- public int getSelectionWidth()
- {
+ public int getSelectionWidth() {
int scale = (int) (3F * (SkyblockerConfig.get().general.titleContainer.titleContainerScale / 100F));
return SkyblockerConfig.get().general.titleContainer.direction == SkyblockerConfig.Direction.HORIZONTAL ?
(textRenderer.getWidth("Test1") + 10 + textRenderer.getWidth("Test23") + 10 + textRenderer.getWidth("Testing1234")) * scale :
@@ -111,16 +94,11 @@ public class TitleContainerConfigScreen extends Screen {
int midHeight = getSelectionHeight() / 2;
var alignment = SkyblockerConfig.get().general.titleContainer.alignment;
- int x1;
- int x2;
- int y1;
- int y2;
-
- var vec = getSelectionBounding();
- x1 = vec.x;
- x2 = vec.y;
- y1 = vec.z;
- y2 = vec.w;
+ Pair<Vector2i, Vector2i> boundingBox = getSelectionBoundingBox();
+ int x1 = boundingBox.getLeft().x;
+ int y1 = boundingBox.getLeft().y;
+ int x2 = boundingBox.getRight().x;
+ int y2 = boundingBox.getRight().y;
if (RenderUtils.pointExistsInArea((int) mouseX, (int) mouseY, x1, y1, x2, y2) && button == 0) {
hudX = alignment == SkyblockerConfig.Alignment.RIGHT ?
@@ -135,31 +113,31 @@ public class TitleContainerConfigScreen extends Screen {
public boolean mouseClicked(double mouseX, double mouseY, int button) {
if (button == 1) {
hudX = this.width / 2;
- hudY = (int) (this.height * 0.6F);
+ hudY = this.height / 2;
}
return super.mouseClicked(mouseX, mouseY, button);
}
@Override
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- if(keyCode == GLFW.GLFW_KEY_Q) {
- var current = SkyblockerConfig.get().general.titleContainer.alignment;
+ if (keyCode == GLFW.GLFW_KEY_Q) {
+ SkyblockerConfig.Alignment current = SkyblockerConfig.get().general.titleContainer.alignment;
SkyblockerConfig.get().general.titleContainer.alignment = switch (current) {
case LEFT -> SkyblockerConfig.Alignment.MIDDLE;
case MIDDLE -> SkyblockerConfig.Alignment.RIGHT;
case RIGHT -> SkyblockerConfig.Alignment.LEFT;
};
}
- if(keyCode == GLFW.GLFW_KEY_E) {
- var current = SkyblockerConfig.get().general.titleContainer.alignment;
+ if (keyCode == GLFW.GLFW_KEY_E) {
+ SkyblockerConfig.Alignment current = SkyblockerConfig.get().general.titleContainer.alignment;
SkyblockerConfig.get().general.titleContainer.alignment = switch (current) {
case LEFT -> SkyblockerConfig.Alignment.RIGHT;
case MIDDLE -> SkyblockerConfig.Alignment.LEFT;
case RIGHT -> SkyblockerConfig.Alignment.MIDDLE;
};
}
- if(keyCode == GLFW.GLFW_KEY_R) {
- var current = SkyblockerConfig.get().general.titleContainer.direction;
+ if (keyCode == GLFW.GLFW_KEY_R) {
+ SkyblockerConfig.Direction current = SkyblockerConfig.get().general.titleContainer.direction;
SkyblockerConfig.get().general.titleContainer.direction = switch (current) {
case HORIZONTAL -> SkyblockerConfig.Direction.VERTICAL;
case VERTICAL -> SkyblockerConfig.Direction.HORIZONTAL;