From ea9421a3b7c7eec1fbe829ebe749acccdb4ef495 Mon Sep 17 00:00:00 2001 From: Unknown Date: Mon, 7 Jan 2019 13:33:08 +0800 Subject: Tooltip --- src/main/java/me/shedaniel/gui/widget/SmallButton.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/main/java/me/shedaniel/gui/widget/SmallButton.java') diff --git a/src/main/java/me/shedaniel/gui/widget/SmallButton.java b/src/main/java/me/shedaniel/gui/widget/SmallButton.java index 5eff8d206..2e6a7ad1b 100644 --- a/src/main/java/me/shedaniel/gui/widget/SmallButton.java +++ b/src/main/java/me/shedaniel/gui/widget/SmallButton.java @@ -5,31 +5,37 @@ import me.shedaniel.gui.REIRenderHelper; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.FontRenderer; import net.minecraft.client.gui.ContainerGui; +import net.minecraft.client.gui.Gui; import net.minecraft.util.Identifier; import java.awt.*; +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; public class SmallButton extends Control { private String buttonText; + private Function toolTipSupplier; protected static final Identifier BUTTON_TEXTURES = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png"); - public SmallButton(int x, int y, int width, int height, String buttonText) { + public SmallButton(int x, int y, int width, int height, String buttonText, Function toolTipSupplier) { super(x, y, width, height); this.buttonText = buttonText; + this.toolTipSupplier = toolTipSupplier; } - public SmallButton(Rectangle rect, String buttonText) { + public SmallButton(Rectangle rect, String buttonText, Function toolTipSupplier) { super(rect); this.buttonText = buttonText; + this.toolTipSupplier = toolTipSupplier; } public void setString(String text) { buttonText = text; } - @Override public void draw() { GlStateManager.pushMatrix(); @@ -56,6 +62,11 @@ public class SmallButton extends Control { gui.drawStringCentered(lvt_5_1_, this.buttonText, rect.x + rect.width / 2, rect.y + (rect.height - 8) / 2, lvt_7_1_); GlStateManager.enableLighting(); GlStateManager.popMatrix(); + if (isHighlighted()) { + List toolTip = Arrays.asList(toolTipSupplier.apply(isEnabled()).split("\n")); + if (toolTip != null && toolTip.size() != 0) + gui.drawTooltip(toolTip, REIRenderHelper.getMouseLoc().x, REIRenderHelper.getMouseLoc().y); + } } } -- cgit