minecraft-src/net/minecraft/client/gui/components/PlainTextButton.java
2025-07-04 01:41:11 +03:00

30 lines
1.2 KiB
Java

package net.minecraft.client.gui.components;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.ComponentUtils;
import net.minecraft.network.chat.Style;
import net.minecraft.util.Mth;
@Environment(EnvType.CLIENT)
public class PlainTextButton extends Button {
private final Font font;
private final Component message;
private final Component underlinedMessage;
public PlainTextButton(int x, int y, int width, int height, Component message, Button.OnPress onPress, Font font) {
super(x, y, width, height, message, onPress, DEFAULT_NARRATION);
this.font = font;
this.message = message;
this.underlinedMessage = ComponentUtils.mergeStyles(message.copy(), Style.EMPTY.withUnderlined(true));
}
@Override
public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
Component component = this.isHoveredOrFocused() ? this.underlinedMessage : this.message;
guiGraphics.drawString(this.font, component, this.getX(), this.getY(), 16777215 | Mth.ceil(this.alpha * 255.0F) << 24);
}
}