package com.thebrokenrail.sorcerycraft.mixin; import com.thebrokenrail.sorcerycraft.client.gui.CastingTableScreen; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.widget.AbstractButtonWidget; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @SuppressWarnings("ConstantConditions") @Mixin(AbstractButtonWidget.class) public class MixinAbstractButtonWidget { @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/widget/AbstractButtonWidget;drawCenteredText(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/text/Text;III)V"), method = "renderButton") public void drawCenteredText(MatrixStack matrices, TextRenderer textRenderer, Text text, int centerX, int y, int color) { if ((Object) this instanceof CastingTableScreen.WidgetButtonPage) { DrawableHelper.drawStringWithShadow(matrices, textRenderer, text.getString(), ((CastingTableScreen.WidgetButtonPage) (Object) this).x + 5, y, color); } else { DrawableHelper.drawCenteredText(matrices, textRenderer, text, centerX, y, color); } } }