src/main/java/wtf/sten/vault/ui/GlassButton.java
package wtf.sten.vault.ui;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphicsExtractor;
import net.minecraft.client.gui.components.Button;
import net.minecraft.network.chat.Component;
public class GlassButton extends Button {
private final boolean primary;
public GlassButton(int x, int y, int w, int h, Component label, boolean primary, OnPress onPress) {
super(x, y, w, h, label, onPress, DEFAULT_NARRATION);
this.primary = primary;
}
@Override
protected void extractContents(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float partialTick) {
int fill = primary ? (isHoveredOrFocused() ? 0xEE2A4DFF : 0xDD1E3AD9) : (isHoveredOrFocused() ? 0xCC1A1E2C : Glass.PANEL);
Glass.panel(graphics, getX(), getY(), getWidth(), getHeight(), fill);
if (primary) {
graphics.fill(getX() + 2, getY() + 2, getX() + getWidth() - 2, getY() + 3, Glass.CYAN);
}
int text = primary ? Glass.INK : (isHoveredOrFocused() ? Glass.CYAN : Glass.INK);
graphics.centeredText(Minecraft.getInstance().font, getMessage(), getX() + getWidth() / 2, getY() + (getHeight() - 8) / 2, text);
}
}