From a03fa01e892ff82520d5886368cda6bac7a45023 Mon Sep 17 00:00:00 2001 From: Shiewk Date: Mon, 9 Sep 2024 11:04:25 +0200 Subject: [PATCH] Add width and padding options to Coordinates widget --- .../widgets/widgets/CoordinatesWidget.java | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java b/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java index 1935952..45c479c 100644 --- a/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/CoordinatesWidget.java @@ -2,6 +2,7 @@ package de.shiewk.widgets.widgets; import de.shiewk.widgets.ModWidget; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.widgets.settings.IntSliderWidgetSetting; import de.shiewk.widgets.widgets.settings.RGBAColorWidgetSetting; import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import net.minecraft.client.MinecraftClient; @@ -21,7 +22,9 @@ public class CoordinatesWidget extends ModWidget { new ToggleWidgetSetting("y", Text.translatable("widgets.widgets.coordinates.showY"), true), new ToggleWidgetSetting("z", Text.translatable("widgets.widgets.coordinates.showZ"), true), new RGBAColorWidgetSetting("backgroundcolor", Text.translatable("widgets.widgets.basictext.background"), 0, 0, 0, 80), - new RGBAColorWidgetSetting("textcolor", Text.translatable("widgets.widgets.basictext.textcolor"), 255, 255, 255, 255) + new RGBAColorWidgetSetting("textcolor", Text.translatable("widgets.widgets.basictext.textcolor"), 255, 255, 255, 255), + new IntSliderWidgetSetting("width", Text.translatable("widgets.widgets.basictext.width"), 10, WIDTH, 80*3), + new IntSliderWidgetSetting("padding", Text.translatable("widgets.widgets.basictext.padding"), 0, 5, 20) )); } @@ -31,23 +34,23 @@ public class CoordinatesWidget extends ModWidget { @Override public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) { context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor); - final int PADDING = CoordinatesWidget.PADDING; - int y = PADDING; + final int padding = this.padding; + int y = padding; if (showX){ y++; - context.drawText(textRenderer, "X: ", posX + PADDING, posY + y, textColor, true); + context.drawText(textRenderer, "X: ", posX + padding, posY + y, textColor, true); context.drawText(textRenderer, textX, posX + txc, posY + y, textColor, true); y += textRenderer.fontHeight + 1; } if (showY){ y++; - context.drawText(textRenderer, "Y: ", posX + PADDING, posY + y, textColor, true); + context.drawText(textRenderer, "Y: ", posX + padding, posY + y, textColor, true); context.drawText(textRenderer, textY, posX + tyc, posY + y, textColor, true); y += textRenderer.fontHeight + 1; } if (showZ){ y++; - context.drawText(textRenderer, "Z: ", posX + PADDING, posY + y, textColor, true); + context.drawText(textRenderer, "Z: ", posX + padding, posY + y, textColor, true); context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, true); } } @@ -55,9 +58,9 @@ public class CoordinatesWidget extends ModWidget { @Override public void tick() { final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; - txc = width() - textRenderer.getWidth(textX) - PADDING; - tyc = width() - textRenderer.getWidth(textY) - PADDING; - tzc = width() - textRenderer.getWidth(textZ) - PADDING; + txc = width() - textRenderer.getWidth(textX) - padding; + tyc = width() - textRenderer.getWidth(textY) - padding; + tzc = width() - textRenderer.getWidth(textZ) - padding; final ClientPlayerEntity player = MinecraftClient.getInstance().player; if (player == null){ @@ -87,7 +90,7 @@ public class CoordinatesWidget extends ModWidget { DEFAULT_BACKGROUND_COLOR = new Color(0, 0, 0, 80).getRGB(), DEFAULT_TEXT_COLOR = new Color(255, 255 ,255, 255).getRGB(); - protected int backgroundColor = DEFAULT_BACKGROUND_COLOR, textColor = DEFAULT_TEXT_COLOR; + protected int backgroundColor = DEFAULT_BACKGROUND_COLOR, textColor = DEFAULT_TEXT_COLOR, padding = PADDING, width = WIDTH; protected boolean showX = true, showY = true, showZ = true; @Override @@ -97,16 +100,18 @@ public class CoordinatesWidget extends ModWidget { this.showX = ((ToggleWidgetSetting) settings.optionById("x")).getValue(); this.showY = ((ToggleWidgetSetting) settings.optionById("y")).getValue(); this.showZ = ((ToggleWidgetSetting) settings.optionById("z")).getValue(); + this.padding = ((IntSliderWidgetSetting) settings.optionById("padding")).getValue(); + this.width = ((IntSliderWidgetSetting) settings.optionById("width")).getValue(); } @Override public int width() { - return WIDTH; + return width + padding * 2; } @Override public int height() { - int height = 2 * PADDING; + int height = 2 * padding; if (showX) height += 11; if (showY) height += 11; if (showZ) height += 11;