Advertisement
Corosus

RenderLiving.java healthbar mod for pets

Mar 20th, 2012
405
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 23.38 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import java.awt.Color;
  4.  
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.src.Entity;
  7. import net.minecraft.src.EntityLiving;
  8. import net.minecraft.src.FontRenderer;
  9. import net.minecraft.src.MathHelper;
  10. import net.minecraft.src.ModelBase;
  11. import net.minecraft.src.OpenGlHelper;
  12. import net.minecraft.src.Render;
  13. import net.minecraft.src.Tessellator;
  14. import org.lwjgl.opengl.GL11;
  15.  
  16. public class RenderLiving extends Render
  17. {
  18.     protected ModelBase mainModel;
  19.     protected ModelBase renderPassModel;
  20.  
  21.     public RenderLiving(ModelBase var1, float var2)
  22.     {
  23.         this.mainModel = var1;
  24.         this.shadowSize = var2;
  25.     }
  26.  
  27.     public void setRenderPassModel(ModelBase var1)
  28.     {
  29.         this.renderPassModel = var1;
  30.     }
  31.  
  32.     public void doRenderLiving(EntityLiving var1, double var2, double var4, double var6, float var8, float var9)
  33.     {
  34.         GL11.glPushMatrix();
  35.         GL11.glDisable(2884 /*GL_CULL_FACE*/);
  36.         this.mainModel.onGround = this.renderSwingProgress(var1, var9);
  37.         if (this.renderPassModel != null)
  38.         {
  39.             this.renderPassModel.onGround = this.mainModel.onGround;
  40.         }
  41.  
  42.         this.mainModel.isRiding = var1.isRiding();
  43.         if (this.renderPassModel != null)
  44.         {
  45.             this.renderPassModel.isRiding = this.mainModel.isRiding;
  46.         }
  47.  
  48.         this.mainModel.field_40301_k = var1.isChild();
  49.         if (this.renderPassModel != null)
  50.         {
  51.             this.renderPassModel.field_40301_k = this.mainModel.field_40301_k;
  52.         }
  53.  
  54.         try
  55.         {
  56.             float var10 = var1.prevRenderYawOffset + (var1.renderYawOffset - var1.prevRenderYawOffset) * var9;
  57.             float var11 = var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9;
  58.             float var12 = var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9;
  59.             this.renderLivingAt(var1, var2, var4, var6);
  60.             float var13 = this.handleRotationFloat(var1, var9);
  61.             this.rotateCorpse(var1, var13, var10, var9);
  62.             float var14 = 0.0625F;
  63.             GL11.glEnable('\u803a');
  64.             GL11.glScalef(-1.0F, -1.0F, 1.0F);
  65.             this.preRenderCallback(var1, var9);
  66.             GL11.glTranslatef(0.0F, -24.0F * var14 - 0.0078125F, 0.0F);
  67.             float var15 = var1.field_705_Q + (var1.field_704_R - var1.field_705_Q) * var9;
  68.             float var16 = var1.field_703_S - var1.field_704_R * (1.0F - var9);
  69.             if (var1.isChild())
  70.             {
  71.                 var16 *= 3.0F;
  72.             }
  73.  
  74.             if (var15 > 1.0F)
  75.             {
  76.                 var15 = 1.0F;
  77.             }
  78.  
  79.             GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
  80.             this.mainModel.setLivingAnimations(var1, var16, var15, var9);
  81.             this.renderModel(var1, var16, var15, var13, var11 - var10, var12, var14);
  82.  
  83.             float var19;
  84.             int var18;
  85.             float var20;
  86.             float var22;
  87.             for (int var17 = 0; var17 < 4; ++var17)
  88.             {
  89.                 var18 = this.shouldRenderPass(var1, var17, var9);
  90.                 if (var18 > 0)
  91.                 {
  92.                     this.renderPassModel.setLivingAnimations(var1, var16, var15, var9);
  93.                     this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  94.                     if (var18 == 15)
  95.                     {
  96.                         var19 = (float)var1.ticksExisted + var9;
  97.                         this.loadTexture("%blur%/misc/glint.png");
  98.                         GL11.glEnable(3042 /*GL_BLEND*/);
  99.                         var20 = 0.5F;
  100.                         GL11.glColor4f(var20, var20, var20, 1.0F);
  101.                         GL11.glDepthFunc(514);
  102.                         GL11.glDepthMask(false);
  103.  
  104.                         for (int var21 = 0; var21 < 2; ++var21)
  105.                         {
  106.                             GL11.glDisable(2896 /*GL_LIGHTING*/);
  107.                             var22 = 0.76F;
  108.                             GL11.glColor4f(0.5F * var22, 0.25F * var22, 0.8F * var22, 1.0F);
  109.                             GL11.glBlendFunc(768, 1);
  110.                             GL11.glMatrixMode(5890 /*GL_TEXTURE*/);
  111.                             GL11.glLoadIdentity();
  112.                             float var23 = var19 * (0.0010F + (float)var21 * 0.0030F) * 20.0F;
  113.                             float var24 = 0.33333334F;
  114.                             GL11.glScalef(var24, var24, var24);
  115.                             GL11.glRotatef(30.0F - (float)var21 * 60.0F, 0.0F, 0.0F, 1.0F);
  116.                             GL11.glTranslatef(0.0F, var23, 0.0F);
  117.                             GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/);
  118.                             this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  119.                         }
  120.  
  121.                         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  122.                         GL11.glMatrixMode(5890 /*GL_TEXTURE*/);
  123.                         GL11.glDepthMask(true);
  124.                         GL11.glLoadIdentity();
  125.                         GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/);
  126.                         GL11.glEnable(2896 /*GL_LIGHTING*/);
  127.                         GL11.glDisable(3042 /*GL_BLEND*/);
  128.                         GL11.glDepthFunc(515);
  129.                     }
  130.  
  131.                     GL11.glDisable(3042 /*GL_BLEND*/);
  132.                     GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
  133.                 }
  134.             }
  135.  
  136.             this.renderEquippedItems(var1, var9);
  137.             float var26 = var1.getEntityBrightness(var9);
  138.             var18 = this.getColorMultiplier(var1, var26, var9);
  139.             OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled);
  140.             GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  141.             OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled);
  142.             if ((var18 >> 24 & 255) > 0 || var1.hurtTime > 0 || var1.deathTime > 0)
  143.             {
  144.                 GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  145.                 GL11.glDisable(3008 /*GL_ALPHA_TEST*/);
  146.                 GL11.glEnable(3042 /*GL_BLEND*/);
  147.                 GL11.glBlendFunc(770, 771);
  148.                 GL11.glDepthFunc(514);
  149.                 if (var1.hurtTime > 0 || var1.deathTime > 0)
  150.                 {
  151.                     GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
  152.                     this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  153.  
  154.                     for (int var27 = 0; var27 < 4; ++var27)
  155.                     {
  156.                         if (this.inheritRenderPass(var1, var27, var9) >= 0)
  157.                         {
  158.                             GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
  159.                             this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  160.                         }
  161.                     }
  162.                 }
  163.  
  164.                 if ((var18 >> 24 & 255) > 0)
  165.                 {
  166.                     var19 = (float)(var18 >> 16 & 255) / 255.0F;
  167.                     var20 = (float)(var18 >> 8 & 255) / 255.0F;
  168.                     float var29 = (float)(var18 & 255) / 255.0F;
  169.                     var22 = (float)(var18 >> 24 & 255) / 255.0F;
  170.                     GL11.glColor4f(var19, var20, var29, var22);
  171.                     this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  172.  
  173.                     for (int var28 = 0; var28 < 4; ++var28)
  174.                     {
  175.                         if (this.inheritRenderPass(var1, var28, var9) >= 0)
  176.                         {
  177.                             GL11.glColor4f(var19, var20, var29, var22);
  178.                             this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
  179.                         }
  180.                     }
  181.                 }
  182.  
  183.                 GL11.glDepthFunc(515);
  184.                 GL11.glDisable(3042 /*GL_BLEND*/);
  185.                 GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
  186.                 GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  187.             }
  188.  
  189.             GL11.glDisable('\u803a');
  190.         }
  191.         catch (Exception var25)
  192.         {
  193.             var25.printStackTrace();
  194.         }
  195.  
  196.         OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled);
  197.         GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  198.         OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled);
  199.         GL11.glEnable(2884 /*GL_CULL_FACE*/);
  200.         GL11.glPopMatrix();
  201.         this.passSpecialRender(var1, var2, var4, var6);
  202.     }
  203.  
  204.     protected void renderModel(EntityLiving var1, float var2, float var3, float var4, float var5, float var6, float var7)
  205.     {
  206.         this.loadDownloadableImageTexture(var1.skinUrl, var1.getEntityTexture());
  207.         this.mainModel.render(var1, var2, var3, var4, var5, var6, var7);
  208.     }
  209.  
  210.     protected void renderLivingAt(EntityLiving var1, double var2, double var4, double var6)
  211.     {
  212.         GL11.glTranslatef((float)var2, (float)var4, (float)var6);
  213.     }
  214.  
  215.     protected void rotateCorpse(EntityLiving var1, float var2, float var3, float var4)
  216.     {
  217.         GL11.glRotatef(180.0F - var3, 0.0F, 1.0F, 0.0F);
  218.         if (var1.deathTime > 0)
  219.         {
  220.             float var5 = ((float)var1.deathTime + var4 - 1.0F) / 20.0F * 1.6F;
  221.             var5 = MathHelper.sqrt_float(var5);
  222.             if (var5 > 1.0F)
  223.             {
  224.                 var5 = 1.0F;
  225.             }
  226.  
  227.             GL11.glRotatef(var5 * this.getDeathMaxRotation(var1), 0.0F, 0.0F, 1.0F);
  228.         }
  229.     }
  230.  
  231.     protected float renderSwingProgress(EntityLiving var1, float var2)
  232.     {
  233.         return var1.getSwingProgress(var2);
  234.     }
  235.  
  236.     protected float handleRotationFloat(EntityLiving var1, float var2)
  237.     {
  238.         return (float)var1.ticksExisted + var2;
  239.     }
  240.  
  241.     protected void renderEquippedItems(EntityLiving var1, float var2) {}
  242.  
  243.     protected int inheritRenderPass(EntityLiving var1, int var2, float var3)
  244.     {
  245.         return this.shouldRenderPass(var1, var2, var3);
  246.     }
  247.  
  248.     protected int shouldRenderPass(EntityLiving var1, int var2, float var3)
  249.     {
  250.         return -1;
  251.     }
  252.  
  253.     protected float getDeathMaxRotation(EntityLiving var1)
  254.     {
  255.         return 90.0F;
  256.     }
  257.  
  258.     protected int getColorMultiplier(EntityLiving var1, float var2, float var3)
  259.     {
  260.         return 0;
  261.     }
  262.  
  263.     protected void preRenderCallback(EntityLiving var1, float var2) {}
  264.  
  265.     protected void passSpecialRender(EntityLiving var1, double var2, double var4, double var6)
  266.     {
  267.         if (Minecraft.isDebugInfoEnabled())
  268.         {
  269.             ;
  270.         }
  271.        
  272.         try {
  273.               if (mod_Pets.showKills.get() && var1 instanceof EntityCreature && ((EntityCreature) var1).team == 1 && !(var1 instanceof EntityAnimal)) {
  274.                   String info = (new StringBuilder()).append(/*mod_Pets.idToOrderStr[((EntityCreature) var1).orders] + */"Kills: ").append(((EntityCreature) var1).kills).toString();
  275.                   renderLivingLabel2(var1, info, var2, var4-0.15, var6, 8);
  276.               }
  277.       } catch (Exception ex) {
  278.          
  279.       }
  280.  
  281.       /*if (var1 instanceof EntityCreature) {
  282.         if (var1.ridingEntity == null && var1.stepHeight == 0.1F && var1.moveSpeed == 0.3F) {
  283.             List list = var1.worldObj.getEntitiesWithinAABBExcludingEntity(var1, var1.boundingBox.expand(0.10000000000000001D, 0.10000000000000001D, 0.10000000000000001D));
  284.               for(int i = 0; i < list.size(); i++)
  285.               {
  286.                   Entity entity = (Entity)list.get(i);
  287.                   if (entity instanceof EntityCreature) {
  288.                       if (((EntityCreature)entity).stepHeight == 0.1F && ((EntityCreature)entity).moveSpeed == 0.6F) {
  289.                         var1.mountEntity(entity);
  290.                         break;
  291.                       }
  292.                   }
  293.               }
  294.         }
  295.  
  296.         String info = (new StringBuilder()).append("riding: ").append(var1.ridingEntity).toString();
  297.                 renderLivingLabel(var1, info, var2, var4, var6, 32);
  298.  
  299.  
  300.       }*/
  301.  
  302.  
  303.   try {
  304.           if (var1 instanceof EntityCreature) {
  305.               EntityCreature entCreature = (EntityCreature)var1;
  306.               //if ((entCreature.team == 1 || mod_Pets.allHealthBars) || mod_Pets.showOrders.get()) {
  307.               //GL11.glTranslatef(0.0F, -0.7F, 0.0F);
  308.               GL11.glPushMatrix();
  309.               GL11.glTranslatef((float)var2 + 0.0F, (float)var4 + 2.3F, (float)var6);
  310.               GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  311.               GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  312.               GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  313.               GL11.glScalef(0.05F, 0.03F, 0.05F);
  314.               Tessellator tessellator = Tessellator.instance;
  315.               double d4 = 0.0D;
  316.               double d3 = 20D;
  317.               String s = "";
  318.    
  319.               if((entCreature.team == 1 || mod_Pets.allHealthBars)) {
  320.                   if(!(entCreature instanceof EntityCreature));
  321.    
  322.                   if(!mod_Pets.healthBarsLOS.get() || entCreature.canEntityBeSeen(mod_Pets.theplayer)) {
  323.                       GL11.glDisable(2896 /*GL_LIGHTING*/);
  324.                       GL11.glDepthMask(false);
  325.                       GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  326.                       GL11.glEnable(3042 /*GL_BLEND*/);
  327.                       GL11.glBlendFunc(770, 771);
  328.                       GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  329.                       tessellator.startDrawingQuads();
  330.                       tessellator.setColorRGBA_F(1.0F, 0.0F, 0.0F, 0.6F);
  331.                       tessellator.addVertex(-d3 / 2D, -1D + d4, 0.0D);
  332.                       tessellator.addVertex(-d3 / 2D, 4D + d4, 0.0D);
  333.                       tessellator.addVertex(d3 / 2D, 4D + d4, 0.0D);
  334.                       tessellator.addVertex(d3 / 2D, -1D + d4, 0.0D);
  335.                       tessellator.draw();
  336.                       GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  337.                       GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  338.                       GL11.glDepthMask(true);
  339.                       GL11.glDisable(2896 /*GL_LIGHTING*/);
  340.                       GL11.glDepthMask(false);
  341.                       GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  342.                       GL11.glEnable(3042 /*GL_BLEND*/);
  343.                       GL11.glBlendFunc(770, 771);
  344.                       GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  345.                       tessellator.startDrawingQuads();
  346.    
  347.                       if(entCreature.maxhealth == 0 && entCreature.health > 0) {
  348.                           entCreature.maxhealth = 30;
  349.                           entCreature.health = 30;
  350.                       } else if(entCreature.health > entCreature.maxhealth) {
  351.                           entCreature.maxhealth = entCreature.health;
  352.                       }
  353.    
  354.                       d3 = ((double)entCreature.health / (double)entCreature.maxhealth) * 40D;
  355.                       tessellator.setColorRGBA_F(0.0F, 1.0F, 0.0F, 1.0F);
  356.                       tessellator.addVertex(-10D, -1D + d4, 0.0D);
  357.                       tessellator.addVertex(-10D, 4D + d4, 0.0D);
  358.                       tessellator.addVertex(-10D + d3 / 2D, 4D + d4, 0.0D);
  359.                       tessellator.addVertex(-10D + d3 / 2D, -1D + d4, 0.0D);
  360.                       tessellator.draw();
  361.                   }
  362.               }
  363.    
  364.               if ((entCreature.team == 1 || mod_Pets.allHealthBars) && mod_Pets.showOrders.get() && (!mod_Pets.healthBarsLOS.get() || entCreature.canEntityBeSeen(mod_Pets.theplayer))) {
  365.                   //color code orders
  366.                   d4 = -3.0D;
  367.                   GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  368.                   GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  369.                   GL11.glDepthMask(true);
  370.                   GL11.glDisable(2896 /*GL_LIGHTING*/);
  371.                   GL11.glDepthMask(false);
  372.                   GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  373.                   GL11.glEnable(3042 /*GL_BLEND*/);
  374.                   GL11.glBlendFunc(770, 771);
  375.                   GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  376.                   tessellator.startDrawingQuads();
  377.    
  378.                   if(entCreature.maxhealth == 0 && entCreature.health > 0) {
  379.                       entCreature.maxhealth = 30;
  380.                       entCreature.health = 30;
  381.                   } else if(entCreature.health > entCreature.maxhealth) {
  382.                       entCreature.maxhealth = entCreature.health;
  383.                   }
  384.    
  385.                   d3 = ((double)entCreature.health / (double)entCreature.maxhealth) * 40D;
  386.                   //tessellator.setColorRGBA_I(mod_Pets.idToOrderColor[entCreature.orders], 1);
  387.                   Color tColor = new Color(mod_Pets.idToOrderColor[entCreature.orders]);
  388.                   //System.out.println()
  389.                   tessellator.setColorRGBA_F(tColor.getRed()/255F, tColor.getGreen()/255F, tColor.getBlue()/255F, 1.0F);
  390.                   tessellator.addVertex(-4D, -1D + d4, 0.0D);
  391.                   tessellator.addVertex(-4D, 2D + d4, 0.0D);
  392.                   tessellator.addVertex(10D, 2D + d4, 0.0D);
  393.                   tessellator.addVertex(10D, -1D + d4, 0.0D);
  394.                   tessellator.draw();
  395.                   //d4 = -7.0D;
  396.                   GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  397.                   GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  398.                   GL11.glDepthMask(true);
  399.                   GL11.glDisable(2896 /*GL_LIGHTING*/);
  400.                   GL11.glDepthMask(false);
  401.                   GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  402.                   GL11.glEnable(3042 /*GL_BLEND*/);
  403.                   GL11.glBlendFunc(770, 771);
  404.                   GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  405.                   tessellator.startDrawingQuads();
  406.    
  407.                   if(entCreature.maxhealth == 0 && entCreature.health > 0) {
  408.                       entCreature.maxhealth = 30;
  409.                       entCreature.health = 30;
  410.                   } else if(entCreature.health > entCreature.maxhealth) {
  411.                       entCreature.maxhealth = entCreature.health;
  412.                   }
  413.    
  414.                   d3 = ((double)entCreature.health / (double)entCreature.maxhealth) * 40D;
  415.                   //tessellator.setColorRGBA_I(mod_Pets.idToOrderColor[entCreature.orders], 1);
  416.                   tColor = new Color(mod_Pets.idToStateColor[entCreature.state]);
  417.                   //System.out.println()
  418.                   tessellator.setColorRGBA_F(tColor.getRed()/255F, tColor.getGreen()/255F, tColor.getBlue()/255F, 1.0F);
  419.                   tessellator.addVertex(-10D, -1D + d4, 0.0D);
  420.                   tessellator.addVertex(-10D, 2D + d4, 0.0D);
  421.                   tessellator.addVertex(-4D, 2D + d4, 0.0D);
  422.                   tessellator.addVertex(-4D, -1D + d4, 0.0D);
  423.                   tessellator.draw();
  424.               }
  425.    
  426.               GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  427.               FontRenderer fontrenderer = getFontRendererFromRenderManager();
  428.               fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, -1);
  429.               GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  430.               GL11.glDepthMask(true);
  431.               GL11.glEnable(2896 /*GL_LIGHTING*/);
  432.               GL11.glDisable(3042 /*GL_BLEND*/);
  433.               GL11.glPopMatrix();
  434.           }
  435.   } catch (Exception ex) {
  436.      
  437.   }
  438.     }
  439.    
  440.     protected void renderLivingLabel2(EntityLiving var1, String var2, double var3, double var5, double var7, int var9) {
  441.         float var10 = var1.getDistanceToEntity(this.renderManager.livingPlayer);
  442.  
  443.         if(var10 <= (float)var9) {
  444.             FontRenderer var11 = this.getFontRendererFromRenderManager();
  445.             float var12 = 0.8F;
  446.             float var13 = 0.016666668F * var12;
  447.             GL11.glPushMatrix();
  448.             GL11.glTranslatef((float)var3 + 0.0F, (float)var5 + 2.3F, (float)var7);
  449.             GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  450.             GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  451.             GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  452.             GL11.glScalef(-var13, -var13, var13);
  453.             GL11.glDisable(2896 /*GL_LIGHTING*/);
  454.             GL11.glDepthMask(false);
  455.             GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  456.             GL11.glEnable(3042 /*GL_BLEND*/);
  457.             GL11.glBlendFunc(770, 771);
  458.             Tessellator var14 = Tessellator.instance;
  459.             byte var15 = 0;
  460.  
  461.             if(var2.equals("deadmau5")) {
  462.                 var15 = -10;
  463.             }
  464.  
  465.             GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  466.             var14.startDrawingQuads();
  467.             int var16 = var11.getStringWidth(var2) / 2;
  468.             var14.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  469.             var14.addVertex((double)(-var16 - 1), (double)(-1 + var15), 0.0D);
  470.             var14.addVertex((double)(-var16 - 1), (double)(8 + var15), 0.0D);
  471.             var14.addVertex((double)(var16 + 1), (double)(8 + var15), 0.0D);
  472.             var14.addVertex((double)(var16 + 1), (double)(-1 + var15), 0.0D);
  473.             var14.draw();
  474.             GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  475.             var11.drawString(var2, -var11.getStringWidth(var2) / 2, var15, 553648127);
  476.             GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  477.             GL11.glDepthMask(true);
  478.             var11.drawString(var2, -var11.getStringWidth(var2) / 2, var15, -1);
  479.             GL11.glEnable(2896 /*GL_LIGHTING*/);
  480.             GL11.glDisable(3042 /*GL_BLEND*/);
  481.             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  482.             GL11.glPopMatrix();
  483.         }
  484.     }
  485.  
  486.     protected void renderLivingLabel(EntityLiving var1, String var2, double var3, double var5, double var7, int var9)
  487.     {
  488.         float var10 = var1.getDistanceToEntity(this.renderManager.livingPlayer);
  489.         if (var10 <= (float)var9)
  490.         {
  491.             FontRenderer var11 = this.getFontRendererFromRenderManager();
  492.             float var12 = 1.6F;
  493.             float var13 = 0.016666668F * var12;
  494.             GL11.glPushMatrix();
  495.             GL11.glTranslatef((float)var3 + 0.0F, (float)var5 + 2.3F, (float)var7);
  496.             GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  497.             GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  498.             GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  499.             GL11.glScalef(-var13, -var13, var13);
  500.             GL11.glDisable(2896 /*GL_LIGHTING*/);
  501.             GL11.glDepthMask(false);
  502.             GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  503.             GL11.glEnable(3042 /*GL_BLEND*/);
  504.             GL11.glBlendFunc(770, 771);
  505.             Tessellator var14 = Tessellator.instance;
  506.             byte var15 = 0;
  507.             if (var2.equals("deadmau5"))
  508.             {
  509.                 var15 = -10;
  510.             }
  511.  
  512.             GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  513.             var14.startDrawingQuads();
  514.             int var16 = var11.getStringWidth(var2) / 2;
  515.             var14.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  516.             var14.addVertex((double)(-var16 - 1), (double)(-1 + var15), 0.0D);
  517.             var14.addVertex((double)(-var16 - 1), (double)(8 + var15), 0.0D);
  518.             var14.addVertex((double)(var16 + 1), (double)(8 + var15), 0.0D);
  519.             var14.addVertex((double)(var16 + 1), (double)(-1 + var15), 0.0D);
  520.             var14.draw();
  521.             GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  522.             var11.drawString(var2, -var11.getStringWidth(var2) / 2, var15, 553648127);
  523.             GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  524.             GL11.glDepthMask(true);
  525.             var11.drawString(var2, -var11.getStringWidth(var2) / 2, var15, -1);
  526.             GL11.glEnable(2896 /*GL_LIGHTING*/);
  527.             GL11.glDisable(3042 /*GL_BLEND*/);
  528.             GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  529.             GL11.glPopMatrix();
  530.         }
  531.     }
  532.  
  533.     public void doRender(Entity var1, double var2, double var4, double var6, float var8, float var9)
  534.     {
  535.         this.doRenderLiving((EntityLiving)var1, var2, var4, var6, var8, var9);
  536.     }
  537. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement