Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package thinh.eligibleadapter.eventhandler;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.FontRenderer;
- import net.minecraft.client.gui.ScaledResolution;
- import net.minecraft.util.StringUtils;
- import net.minecraftforge.client.event.RenderGameOverlayEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- import org.lwjgl.opengl.GL11;
- import java.awt.*;
- public class TooltipHandler {
- /**
- * Abstract
- */
- private static String currentTooltip;
- private static int tooltipDisplayTicks;
- public static void setTooltip(String tooltip) {
- if (!tooltip.equals(currentTooltip)) {
- currentTooltip = tooltip;
- tooltipDisplayTicks = 100;
- }
- }
- @SideOnly(Side.CLIENT)
- @SubscribeEvent
- public void drawTooltipHUD(RenderGameOverlayEvent.Post event) {
- if (event.getType() == RenderGameOverlayEvent.ElementType.ALL && tooltipDisplayTicks > 0 && !StringUtils.isNullOrEmpty(currentTooltip)) {
- Minecraft mc = Minecraft.getMinecraft();
- ScaledResolution scaledResolution = new ScaledResolution(mc);
- int width = scaledResolution.getScaledWidth();
- int height = scaledResolution.getScaledHeight();
- FontRenderer fontRendererObj = mc.fontRendererObj;
- int tooltipX = (width - fontRendererObj.getStringWidth(currentTooltip)) / 2;
- int tooltipY = height - 68;
- int opacity = (int) (tooltipDisplayTicks * 256.0F / 10.0F);
- if (opacity >= 160) {
- opacity = 160;
- }
- if (opacity > 0) {
- GL11.glPushMatrix();
- GL11.glEnable(GL11.GL_BLEND);
- GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
- int elapsedTicks = 40;
- int color = Color.getHSBColor((float) Math.cos(elapsedTicks + mc.theWorld.rand.nextInt() / 250D), 0.6F, 1F).getRGB();
- fontRendererObj.drawStringWithShadow(currentTooltip, tooltipX, tooltipY, color + (opacity << 24));
- GL11.glDisable(GL11.GL_BLEND);
- GL11.glPopMatrix();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment