private void renderMenuBlock(Block block, float f, RenderBlocks renderblocks) { int i = block.getRenderType(); renderblocks.setRenderBoundsFromBlock(block); Tessellator tessellator = Tessellator.instance; if (i == 0) { block.setBlockBoundsForItemRender(); GL11.glTranslatef(-0.5F, -0.5F, -0.5F); float f1 = 0.5F; float f2 = 1.0F; float f3 = 0.8F; float f4 = 0.6F; tessellator.startDrawingQuads(); tessellator.setColorRGBA_F(f2, f2, f2, f); renderblocks.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(0)); tessellator.setColorRGBA_F(f1, f1, f1, f); renderblocks.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(1)); tessellator.setColorRGBA_F(f3, f3, f3, f); renderblocks.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(2)); renderblocks.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(3)); tessellator.setColorRGBA_F(f4, f4, f4, f); renderblocks.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(4)); renderblocks.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, block.getBlockTextureFromSide(5)); tessellator.draw(); GL11.glTranslatef(0.5F, 0.5F, 0.5F); } }
/** Draws a rectangle with a vertical gradient between the specified colors. */ protected void drawGradientRect(int par1, int par2, int par3, int par4, int par5, int par6) { float var7 = (float) (par5 >> 24 & 255) / 255.0F; float var8 = (float) (par5 >> 16 & 255) / 255.0F; float var9 = (float) (par5 >> 8 & 255) / 255.0F; float var10 = (float) (par5 & 255) / 255.0F; float var11 = (float) (par6 >> 24 & 255) / 255.0F; float var12 = (float) (par6 >> 16 & 255) / 255.0F; float var13 = (float) (par6 >> 8 & 255) / 255.0F; float var14 = (float) (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((double) par3, (double) par2, (double) this.zLevel); var15.addVertex((double) par1, (double) par2, (double) this.zLevel); var15.setColorRGBA_F(var12, var13, var14, var11); var15.addVertex((double) par1, (double) par4, (double) this.zLevel); var15.addVertex((double) par3, (double) par4, (double) this.zLevel); var15.draw(); GL11.glShadeModel(GL11.GL_FLAT); GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_ALPHA_TEST); GL11.glEnable(GL11.GL_TEXTURE_2D); }
/** Rotate and blurs the skybox view in the main menu */ private void rotateAndBlurSkybox(float par1) { GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.viewportTexture); this.mc.renderEngine.func_98185_a(); GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColorMask(true, true, true, false); Tessellator var2 = Tessellator.instance; var2.startDrawingQuads(); byte var3 = 3; for (int var4 = 0; var4 < var3; ++var4) { var2.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float) (var4 + 1)); int var5 = this.width; int var6 = this.height; float var7 = (float) (var4 - var3 / 2) / 256.0F; var2.addVertexWithUV( (double) var5, (double) var6, (double) this.zLevel, (double) (0.0F + var7), 0.0D); var2.addVertexWithUV((double) var5, 0.0D, (double) this.zLevel, (double) (1.0F + var7), 0.0D); var2.addVertexWithUV(0.0D, 0.0D, (double) this.zLevel, (double) (1.0F + var7), 1.0D); var2.addVertexWithUV(0.0D, (double) var6, (double) this.zLevel, (double) (0.0F + var7), 1.0D); } var2.draw(); GL11.glColorMask(true, true, true, true); this.mc.renderEngine.func_98185_a(); }
/** Renders the skybox in the main menu */ private void renderSkybox(int par1, int par2, float par3) { GL11.glViewport(0, 0, 256, 256); drawPanorama(par1, par2, par3); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); rotateAndBlurSkybox(par3); GL11.glViewport(0, 0, mc.displayWidth, mc.displayHeight); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); float f = width <= height ? 120F / (float) height : 120F / (float) width; float f1 = ((float) height * f) / 256F; float f2 = ((float) width * f) / 256F; GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F); int i = width; int j = height; tessellator.addVertexWithUV(0.0D, j, zLevel, 0.5F - f1, 0.5F + f2); tessellator.addVertexWithUV(i, j, zLevel, 0.5F - f1, 0.5F - f2); tessellator.addVertexWithUV(i, 0.0D, zLevel, 0.5F + f1, 0.5F - f2); tessellator.addVertexWithUV(0.0D, 0.0D, zLevel, 0.5F + f1, 0.5F + f2); tessellator.draw(); }
protected void renderLivingLabel( EntityLiving var1, String var2, double var3, double var5, double var7, int var9, int color, int color2) { // Spout end float var10 = var1.getDistanceToEntity(this.renderManager.livingPlayer); if (var10 <= (float) var9) { FontRenderer var11 = this.getFontRendererFromRenderManager(); float var12 = 1.6F; float var13 = 0.016666668F * var12; GL11.glPushMatrix(); GL11.glTranslatef((float) var3 + 0.0F, (float) var5 + 2.3F, (float) var7); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GL11.glScalef(-var13, -var13, var13); GL11.glDisable(2896 /*GL_LIGHTING*/); GL11.glDepthMask(false); GL11.glDisable(2929 /*GL_DEPTH_TEST*/); GL11.glEnable(3042 /*GL_BLEND*/); GL11.glBlendFunc(770, 771); Tessellator var14 = Tessellator.instance; byte var15 = 0; if (var2.equals("deadmau5")) { var15 = -10; } GL11.glDisable(3553 /*GL_TEXTURE_2D*/); var14.startDrawingQuads(); int var16 = var11.getStringWidth(var2) / 2; var14.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); var14.addVertex((double) (-var16 - 1), (double) (-1 + var15), 0.0D); var14.addVertex((double) (-var16 - 1), (double) (8 + var15), 0.0D); var14.addVertex((double) (var16 + 1), (double) (8 + var15), 0.0D); var14.addVertex((double) (var16 + 1), (double) (-1 + var15), 0.0D); var14.draw(); GL11.glEnable(3553 /*GL_TEXTURE_2D*/); var11.drawString( var2, -var11.getStringWidth(var2) / 2, var15, color); // Spout (changed to color var) GL11.glEnable(2929 /*GL_DEPTH_TEST*/); GL11.glDepthMask(true); var11.drawString( var2, -var11.getStringWidth(var2) / 2, var15, color2); // Spout (changed to color2 var) GL11.glEnable(2896 /*GL_LIGHTING*/); GL11.glDisable(3042 /*GL_BLEND*/); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); } }
/** Draws the debug or playername text above a living */ protected void renderLivingLabel( EntityLiving par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9) { float f = par1EntityLiving.getDistanceToEntity(renderManager.livingPlayer); if (f > (float) par9) { return; } FontRenderer fontrenderer = getFontRendererFromRenderManager(); float f1 = 1.6F; float f2 = 0.01666667F * f1; GL11.glPushMatrix(); GL11.glTranslatef((float) par3 + 0.0F, (float) par5 + 2.3F, (float) par7); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GL11.glScalef(-f2, -f2, f2); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDepthMask(false); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Tessellator tessellator = Tessellator.instance; byte byte0 = 0; if (par2Str.equals("deadmau5")) { byte0 = -10; } GL11.glDisable(GL11.GL_TEXTURE_2D); tessellator.startDrawingQuads(); int i = fontrenderer.getStringWidth(par2Str) / 2; tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); tessellator.addVertex(-i - 1, -1 + byte0, 0.0D); tessellator.addVertex(-i - 1, 8 + byte0, 0.0D); tessellator.addVertex(i + 1, 8 + byte0, 0.0D); tessellator.addVertex(i + 1, -1 + byte0, 0.0D); tessellator.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, byte0, 0x20ffffff); GL11.glEnable(GL11.GL_DEPTH_TEST); GL11.glDepthMask(true); fontrenderer.drawString(par2Str, -fontrenderer.getStringWidth(par2Str) / 2, byte0, -1); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); }
/** Used to render a player's name above their head */ protected void renderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6) { if (Minecraft.isGuiEnabled() && par1EntityPlayer != renderManager.livingPlayer) { float f = 1.6F; float f1 = 0.01666667F * f; float f2 = par1EntityPlayer.getDistanceToEntity(renderManager.livingPlayer); float f3 = par1EntityPlayer.isSneaking() ? 32F : 64F; if (f2 < f3) { String s = par1EntityPlayer.username; if (!par1EntityPlayer.isSneaking()) { if (par1EntityPlayer.isPlayerSleeping()) { renderLivingLabel(par1EntityPlayer, s, par2, par4 - 1.5D, par6, 64); } else { renderLivingLabel(par1EntityPlayer, s, par2, par4, par6, 64); } } else { FontRenderer fontrenderer = getFontRendererFromRenderManager(); GL11.glPushMatrix(); GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + 2.3F, (float) par6); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GL11.glScalef(-f1, -f1, f1); GL11.glDisable(GL11.GL_LIGHTING); GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F); GL11.glDepthMask(false); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Tessellator tessellator = Tessellator.instance; GL11.glDisable(GL11.GL_TEXTURE_2D); tessellator.startDrawingQuads(); int i = fontrenderer.getStringWidth(s) / 2; tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); tessellator.addVertex(-i - 1, -1D, 0.0D); tessellator.addVertex(-i - 1, 8D, 0.0D); tessellator.addVertex(i + 1, 8D, 0.0D); tessellator.addVertex(i + 1, -1D, 0.0D); tessellator.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDepthMask(true); fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 0x20ffffff); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); } } } }
public void renderParticle( Tessellator par1Tessellator, float par2, float par3, float par4, float par5, float par6, float par7) { int i = (int) ((((float) field_35130_a + par2) * 15F) / (float) field_35129_ay); if (i > 15) { return; } else { field_35128_az.bindTexture(field_35128_az.getTexture("/misc/explosion.png")); float f = (float) (i % 4) / 4F; float f1 = f + 0.24975F; float f2 = (float) (i / 4) / 4F; float f3 = f2 + 0.24975F; float f4 = 2.0F * field_35131_aA; float f5 = (float) ((prevPosX + (posX - prevPosX) * (double) par2) - interpPosX); float f6 = (float) ((prevPosY + (posY - prevPosY) * (double) par2) - interpPosY); float f7 = (float) ((prevPosZ + (posZ - prevPosZ) * (double) par2) - interpPosZ); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); RenderHelper.disableStandardItemLighting(); par1Tessellator.startDrawingQuads(); par1Tessellator.setColorRGBA_F(rand.nextFloat(), rand.nextFloat(), rand.nextFloat(), 1.0F); par1Tessellator.setNormal(0.0F, 1.0F, 0.0F); par1Tessellator.setBrightness(240); par1Tessellator.addVertexWithUV( f5 - par3 * f4 - par6 * f4, f6 - par4 * f4, f7 - par5 * f4 - par7 * f4, f1, f3); par1Tessellator.addVertexWithUV( (f5 - par3 * f4) + par6 * f4, f6 + par4 * f4, (f7 - par5 * f4) + par7 * f4, f1, f2); par1Tessellator.addVertexWithUV( f5 + par3 * f4 + par6 * f4, f6 + par4 * f4, f7 + par5 * f4 + par7 * f4, f, f2); par1Tessellator.addVertexWithUV( (f5 + par3 * f4) - par6 * f4, f6 - par4 * f4, (f7 + par5 * f4) - par7 * f4, f, f3); par1Tessellator.draw(); GL11.glPolygonOffset(0.0F, 0.0F); GL11.glEnable(GL11.GL_LIGHTING); return; } }
/** Renders the skybox in the main menu */ private void renderSkybox(int par1, int par2, float par3) { GL11.glViewport(0, 0, 256, 256); this.drawPanorama(par1, par2, par3); GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glEnable(GL11.GL_TEXTURE_2D); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); this.rotateAndBlurSkybox(par3); GL11.glViewport(0, 0, this.mc.displayWidth, this.mc.displayHeight); Tessellator var4 = Tessellator.instance; var4.startDrawingQuads(); float var5 = this.width > this.height ? 120.0F / (float) this.width : 120.0F / (float) this.height; float var6 = (float) this.height * var5 / 256.0F; float var7 = (float) this.width * var5 / 256.0F; GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_LINEAR); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_LINEAR); var4.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F); int var8 = this.width; int var9 = this.height; var4.addVertexWithUV( 0.0D, (double) var9, (double) this.zLevel, (double) (0.5F - var6), (double) (0.5F + var7)); var4.addVertexWithUV( (double) var8, (double) var9, (double) this.zLevel, (double) (0.5F - var6), (double) (0.5F - var7)); var4.addVertexWithUV( (double) var8, 0.0D, (double) this.zLevel, (double) (0.5F + var6), (double) (0.5F - var7)); var4.addVertexWithUV( 0.0D, 0.0D, (double) this.zLevel, (double) (0.5F + var6), (double) (0.5F + var7)); var4.draw(); }
/** Rotate and blurs the skybox view in the main menu */ private void rotateAndBlurSkybox(float par1) { mc.func_110434_K().func_110577_a(field_110351_G); GL11.glCopyTexSubImage2D(GL11.GL_TEXTURE_2D, 0, 0, 0, 0, 0, 256, 256); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glColorMask(true, true, true, false); Tessellator tessellator = Tessellator.instance; tessellator.startDrawingQuads(); byte byte0 = 3; for (int i = 0; i < byte0; i++) { tessellator.setColorRGBA_F(1.0F, 1.0F, 1.0F, 1.0F / (float) (i + 1)); int j = width; int k = height; float f = (float) (i - byte0 / 2) / 256F; tessellator.addVertexWithUV(j, k, zLevel, 0.0F + f, 0.0D); tessellator.addVertexWithUV(j, 0.0D, zLevel, 1.0F + f, 0.0D); tessellator.addVertexWithUV(0.0D, 0.0D, zLevel, 1.0F + f, 1.0D); tessellator.addVertexWithUV(0.0D, k, zLevel, 0.0F + f, 1.0D); } tessellator.draw(); GL11.glColorMask(true, true, true, true); }
/** Actually renders the lightning bolt. This method is called through the doRender method. */ public void doRenderLightningBolt( EntityLightningBolt par1EntityLightningBolt, double par2, double par4, double par6, float par8, float par9) { Tessellator var10 = Tessellator.instance; GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); double[] var11 = new double[8]; double[] var12 = new double[8]; double var13 = 0.0D; double var15 = 0.0D; Random var17 = new Random(par1EntityLightningBolt.boltVertex); for (int var18 = 7; var18 >= 0; --var18) { var11[var18] = var13; var12[var18] = var15; var13 += (double) (var17.nextInt(11) - 5); var15 += (double) (var17.nextInt(11) - 5); } for (int var45 = 0; var45 < 4; ++var45) { Random var46 = new Random(par1EntityLightningBolt.boltVertex); for (int var19 = 0; var19 < 3; ++var19) { int var20 = 7; int var21 = 0; if (var19 > 0) { var20 = 7 - var19; } if (var19 > 0) { var21 = var20 - 2; } double var22 = var11[var20] - var13; double var24 = var12[var20] - var15; for (int var26 = var20; var26 >= var21; --var26) { double var27 = var22; double var29 = var24; if (var19 == 0) { var22 += (double) (var46.nextInt(11) - 5); var24 += (double) (var46.nextInt(11) - 5); } else { var22 += (double) (var46.nextInt(31) - 15); var24 += (double) (var46.nextInt(31) - 15); } var10.startDrawing(5); float var31 = 0.5F; var10.setColorRGBA_F(0.9F * var31, 0.9F * var31, 1.0F * var31, 0.3F); double var32 = 0.1D + (double) var45 * 0.2D; if (var19 == 0) { var32 *= (double) var26 * 0.1D + 1.0D; } double var34 = 0.1D + (double) var45 * 0.2D; if (var19 == 0) { var34 *= (double) (var26 - 1) * 0.1D + 1.0D; } for (int var36 = 0; var36 < 5; ++var36) { double var37 = par2 + 0.5D - var32; double var39 = par6 + 0.5D - var32; if (var36 == 1 || var36 == 2) { var37 += var32 * 2.0D; } if (var36 == 2 || var36 == 3) { var39 += var32 * 2.0D; } double var41 = par2 + 0.5D - var34; double var43 = par6 + 0.5D - var34; if (var36 == 1 || var36 == 2) { var41 += var34 * 2.0D; } if (var36 == 2 || var36 == 3) { var43 += var34 * 2.0D; } var10.addVertex(var41 + var22, par4 + (double) (var26 * 16), var43 + var24); var10.addVertex(var37 + var27, par4 + (double) ((var26 + 1) * 16), var39 + var29); } var10.draw(); } } } GL11.glDisable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_TEXTURE_2D); }
/** Used to render a player's name above their head */ protected void renderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6) { if (!par1EntityPlayer.getHasActivePotion()) { if (Minecraft.isGuiEnabled() && (par1EntityPlayer != this.renderManager.livingPlayer || (Minecraft.theMinecraft.gameSettings.thirdPersonView != 0 && Minecraft.theMinecraft.currentScreen == null))) { float var8 = 1.6F; float var9 = 0.016666668F * var8; double var10 = par1EntityPlayer.getDistanceSqToEntity(this.renderManager.livingPlayer); float var12 = par1EntityPlayer.isSneaking() ? 32.0F : 64.0F; if (var10 < (double) (var12 * var12)) { // Spout Start String title = null; VIP vip = par1EntityPlayer.vip; if (vip != null) { title = vip.getTitle(); } else { title = par1EntityPlayer.displayName; } float alpha = 0.25F; // If a plugin hasn't set a title, use the easter egg title (if one exists) /*if (EasterEggs.getEasterEggTitle(var1.username) != null && color == -1) { title = EasterEggs.getEasterEggTitle(var1.username); alpha = 0.0F; }*/ if (!title.equals("[hide]")) { String lines[] = title.split("\\n"); double y = par4; for (int line = 0; line < lines.length; line++) { title = lines[line]; par4 = y + (0.275D * (lines.length - line - 1)); if (AccessoryHandler.hasAccessory( par1EntityPlayer.username, AccessoryType.NOTCHHAT)) { par4 = par4 + 0.275d; } else if (AccessoryHandler.hasAccessory( par1EntityPlayer.username, AccessoryType.TOPHAT)) { par4 = par4 + 0.5d; } if (!par1EntityPlayer.isSneaking()) { if (par1EntityPlayer.isPlayerSleeping()) { this.renderLivingLabel(par1EntityPlayer, title, par2, par4 - 1.5D, par6, 64); } else { this.renderLivingLabel(par1EntityPlayer, title, par2, par4, par6, 64); // TODO: Adapation needed. /*if (color != -1) { this.renderLivingLabel(var1, title, var2, var4, var6, 64, color, color); } else { this.renderLivingLabel(par1EntityPlayer, title, par2, par4, par6, 64); }*/ } } else { title = org.bukkit.ChatColor.stripColor(title); // strip colors when sneaking FontRenderer var14 = this.getFontRendererFromRenderManager(); GL11.glPushMatrix(); GL11.glTranslatef((float) par2 + 0.0F, (float) par4 + 2.3F, (float) par6); GL11.glNormal3f(0.0F, 1.0F, 0.0F); GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F); GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F); GL11.glScalef(-var9, -var9, var9); GL11.glDisable(GL11.GL_LIGHTING); GL11.glTranslatef(0.0F, 0.25F / var9, 0.0F); GL11.glDepthMask(false); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Tessellator var15 = Tessellator.instance; GL11.glDisable(GL11.GL_TEXTURE_2D); var15.startDrawingQuads(); int var16 = var14.getStringWidth(title) / 2; var15.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); var15.addVertex((double) (-var16 - 1), -1.0D, 0.0D); var15.addVertex((double) (-var16 - 1), 8.0D, 0.0D); var15.addVertex((double) (var16 + 1), 8.0D, 0.0D); var15.addVertex((double) (var16 + 1), -1.0D, 0.0D); var15.draw(); GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDepthMask(true); var14.drawString(title, -var14.getStringWidth(title) / 2, 0, 553648127); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_BLEND); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); // Spout End } } } } } } }
public void func_76906_a( TileEntityEndPortal par1TileEntityEndPortal, double par2, double par4, double par6, float par8) { float var9 = (float) this.tileEntityRenderer.playerX; float var10 = (float) this.tileEntityRenderer.playerY; float var11 = (float) this.tileEntityRenderer.playerZ; GL11.glDisable(GL11.GL_LIGHTING); Random var12 = new Random(31100L); float var13 = 0.75F; for (int var14 = 0; var14 < 16; ++var14) { GL11.glPushMatrix(); float var15 = (float) (16 - var14); float var16 = 0.0625F; float var17 = 1.0F / (var15 + 1.0F); if (var14 == 0) { this.bindTextureByName("/misc/tunnel.png"); var17 = 0.1F; var15 = 65.0F; var16 = 0.125F; GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); } if (var14 == 1) { this.bindTextureByName("/misc/particlefield.png"); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); var16 = 0.5F; } float var18 = (float) (-(par4 + (double) var13)); float var19 = var18 + ActiveRenderInfo.objectY; float var20 = var18 + var15 + ActiveRenderInfo.objectY; float var21 = var19 / var20; var21 += (float) (par4 + (double) var13); GL11.glTranslatef(var9, var21, var11); GL11.glTexGeni(GL11.GL_S, GL11.GL_TEXTURE_GEN_MODE, GL11.GL_OBJECT_LINEAR); GL11.glTexGeni(GL11.GL_T, GL11.GL_TEXTURE_GEN_MODE, GL11.GL_OBJECT_LINEAR); GL11.glTexGeni(GL11.GL_R, GL11.GL_TEXTURE_GEN_MODE, GL11.GL_OBJECT_LINEAR); GL11.glTexGeni(GL11.GL_Q, GL11.GL_TEXTURE_GEN_MODE, GL11.GL_EYE_LINEAR); GL11.glTexGen(GL11.GL_S, GL11.GL_OBJECT_PLANE, this.func_76907_a(1.0F, 0.0F, 0.0F, 0.0F)); GL11.glTexGen(GL11.GL_T, GL11.GL_OBJECT_PLANE, this.func_76907_a(0.0F, 0.0F, 1.0F, 0.0F)); GL11.glTexGen(GL11.GL_R, GL11.GL_OBJECT_PLANE, this.func_76907_a(0.0F, 0.0F, 0.0F, 1.0F)); GL11.glTexGen(GL11.GL_Q, GL11.GL_EYE_PLANE, this.func_76907_a(0.0F, 1.0F, 0.0F, 0.0F)); GL11.glEnable(GL11.GL_TEXTURE_GEN_S); GL11.glEnable(GL11.GL_TEXTURE_GEN_T); GL11.glEnable(GL11.GL_TEXTURE_GEN_R); GL11.glEnable(GL11.GL_TEXTURE_GEN_Q); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_TEXTURE); GL11.glPushMatrix(); GL11.glLoadIdentity(); GL11.glTranslatef(0.0F, (float) (Minecraft.getSystemTime() % 700000L) / 700000.0F, 0.0F); GL11.glScalef(var16, var16, var16); GL11.glTranslatef(0.5F, 0.5F, 0.0F); GL11.glRotatef((float) (var14 * var14 * 4321 + var14 * 9) * 2.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-0.5F, -0.5F, 0.0F); GL11.glTranslatef(-var9, -var11, -var10); var19 = var18 + ActiveRenderInfo.objectY; GL11.glTranslatef( ActiveRenderInfo.objectX * var15 / var19, ActiveRenderInfo.objectZ * var15 / var19, -var10); Tessellator var24 = Tessellator.instance; var24.startDrawingQuads(); var21 = var12.nextFloat() * 0.5F + 0.1F; float var22 = var12.nextFloat() * 0.5F + 0.4F; float var23 = var12.nextFloat() * 0.5F + 0.5F; if (var14 == 0) { var23 = 1.0F; var22 = 1.0F; var21 = 1.0F; } var24.setColorRGBA_F(var21 * var17, var22 * var17, var23 * var17, 1.0F); var24.addVertex(par2, par4 + (double) var13, par6); var24.addVertex(par2, par4 + (double) var13, par6 + 1.0D); var24.addVertex(par2 + 1.0D, par4 + (double) var13, par6 + 1.0D); var24.addVertex(par2 + 1.0D, par4 + (double) var13, par6); var24.draw(); GL11.glPopMatrix(); GL11.glMatrixMode(GL11.GL_MODELVIEW); } GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_TEXTURE_GEN_S); GL11.glDisable(GL11.GL_TEXTURE_GEN_T); GL11.glDisable(GL11.GL_TEXTURE_GEN_R); GL11.glDisable(GL11.GL_TEXTURE_GEN_Q); GL11.glEnable(GL11.GL_LIGHTING); }