mirror of
https://github.com/Shiewk/Widgets.git
synced 2026-04-28 11:34:17 +02:00
Add width and padding options to Coordinates widget
This commit is contained in:
@@ -2,6 +2,7 @@ package de.shiewk.widgets.widgets;
|
|||||||
|
|
||||||
import de.shiewk.widgets.ModWidget;
|
import de.shiewk.widgets.ModWidget;
|
||||||
import de.shiewk.widgets.WidgetSettings;
|
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.RGBAColorWidgetSetting;
|
||||||
import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting;
|
import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting;
|
||||||
import net.minecraft.client.MinecraftClient;
|
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("y", Text.translatable("widgets.widgets.coordinates.showY"), true),
|
||||||
new ToggleWidgetSetting("z", Text.translatable("widgets.widgets.coordinates.showZ"), 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("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
|
@Override
|
||||||
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
||||||
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
||||||
final int PADDING = CoordinatesWidget.PADDING;
|
final int padding = this.padding;
|
||||||
int y = PADDING;
|
int y = padding;
|
||||||
if (showX){
|
if (showX){
|
||||||
y++;
|
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);
|
context.drawText(textRenderer, textX, posX + txc, posY + y, textColor, true);
|
||||||
y += textRenderer.fontHeight + 1;
|
y += textRenderer.fontHeight + 1;
|
||||||
}
|
}
|
||||||
if (showY){
|
if (showY){
|
||||||
y++;
|
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);
|
context.drawText(textRenderer, textY, posX + tyc, posY + y, textColor, true);
|
||||||
y += textRenderer.fontHeight + 1;
|
y += textRenderer.fontHeight + 1;
|
||||||
}
|
}
|
||||||
if (showZ){
|
if (showZ){
|
||||||
y++;
|
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);
|
context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,9 +58,9 @@ public class CoordinatesWidget extends ModWidget {
|
|||||||
@Override
|
@Override
|
||||||
public void tick() {
|
public void tick() {
|
||||||
final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
|
final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
|
||||||
txc = width() - textRenderer.getWidth(textX) - PADDING;
|
txc = width() - textRenderer.getWidth(textX) - padding;
|
||||||
tyc = width() - textRenderer.getWidth(textY) - PADDING;
|
tyc = width() - textRenderer.getWidth(textY) - padding;
|
||||||
tzc = width() - textRenderer.getWidth(textZ) - PADDING;
|
tzc = width() - textRenderer.getWidth(textZ) - padding;
|
||||||
|
|
||||||
final ClientPlayerEntity player = MinecraftClient.getInstance().player;
|
final ClientPlayerEntity player = MinecraftClient.getInstance().player;
|
||||||
if (player == null){
|
if (player == null){
|
||||||
@@ -87,7 +90,7 @@ public class CoordinatesWidget extends ModWidget {
|
|||||||
DEFAULT_BACKGROUND_COLOR = new Color(0, 0, 0, 80).getRGB(),
|
DEFAULT_BACKGROUND_COLOR = new Color(0, 0, 0, 80).getRGB(),
|
||||||
DEFAULT_TEXT_COLOR = new Color(255, 255 ,255, 255).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;
|
protected boolean showX = true, showY = true, showZ = true;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -97,16 +100,18 @@ public class CoordinatesWidget extends ModWidget {
|
|||||||
this.showX = ((ToggleWidgetSetting) settings.optionById("x")).getValue();
|
this.showX = ((ToggleWidgetSetting) settings.optionById("x")).getValue();
|
||||||
this.showY = ((ToggleWidgetSetting) settings.optionById("y")).getValue();
|
this.showY = ((ToggleWidgetSetting) settings.optionById("y")).getValue();
|
||||||
this.showZ = ((ToggleWidgetSetting) settings.optionById("z")).getValue();
|
this.showZ = ((ToggleWidgetSetting) settings.optionById("z")).getValue();
|
||||||
|
this.padding = ((IntSliderWidgetSetting) settings.optionById("padding")).getValue();
|
||||||
|
this.width = ((IntSliderWidgetSetting) settings.optionById("width")).getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int width() {
|
public int width() {
|
||||||
return WIDTH;
|
return width + padding * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int height() {
|
public int height() {
|
||||||
int height = 2 * PADDING;
|
int height = 2 * padding;
|
||||||
if (showX) height += 11;
|
if (showX) height += 11;
|
||||||
if (showY) height += 11;
|
if (showY) height += 11;
|
||||||
if (showZ) height += 11;
|
if (showZ) height += 11;
|
||||||
|
|||||||
Reference in New Issue
Block a user