mirror of
https://github.com/Shiewk/Widgets.git
synced 2026-04-28 11:34:17 +02:00
Allow resizing Coordinates widget
This commit is contained in:
@@ -9,6 +9,7 @@ import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.network.ClientPlayerEntity;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
@@ -24,16 +25,24 @@ public class CoordinatesWidget extends ModWidget {
|
||||
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 IntSliderWidgetSetting("width", Text.translatable("widgets.widgets.basictext.width"), 10, WIDTH, 80*3),
|
||||
new IntSliderWidgetSetting("size", Text.translatable("widgets.widgets.common.sizePercent"), 25, 100, 400),
|
||||
new IntSliderWidgetSetting("paddingX", Text.translatable("widgets.widgets.basictext.paddingX"), 0, 5, 20),
|
||||
new IntSliderWidgetSetting("paddingY", Text.translatable("widgets.widgets.basictext.paddingY"), 0, 5, 20)
|
||||
));
|
||||
}
|
||||
|
||||
private float size = 1f;
|
||||
private String textX = "X", textY = "Y", textZ = "Z";
|
||||
private int txc = 0, tyc = 0, tzc = 0;
|
||||
|
||||
@Override
|
||||
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
||||
MatrixStack matrices = context.getMatrices();
|
||||
if (size != 1f){
|
||||
matrices.push();
|
||||
matrices.translate(-(size-1) * posX, -(size-1) * posY, 0);
|
||||
matrices.scale(size, size, 1);
|
||||
}
|
||||
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
||||
int y = this.paddingY;
|
||||
if (showX){
|
||||
@@ -53,6 +62,7 @@ public class CoordinatesWidget extends ModWidget {
|
||||
context.drawText(textRenderer, "Z: ", posX + paddingX, posY + y, textColor, true);
|
||||
context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, true);
|
||||
}
|
||||
if (size != 1f) matrices.pop();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -103,6 +113,12 @@ public class CoordinatesWidget extends ModWidget {
|
||||
this.paddingX = ((IntSliderWidgetSetting) settings.optionById("paddingX")).getValue();
|
||||
this.paddingY = ((IntSliderWidgetSetting) settings.optionById("paddingY")).getValue();
|
||||
this.width = ((IntSliderWidgetSetting) settings.optionById("width")).getValue();
|
||||
this.size = 0.01f * ((IntSliderWidgetSetting) settings.optionById("size")).getValue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getScaleFactor() {
|
||||
return this.size;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user