diff --git a/common/src/main/java/muramasa/antimatter/gui/widget/TextButtonWidget.java b/common/src/main/java/muramasa/antimatter/gui/widget/TextButtonWidget.java index e42e7480e..6f8e67d76 100644 --- a/common/src/main/java/muramasa/antimatter/gui/widget/TextButtonWidget.java +++ b/common/src/main/java/muramasa/antimatter/gui/widget/TextButtonWidget.java @@ -12,6 +12,7 @@ import muramasa.antimatter.gui.IGuiElement; import muramasa.antimatter.gui.event.GuiEvents; import muramasa.antimatter.gui.event.IGuiEvent; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; @@ -58,7 +59,16 @@ public void init() { @Override protected void renderButtonBody(PoseStack matrixStack, double mouseX, double mouseY, float partialTicks) { - drawText(matrixStack, textToRender.apply(state), realX(), realY(), 4210752); + Component text = textToRender.apply(state); + int textWidth = Minecraft.getInstance().font.width(text); + int xScaled = textWidth / 2; + int xCenter = (getW() / 2); + int xPosition = xCenter - xScaled; + int textHeight = Minecraft.getInstance().font.lineHeight; + int yScaled = textHeight / 2; + int yCenter = (getH() / 2); + int yPosition = yCenter - yScaled; + drawText(matrixStack, textToRender.apply(state), realX() + xPosition, realY() + yPosition, 4210752); } public static WidgetSupplier build(Function syncFunction, Function textToRender, T defaultValue, IGuiEvent.IGuiEventFactory ev, int id, boolean renderBackground) {