package shedar.mods.ic2.nuclearcontrol.renderers; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Facing; import org.lwjgl.opengl.GL11; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityThermo; public class TileEntityIC2ThermoRenderer extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { boolean isThermo = tileEntity instanceof TileEntityThermo; if (isThermo) { GL11.glPushMatrix(); TileEntityThermo thermo = (TileEntityThermo) tileEntity; short side = (short) Facing.oppositeSide[thermo.getFacing()]; float var12 = 0.014F; int heat = thermo.getHeatLevel(); String text = Integer.toString(heat); GL11.glTranslatef((float) x, (float) y, (float) z); switch (side) { case 0: break; case 1: GL11.glTranslatef(1, 1, 0); GL11.glRotatef(180, 1, 0, 0); GL11.glRotatef(180, 0, 1, 0); break; case 2: GL11.glTranslatef(0, 1, 0); GL11.glRotatef(0, 0, 1, 0); GL11.glRotatef(90, 1, 0, 0); break; case 3: GL11.glTranslatef(1, 1, 1); GL11.glRotatef(180, 0, 1, 0); GL11.glRotatef(90, 1, 0, 0); break; case 4: GL11.glTranslatef(0, 1, 1); GL11.glRotatef(90, 0, 1, 0); GL11.glRotatef(90, 1, 0, 0); break; case 5: GL11.glTranslatef(1, 1, 0); GL11.glRotatef(-90, 0, 1, 0); GL11.glRotatef(90, 1, 0, 0); break; } GL11.glTranslatef(0.5F, 0.4375F, 0.6875F); FontRenderer fontRenderer = this.func_147498_b(); GL11.glRotatef(-90, 1, 0, 0); GL11.glScalef(var12, -var12, var12); GL11.glPolygonOffset(-10, -10); GL11.glEnable(GL11.GL_POLYGON_OFFSET_FILL); fontRenderer.drawString(text, -fontRenderer.getStringWidth(text) / 2, -fontRenderer.FONT_HEIGHT, 0); GL11.glDisable(GL11.GL_POLYGON_OFFSET_FILL); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); } } }