Package thaumic.tinkerer.client.core.helper

Source Code of thaumic.tinkerer.client.core.helper.ClientHelper

/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [8 Sep 2013, 18:11:25 (GMT)]
*/
package thaumic.tinkerer.client.core.helper;

import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.renderer.Tessellator;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;

import java.util.List;

public final class ClientHelper {

  public static Minecraft minecraft() {
    return Minecraft.getMinecraft();
  }

  public static FontRenderer fontRenderer() {
    return minecraft().fontRenderer;
  }

  public static EntityClientPlayerMP clientPlayer() {
    return minecraft().thePlayer;
  }

  public static void renderTooltip(int x, int y, List<String> tooltipData) {
    int color = 0x505000ff;
    int color2 = 0xf0100010;

    GL11.glDisable(GL12.GL_RESCALE_NORMAL);
    net.minecraft.client.renderer.RenderHelper.disableStandardItemLighting();
    GL11.glDisable(GL11.GL_LIGHTING);
    GL11.glDisable(GL11.GL_DEPTH_TEST);

    if (!tooltipData.isEmpty()) {
      int var5 = 0;
      int var6;
      int var7;
      FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
      for (var6 = 0; var6 < tooltipData.size(); ++var6) {
        var7 = fontRenderer.getStringWidth(tooltipData.get(var6));
        if (var7 > var5)
          var5 = var7;
      }
      var6 = x + 12;
      var7 = y - 12;
      int var9 = 8;
      if (tooltipData.size() > 1)
        var9 += 2 + (tooltipData.size() - 1) * 10;
      float z = 300.0F;
      drawGradientRect(var6 - 3, var7 - 4, z, var6 + var5 + 3, var7 - 3, color2, color2);
      drawGradientRect(var6 - 3, var7 + var9 + 3, z, var6 + var5 + 3, var7 + var9 + 4, color2, color2);
      drawGradientRect(var6 - 3, var7 - 3, z, var6 + var5 + 3, var7 + var9 + 3, color2, color2);
      drawGradientRect(var6 - 4, var7 - 3, z, var6 - 3, var7 + var9 + 3, color2, color2);
      drawGradientRect(var6 + var5 + 3, var7 - 3, z, var6 + var5 + 4, var7 + var9 + 3, color2, color2);
      int var12 = (color & 0xFFFFFF) >> 1 | color & -16777216;
      drawGradientRect(var6 - 3, var7 - 3 + 1, z, var6 - 3 + 1, var7 + var9 + 3 - 1, color, var12);
      drawGradientRect(var6 + var5 + 2, var7 - 3 + 1, z, var6 + var5 + 3, var7 + var9 + 3 - 1, color, var12);
      drawGradientRect(var6 - 3, var7 - 3, z, var6 + var5 + 3, var7 - 3 + 1, color, color);
      drawGradientRect(var6 - 3, var7 + var9 + 2, z, var6 + var5 + 3, var7 + var9 + 3, var12, var12);
      for (int var13 = 0; var13 < tooltipData.size(); ++var13) {
        String var14 = tooltipData.get(var13);
        fontRenderer.drawStringWithShadow(var14, var6, var7, -1);
        if (var13 == 0)
          var7 += 2;
        var7 += 10;
      }
    }
  }

  public static void drawGradientRect(int par1, int par2, float z, int par3, int par4, int par5, int par6) {
    float var7 = (par5 >> 24 & 255) / 255.0F;
    float var8 = (par5 >> 16 & 255) / 255.0F;
    float var9 = (par5 >> 8 & 255) / 255.0F;
    float var10 = (par5 & 255) / 255.0F;
    float var11 = (par6 >> 24 & 255) / 255.0F;
    float var12 = (par6 >> 16 & 255) / 255.0F;
    float var13 = (par6 >> 8 & 255) / 255.0F;
    float var14 = (par6 & 255) / 255.0F;
    GL11.glDisable(GL11.GL_TEXTURE_2D);
    GL11.glEnable(GL11.GL_BLEND);
    GL11.glDisable(GL11.GL_ALPHA_TEST);
    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
    GL11.glShadeModel(GL11.GL_SMOOTH);
    Tessellator var15 = Tessellator.instance;
    var15.startDrawingQuads();
    var15.setColorRGBA_F(var8, var9, var10, var7);
    var15.addVertex(par3, par2, z);
    var15.addVertex(par1, par2, z);
    var15.setColorRGBA_F(var12, var13, var14, var11);
    var15.addVertex(par1, par4, z);
    var15.addVertex(par3, par4, z);
    var15.draw();
    GL11.glShadeModel(GL11.GL_FLAT);
    GL11.glDisable(GL11.GL_BLEND);
    GL11.glEnable(GL11.GL_ALPHA_TEST);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
  }

}
TOP

Related Classes of thaumic.tinkerer.client.core.helper.ClientHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.