65 lines
2.8 KiB
Java
65 lines
2.8 KiB
Java
package assemblyline.client.render;
|
|
|
|
import net.minecraft.client.gui.FontRenderer;
|
|
import net.minecraft.client.renderer.OpenGlHelper;
|
|
import net.minecraft.client.renderer.Tessellator;
|
|
import net.minecraft.client.renderer.entity.RenderManager;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
public class RenderHelper {
|
|
public static void renderFloatingText(String text, float x, float y, float z) {
|
|
RenderHelper.renderFloatingText(text, x, y, z, 0xFFFFFF);
|
|
}
|
|
|
|
public static void
|
|
renderFloatingText(String text, float x, float y, float z, int color) {
|
|
RenderManager renderManager = RenderManager.instance;
|
|
FontRenderer fontRenderer = renderManager.getFontRenderer();
|
|
float scale = 0.027f;
|
|
GL11.glColor4f((float) 1.0f, (float) 1.0f, (float) 1.0f, (float) 0.5f);
|
|
GL11.glPushMatrix();
|
|
GL11.glTranslatef((float) (x + 0.0f), (float) (y + 2.3f), (float) z);
|
|
GL11.glNormal3f((float) 0.0f, (float) 1.0f, (float) 0.0f);
|
|
GL11.glRotatef(
|
|
(float) (-renderManager.playerViewY), (float) 0.0f, (float) 1.0f, (float) 0.0f
|
|
);
|
|
GL11.glRotatef(
|
|
(float) renderManager.playerViewX, (float) 1.0f, (float) 0.0f, (float) 0.0f
|
|
);
|
|
GL11.glScalef((float) (-scale), (float) (-scale), (float) scale);
|
|
GL11.glDisable((int) 2896);
|
|
OpenGlHelper.setLightmapTextureCoords(
|
|
(int) OpenGlHelper.lightmapTexUnit, (float) 240.0f, (float) 240.0f
|
|
);
|
|
GL11.glDepthMask((boolean) false);
|
|
GL11.glDisable((int) 2929);
|
|
GL11.glEnable((int) 3042);
|
|
GL11.glBlendFunc((int) 770, (int) 771);
|
|
Tessellator tessellator = Tessellator.instance;
|
|
int yOffset = 0;
|
|
GL11.glDisable((int) 3553);
|
|
tessellator.startDrawingQuads();
|
|
int stringMiddle = fontRenderer.getStringWidth(text) / 2;
|
|
tessellator.setColorRGBA_F(0.0f, 0.0f, 0.0f, 0.5f);
|
|
tessellator.addVertex((double) (-stringMiddle - 1), (double) (-1 + yOffset), 0.0);
|
|
tessellator.addVertex((double) (-stringMiddle - 1), (double) (8 + yOffset), 0.0);
|
|
tessellator.addVertex((double) (stringMiddle + 1), (double) (8 + yOffset), 0.0);
|
|
tessellator.addVertex((double) (stringMiddle + 1), (double) (-1 + yOffset), 0.0);
|
|
tessellator.draw();
|
|
GL11.glEnable((int) 3553);
|
|
GL11.glColor4f((float) 1.0f, (float) 1.0f, (float) 1.0f, (float) 0.5f);
|
|
fontRenderer.drawString(
|
|
text, -fontRenderer.getStringWidth(text) / 2, yOffset, color
|
|
);
|
|
GL11.glEnable((int) 2929);
|
|
GL11.glDepthMask((boolean) true);
|
|
fontRenderer.drawString(
|
|
text, -fontRenderer.getStringWidth(text) / 2, yOffset, color
|
|
);
|
|
GL11.glEnable((int) 2896);
|
|
GL11.glDisable((int) 3042);
|
|
GL11.glColor4f((float) 1.0f, (float) 1.0f, (float) 1.0f, (float) 1.0f);
|
|
GL11.glPopMatrix();
|
|
}
|
|
}
|