GenuineSounds

Untitled

Aug 11th, 2011
268
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.96 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import org.lwjgl.opengl.GL11;
  4.  
  5. import net.minecraft.client.Minecraft;
  6.  
  7. public class GenuineNpcRender extends RenderBiped {
  8.  
  9.     public GenuineNpcRender() {
  10.         super(new ModelBiped(), 1.0F);
  11.     }
  12.  
  13.     @Override
  14.     public void passSpecialRender(EntityLiving entityliving, double d, double d1, double d2)
  15.     {      
  16.         renderNpcLabel((GenuineNpcEntity)entityliving, d, d1, d2, 32);
  17.     }
  18.  
  19.     public void renderNpcLabel(GenuineNpcEntity entitynpc, double d, double d1,
  20.             double d2, int i) {
  21.         String entitylevel = null;
  22.         if (entitynpc.npcLevel <= 9)
  23.             entitylevel = (new StringBuilder()).append("Lvl \2477")
  24.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  25.         if (entitynpc.npcLevel >= 10 && entitynpc.npcLevel <= 19)
  26.             entitylevel = (new StringBuilder()).append("Lvl \247f")
  27.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  28.         if (entitynpc.npcLevel >= 20 && entitynpc.npcLevel <= 29)
  29.             entitylevel = (new StringBuilder()).append("Lvl \247a")
  30.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  31.         if (entitynpc.npcLevel >= 30 && entitynpc.npcLevel <= 39)
  32.             entitylevel = (new StringBuilder()).append("Lvl \247b")
  33.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  34.         if (entitynpc.npcLevel >= 40 && entitynpc.npcLevel <= 49)
  35.             entitylevel = (new StringBuilder()).append("Lvl \247d")
  36.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  37.         if (entitynpc.npcLevel >= 50)
  38.             entitylevel = (new StringBuilder()).append("Lvl \247e")
  39.             .append(Integer.toString(entitynpc.npcLevel)).toString();
  40.  
  41.         if (!Minecraft.isDebugInfoEnabled()) {
  42.             if (entitynpc.npcTitle != null)
  43.                 renderName(entitynpc, entitynpc.npcName.trim() + " " + entitynpc.npcTitle.trim(), d, d1 + 0.13, d2, i);
  44.             else
  45.                 renderName(entitynpc, entitynpc.npcName, d, d1 + 0.13D, d2, i);
  46.             renderName(entitynpc, entitylevel, d, d1 + 0.4D, d2, i);
  47.             renderHealthBars(entitynpc, d, d1, d2, 32);
  48.         } else {
  49.             renderLivingLabel(
  50.                     entitynpc,
  51.                     new StringBuilder().append("Npc Strength: ").append(entitynpc.npcMaxStrength)
  52.                     .append(", Npc Level: ").append(entitynpc.npcLevel).toString(),
  53.                     d, d1 + 0.13, d2, i);
  54.             renderLivingLabel(
  55.                     entitynpc,
  56.                     new StringBuilder().append("Npc Health: ").append(entitynpc.npcMaxHealth)
  57.                     .append(", Npc Owner: ").append(entitynpc.npcOwner).toString(),
  58.                     d, d1 + 0.4, d2, i);
  59.         }
  60.     }
  61.    
  62.     public void renderName(GenuineNpcEntity entitynpc, String s, double d, double d1, double d2, int i)
  63.     {
  64.         float f = entitynpc.getDistanceToEntity(renderManager.livingPlayer);
  65.         if(f > i)
  66.         {
  67.             return;
  68.         }
  69.         FontRenderer fontrenderer = getFontRendererFromRenderManager();
  70.         float f1 = 1.6F;
  71.         float f2 = 0.01666667F * f1;
  72.         GL11.glPushMatrix();
  73.         GL11.glTranslatef((float)d + 0.0F, (float)d1 + 2.3F, (float)d2);
  74.         GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  75.         GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  76.         GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  77.         GL11.glScalef(-f2, -f2, f2);
  78.         GL11.glDisable(2896 /*GL_LIGHTING*/);
  79.         GL11.glDepthMask(false);
  80.         GL11.glDisable(2929 /*GL_DEPTH_TEST*/);
  81.         GL11.glEnable(3042 /*GL_BLEND*/);
  82.         GL11.glBlendFunc(770, 771);
  83.         Tessellator tessellator = Tessellator.instance;
  84.         GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
  85.         tessellator.startDrawingQuads();
  86.         int j = fontrenderer.getStringWidth(s) / 2;
  87.         tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.35F);
  88.         tessellator.addVertex(-j - 1, -1, 0.0D);
  89.         tessellator.addVertex(-j - 1, 8, 0.0D);
  90.         tessellator.addVertex(j + 1, 8, 0.0D);
  91.         tessellator.addVertex(j + 1, -1, 0.0D);
  92.         tessellator.draw();
  93.         GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
  94.         fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 0x20ffffff);
  95.         GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  96.         GL11.glDepthMask(true);
  97.         fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, -1);
  98.         GL11.glEnable(2896 /*GL_LIGHTING*/);
  99.         GL11.glDisable(3042 /*GL_BLEND*/);
  100.         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  101.         GL11.glPopMatrix();
  102.     }
  103.  
  104.     public void renderHealthBars(GenuineNpcEntity entitynpc, double d, double d1, double d2, int i)
  105.     {
  106.         float f = entitynpc.getDistanceToEntity(renderManager.livingPlayer);
  107.         if(f > i)
  108.         {
  109.             return;
  110.         }
  111.         float f2 = 1.6F;
  112.         float f3 = 0.01666667F * f2;
  113.         GL11.glPushMatrix();
  114.         GL11.glTranslatef((float) d, (float) d1 + 2.2F, (float) d2);
  115.         GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  116.         GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  117.         GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  118.         GL11.glScalef(-f3, -f3, f3);
  119.         GL11.glDisable(2896 /* GL_LIGHTING */);
  120.         GL11.glEnable(3042 /*GL_BLEND*/);
  121.         GL11.glBlendFunc(770, 771);
  122.         Tessellator tessellator = Tessellator.instance;
  123.         GL11.glDisable(3553 /* GL_TEXTURE_2D */);
  124.         tessellator.startDrawingQuads();
  125.         float health = entitynpc.health;
  126.         float maxHealth = entitynpc.npcMaxHealth;
  127.         float healthPercent = health / maxHealth;
  128.         float opHealthPercent = 1F - (health / maxHealth);
  129.         float ll = 50 * healthPercent;
  130.         //GL11.glEnable(2929 /*GL_DEPTH_TEST*/);
  131.         //GL11.glDepthMask(true);
  132.         // black bar
  133.         tessellator.setColorRGBA_F(0F, 0F, 0F, 1F);
  134.         tessellator.addVertex(-25 + ll, 0, 0.0D);
  135.         tessellator.addVertex(-25 + ll, 4, 0.0D);
  136.         tessellator.addVertex(25, 4, 0.0D);
  137.         tessellator.addVertex(25, 0, 0.0D);
  138.         // health bar
  139.         tessellator.setColorRGBA_F(opHealthPercent, healthPercent, 0F, 1F);
  140.         tessellator.addVertex(-25, 0, 0.0D);
  141.         tessellator.addVertex(-25, 4, 0.0D);
  142.         tessellator.addVertex(ll - 25, 4, 0.0D);
  143.         tessellator.addVertex(ll - 25, 0, 0.0D);
  144.         tessellator.draw();
  145.         GL11.glEnable(3553 /* GL_TEXTURE_2D */);
  146.         GL11.glEnable(2896 /* GL_LIGHTING */);
  147.         GL11.glDisable(3042 /* GL_BLEND */);
  148.         GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  149.         GL11.glPopMatrix();
  150.     }
  151.  
  152. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment