Advertisement
Guest User

outline esp

a guest
Mar 25th, 2017
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 31.36 KB | None | 0 0
  1. package net.minecraft.src;
  2.  
  3. import java.awt.List;
  4. import java.util.ArrayList;
  5. import java.util.Iterator;
  6. import java.util.Random;
  7.  
  8.  
  9. import net.minecraft.client.Minecraft;
  10. import stormais.hexborn.client.Client;
  11. import stormais.hexborn.client.ClientWrapper;
  12. import stormais.hexborn.client.Wrapper;
  13. import stormais.hexborn.client.modules.ESP;
  14. import stormais.hexborn.client.modules.NameTags;
  15. import stormais.hexborn.client.utils.FlexibleArray;
  16.  
  17. import org.lwjgl.opengl.GL11;
  18. import org.lwjgl.opengl.GL12;
  19.  
  20. public class RenderLiving extends Render
  21. {
  22. protected ModelBase mainModel;
  23.  
  24. /** The model to be used during the render passes. */
  25. protected ModelBase renderPassModel;
  26.  
  27. private RenderItem v;
  28.  
  29. private Minecraft mc = Minecraft.getMinecraft();
  30.  
  31. private int y;
  32.  
  33.  
  34. public RenderLiving(ModelBase par1ModelBase, float par2)
  35. {
  36. this.mainModel = par1ModelBase;
  37. this.shadowSize = par2;
  38. }
  39.  
  40. /**
  41. * Sets the model to be used in the current render pass (the first render pass is done after the primary model is
  42. * rendered) Args: model
  43. */
  44. public void setRenderPassModel(ModelBase par1ModelBase)
  45. {
  46. this.renderPassModel = par1ModelBase;
  47. }
  48.  
  49. /**
  50. * Returns a rotation angle that is inbetween two other rotation angles. par1 and par2 are the angles between which
  51. * to interpolate, par3 is probably a float between 0.0 and 1.0 that tells us where "between" the two angles we are.
  52. * Example: par1 = 30, par2 = 50, par3 = 0.5, then return = 40
  53. */
  54. private float interpolateRotation(float par1, float par2, float par3)
  55. {
  56. float var4;
  57.  
  58. for (var4 = par2 - par1; var4 < -180.0F; var4 += 360.0F)
  59. {
  60. ;
  61. }
  62.  
  63. while (var4 >= 180.0F)
  64. {
  65. var4 -= 360.0F;
  66. }
  67.  
  68. return par1 + par3 * var4;
  69. }
  70.  
  71. public void doRenderLiving(EntityLiving par1EntityLiving, double par2, double par4, double par6, float par8, float par9)
  72. {
  73. GL11.glPushMatrix();
  74. GL11.glDisable(GL11.GL_CULL_FACE);
  75. this.mainModel.onGround = this.renderSwingProgress(par1EntityLiving, par9);
  76.  
  77. if (this.renderPassModel != null)
  78. {
  79. this.renderPassModel.onGround = this.mainModel.onGround;
  80. }
  81.  
  82. this.mainModel.isRiding = par1EntityLiving.isRiding();
  83.  
  84. if (this.renderPassModel != null)
  85. {
  86. this.renderPassModel.isRiding = this.mainModel.isRiding;
  87. }
  88.  
  89. this.mainModel.isChild = par1EntityLiving.isChild();
  90.  
  91. if (this.renderPassModel != null)
  92. {
  93. this.renderPassModel.isChild = this.mainModel.isChild;
  94. }
  95.  
  96. try
  97. {
  98. float var10 = this.interpolateRotation(par1EntityLiving.prevRenderYawOffset, par1EntityLiving.renderYawOffset, par9);
  99. float var11 = this.interpolateRotation(par1EntityLiving.prevRotationYawHead, par1EntityLiving.rotationYawHead, par9);
  100. float var12 = par1EntityLiving.prevRotationPitch + (par1EntityLiving.rotationPitch - par1EntityLiving.prevRotationPitch) * par9;
  101. this.renderLivingAt(par1EntityLiving, par2, par4, par6);
  102. float var13 = this.handleRotationFloat(par1EntityLiving, par9);
  103. this.rotateCorpse(par1EntityLiving, var13, var10, par9);
  104. float var14 = 0.0625F;
  105. GL11.glEnable(GL12.GL_RESCALE_NORMAL);
  106. GL11.glScalef(-1.0F, -1.0F, 1.0F);
  107. this.preRenderCallback(par1EntityLiving, par9);
  108. GL11.glTranslatef(0.0F, -24.0F * var14 - 0.0078125F, 0.0F);
  109. float var15 = par1EntityLiving.prevLimbYaw + (par1EntityLiving.limbYaw - par1EntityLiving.prevLimbYaw) * par9;
  110. float var16 = par1EntityLiving.limbSwing - par1EntityLiving.limbYaw * (1.0F - par9);
  111.  
  112. if (par1EntityLiving.isChild())
  113. {
  114. var16 *= 3.0F;
  115. }
  116.  
  117. if (var15 > 1.0F)
  118. {
  119. var15 = 1.0F;
  120. }
  121.  
  122. GL11.glEnable(GL11.GL_ALPHA_TEST);
  123. this.mainModel.setLivingAnimations(par1EntityLiving, var16, var15, par9);
  124. this.renderModel(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  125. float var19;
  126. int var18;
  127. float var20;
  128. float var22;
  129.  
  130. for (int var17 = 0; var17 < 4; ++var17)
  131. {
  132. var18 = this.shouldRenderPass(par1EntityLiving, var17, par9);
  133.  
  134. if (var18 > 0)
  135. {
  136. this.renderPassModel.setLivingAnimations(par1EntityLiving, var16, var15, par9);
  137. this.renderPassModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  138.  
  139. if ((var18 & 240) == 16)
  140. {
  141. this.func_82408_c(par1EntityLiving, var17, par9);
  142. this.renderPassModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  143. }
  144.  
  145. if ((var18 & 15) == 15)
  146. {
  147. var19 = (float)par1EntityLiving.ticksExisted + par9;
  148. this.loadTexture("%blur%/misc/glint.png");
  149. GL11.glEnable(GL11.GL_BLEND);
  150. var20 = 0.5F;
  151. GL11.glColor4f(var20, var20, var20, 1.0F);
  152. GL11.glDepthFunc(GL11.GL_EQUAL);
  153. GL11.glDepthMask(false);
  154.  
  155. for (int var21 = 0; var21 < 2; ++var21)
  156. {
  157. GL11.glDisable(GL11.GL_LIGHTING);
  158. var22 = 0.76F;
  159. GL11.glColor4f(0.5F * var22, 0.25F * var22, 0.8F * var22, 1.0F);
  160. GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
  161. GL11.glMatrixMode(GL11.GL_TEXTURE);
  162. GL11.glLoadIdentity();
  163. float var23 = var19 * (0.001F + (float)var21 * 0.003F) * 20.0F;
  164. float var24 = 0.33333334F;
  165. GL11.glScalef(var24, var24, var24);
  166. GL11.glRotatef(30.0F - (float)var21 * 60.0F, 0.0F, 0.0F, 1.0F);
  167. GL11.glTranslatef(0.0F, var23, 0.0F);
  168. GL11.glMatrixMode(GL11.GL_MODELVIEW);
  169. this.renderPassModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  170. }
  171.  
  172. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  173. GL11.glMatrixMode(GL11.GL_TEXTURE);
  174. GL11.glDepthMask(true);
  175. GL11.glLoadIdentity();
  176. GL11.glMatrixMode(GL11.GL_MODELVIEW);
  177. GL11.glEnable(GL11.GL_LIGHTING);
  178. GL11.glDisable(GL11.GL_BLEND);
  179. GL11.glDepthFunc(GL11.GL_LEQUAL);
  180. }
  181.  
  182. GL11.glDisable(GL11.GL_BLEND);
  183. GL11.glEnable(GL11.GL_ALPHA_TEST);
  184. }
  185. }
  186.  
  187. GL11.glDepthMask(true);
  188. this.renderEquippedItems(par1EntityLiving, par9);
  189. float var26 = par1EntityLiving.getBrightness(par9);
  190. var18 = this.getColorMultiplier(par1EntityLiving, var26, par9);
  191. OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  192. GL11.glDisable(GL11.GL_TEXTURE_2D);
  193. OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
  194.  
  195. if ((var18 >> 24 & 255) > 0 || par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0)
  196. {
  197. GL11.glDisable(GL11.GL_TEXTURE_2D);
  198. GL11.glDisable(GL11.GL_ALPHA_TEST);
  199. GL11.glEnable(GL11.GL_BLEND);
  200. GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
  201. GL11.glDepthFunc(GL11.GL_EQUAL);
  202.  
  203. if (par1EntityLiving.hurtTime > 0 || par1EntityLiving.deathTime > 0)
  204. {
  205. GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
  206. this.mainModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  207.  
  208. for (int var27 = 0; var27 < 4; ++var27)
  209. {
  210. if (this.inheritRenderPass(par1EntityLiving, var27, par9) >= 0)
  211. {
  212. GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
  213. this.renderPassModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  214. }
  215. }
  216. }
  217.  
  218. if ((var18 >> 24 & 255) > 0)
  219. {
  220. var19 = (float)(var18 >> 16 & 255) / 255.0F;
  221. var20 = (float)(var18 >> 8 & 255) / 255.0F;
  222. float var29 = (float)(var18 & 255) / 255.0F;
  223. var22 = (float)(var18 >> 24 & 255) / 255.0F;
  224. GL11.glColor4f(var19, var20, var29, var22);
  225. this.mainModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  226.  
  227. for (int var28 = 0; var28 < 4; ++var28)
  228. {
  229. if (this.inheritRenderPass(par1EntityLiving, var28, par9) >= 0)
  230. {
  231. GL11.glColor4f(var19, var20, var29, var22);
  232. this.renderPassModel.render(par1EntityLiving, var16, var15, var13, var11 - var10, var12, var14);
  233. }
  234. }
  235. }
  236.  
  237. GL11.glDepthFunc(GL11.GL_LEQUAL);
  238. GL11.glDisable(GL11.GL_BLEND);
  239. GL11.glEnable(GL11.GL_ALPHA_TEST);
  240. GL11.glEnable(GL11.GL_TEXTURE_2D);
  241. }
  242.  
  243. GL11.glDisable(GL12.GL_RESCALE_NORMAL);
  244. }
  245. catch (Exception var25)
  246. {
  247. var25.printStackTrace();
  248. }
  249.  
  250. OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  251. GL11.glEnable(GL11.GL_TEXTURE_2D);
  252. OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
  253. GL11.glEnable(GL11.GL_CULL_FACE);
  254. GL11.glPopMatrix();
  255. this.passSpecialRender(par1EntityLiving, par2, par4, par6);
  256. }
  257.  
  258. /**
  259. * Renders the model in RenderLiving
  260. */
  261. protected void renderModel(EntityLiving par1EntityLiving, float par2, float par3, float par4, float par5, float par6, float par7)
  262. {
  263. this.func_98190_a(par1EntityLiving);
  264.  
  265. if (!par1EntityLiving.isInvisible())
  266. {
  267. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  268. }
  269. else if (!par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer))
  270. {
  271. GL11.glPushMatrix();
  272. GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.15F);
  273. GL11.glDepthMask(false);
  274. GL11.glEnable(GL11.GL_BLEND);
  275. GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
  276. GL11.glAlphaFunc(GL11.GL_GREATER, 0.003921569F);
  277. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  278. GL11.glDisable(GL11.GL_BLEND);
  279. GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F);
  280. GL11.glPopMatrix();
  281. GL11.glDepthMask(true);
  282. }
  283. if(Client.getModuleManager().findMod(ESP.class).isEnabled()) {
  284. if(ESP.modeOutline) {
  285. GL11.glPushMatrix();
  286.  
  287. renderOne();
  288. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  289. renderTwo();
  290. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  291. renderThree();
  292. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  293. renderFour();
  294. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  295. renderFive();
  296. this.mainModel.render(par1EntityLiving, par2, par3, par4, par5, par6, par7);
  297.  
  298.  
  299. GL11.glPopMatrix();
  300.  
  301. }
  302. else
  303. {
  304. this.mainModel.setRotationAngles(par2, par3, par4, par5, par6, par7, par1EntityLiving);
  305. }
  306. }
  307. }
  308.  
  309. public static void renderOne()
  310. {
  311. GL11.glPushAttrib(1048575);
  312. GL11.glDisable(3008);
  313. GL11.glDisable(3553);
  314. GL11.glDisable(2896);
  315. GL11.glEnable(3042);
  316. GL11.glBlendFunc(770, 771);
  317. GL11.glLineWidth(0.2F);
  318. GL11.glEnable(2848);
  319. GL11.glHint(3154, 4354);
  320. GL11.glEnable(2960);
  321. GL11.glClear(1024);
  322. GL11.glClearStencil(15);
  323. GL11.glStencilFunc(512, 1, 15);
  324. GL11.glStencilOp(7681, 7681, 7681);
  325.  
  326. GL11.glColor4d(0.0f, 0.0f, 255.0f, 2.0f);
  327. GL11.glLineWidth(ESP.line);
  328. GL11.glStencilOp(7681, 7681, 7681);
  329.  
  330. GL11.glPolygonMode(1032, 6913);
  331. }
  332.  
  333. public static void renderTwo()
  334. {
  335. GL11.glStencilFunc(512, 0, 15);
  336. GL11.glStencilOp(7681, 7681, 7681);
  337. GL11.glPolygonMode(1032, 6914);
  338. }
  339.  
  340. public static void renderThree()
  341. {
  342. GL11.glStencilFunc(514, 1, 15);
  343. GL11.glStencilOp(7680, 7680, 7680);
  344. GL11.glPolygonMode(1032, 6913);
  345. }
  346.  
  347. public static void renderFour()
  348. {
  349. GL11.glEnable(10754);
  350. GL11.glPolygonOffset(1.0F, -2000000.0F);
  351. OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240.0F, 240.0F);
  352. }
  353.  
  354. public static void renderFive()
  355. {
  356. GL11.glPolygonOffset(1.0F, 2000000.0F);
  357. GL11.glDisable(10754);
  358. GL11.glDisable(2960);
  359. GL11.glDisable(2848);
  360. GL11.glHint(3154, 4352);
  361. GL11.glDisable(3042);
  362. GL11.glEnable(2896);
  363. GL11.glEnable(3553);
  364. GL11.glEnable(3008);
  365. GL11.glPopAttrib();
  366. }
  367.  
  368. protected void func_98190_a(EntityLiving par1EntityLiving)
  369. {
  370. this.loadTexture(par1EntityLiving.getTexture());
  371. }
  372.  
  373. /**
  374. * Sets a simple glTranslate on a LivingEntity.
  375. */
  376. protected void renderLivingAt(EntityLiving par1EntityLiving, double par2, double par4, double par6)
  377. {
  378. GL11.glTranslatef((float)par2, (float)par4, (float)par6);
  379. }
  380.  
  381. protected void rotateCorpse(EntityLiving par1EntityLiving, float par2, float par3, float par4)
  382. {
  383. GL11.glRotatef(180.0F - par3, 0.0F, 1.0F, 0.0F);
  384.  
  385. if (par1EntityLiving.deathTime > 0)
  386. {
  387. float var5 = ((float)par1EntityLiving.deathTime + par4 - 1.0F) / 20.0F * 1.6F;
  388. var5 = MathHelper.sqrt_float(var5);
  389.  
  390. if (var5 > 1.0F)
  391. {
  392. var5 = 1.0F;
  393. }
  394.  
  395. GL11.glRotatef(var5 * this.getDeathMaxRotation(par1EntityLiving), 0.0F, 0.0F, 1.0F);
  396. }
  397. }
  398.  
  399. protected float renderSwingProgress(EntityLiving par1EntityLiving, float par2)
  400. {
  401. return par1EntityLiving.getSwingProgress(par2);
  402. }
  403.  
  404. /**
  405. * Defines what float the third param in setRotationAngles of ModelBase is
  406. */
  407. protected float handleRotationFloat(EntityLiving par1EntityLiving, float par2)
  408. {
  409. return (float)par1EntityLiving.ticksExisted + par2;
  410. }
  411.  
  412. protected void renderEquippedItems(EntityLiving par1EntityLiving, float par2) {}
  413.  
  414. /**
  415. * renders arrows the Entity has been attacked with, attached to it
  416. */
  417. protected void renderArrowsStuckInEntity(EntityLiving par1EntityLiving, float par2)
  418. {
  419. int var3 = par1EntityLiving.getArrowCountInEntity();
  420.  
  421. if (var3 > 0)
  422. {
  423. EntityArrow var4 = new EntityArrow(par1EntityLiving.worldObj, par1EntityLiving.posX, par1EntityLiving.posY, par1EntityLiving.posZ);
  424. Random var5 = new Random((long)par1EntityLiving.entityId);
  425. RenderHelper.disableStandardItemLighting();
  426.  
  427. for (int var6 = 0; var6 < var3; ++var6)
  428. {
  429. GL11.glPushMatrix();
  430. ModelRenderer var7 = this.mainModel.getRandomModelBox(var5);
  431. ModelBox var8 = (ModelBox)var7.cubeList.get(var5.nextInt(var7.cubeList.size()));
  432. var7.postRender(0.0625F);
  433. float var9 = var5.nextFloat();
  434. float var10 = var5.nextFloat();
  435. float var11 = var5.nextFloat();
  436. float var12 = (var8.posX1 + (var8.posX2 - var8.posX1) * var9) / 16.0F;
  437. float var13 = (var8.posY1 + (var8.posY2 - var8.posY1) * var10) / 16.0F;
  438. float var14 = (var8.posZ1 + (var8.posZ2 - var8.posZ1) * var11) / 16.0F;
  439. GL11.glTranslatef(var12, var13, var14);
  440. var9 = var9 * 2.0F - 1.0F;
  441. var10 = var10 * 2.0F - 1.0F;
  442. var11 = var11 * 2.0F - 1.0F;
  443. var9 *= -1.0F;
  444. var10 *= -1.0F;
  445. var11 *= -1.0F;
  446. float var15 = MathHelper.sqrt_float(var9 * var9 + var11 * var11);
  447. var4.prevRotationYaw = var4.rotationYaw = (float)(Math.atan2((double)var9, (double)var11) * 180.0D / Math.PI);
  448. var4.prevRotationPitch = var4.rotationPitch = (float)(Math.atan2((double)var10, (double)var15) * 180.0D / Math.PI);
  449. double var16 = 0.0D;
  450. double var18 = 0.0D;
  451. double var20 = 0.0D;
  452. float var22 = 0.0F;
  453. this.renderManager.renderEntityWithPosYaw(var4, var16, var18, var20, var22, par2);
  454. GL11.glPopMatrix();
  455. }
  456.  
  457. RenderHelper.enableStandardItemLighting();
  458. }
  459. }
  460.  
  461. protected int inheritRenderPass(EntityLiving par1EntityLiving, int par2, float par3)
  462. {
  463. return this.shouldRenderPass(par1EntityLiving, par2, par3);
  464. }
  465.  
  466. /**
  467. * Queries whether should render the specified pass or not.
  468. */
  469. protected int shouldRenderPass(EntityLiving par1EntityLiving, int par2, float par3)
  470. {
  471. return -1;
  472. }
  473.  
  474. protected void func_82408_c(EntityLiving par1EntityLiving, int par2, float par3) {}
  475.  
  476. protected float getDeathMaxRotation(EntityLiving par1EntityLiving)
  477. {
  478. return 90.0F;
  479. }
  480.  
  481. /**
  482. * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime
  483. */
  484. protected int getColorMultiplier(EntityLiving par1EntityLiving, float par2, float par3)
  485. {
  486. return 0;
  487. }
  488.  
  489. /**
  490. * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
  491. * entityLiving, partialTickTime
  492. */
  493. protected void preRenderCallback(EntityLiving par1EntityLiving, float par2) {}
  494.  
  495. /**
  496. * Passes the specialRender and renders it
  497. */
  498. protected void passSpecialRender(EntityLiving par1EntityLiving, double par2, double par4, double par6)
  499. {
  500. if (Minecraft.isGuiEnabled() && par1EntityLiving != this.renderManager.livingPlayer && !par1EntityLiving.func_98034_c(Minecraft.getMinecraft().thePlayer) && (par1EntityLiving.func_94059_bO() || par1EntityLiving.func_94056_bM() && par1EntityLiving == this.renderManager.field_96451_i))
  501. {
  502. float var8 = 1.6F;
  503. float var9 = 0.016666668F * var8;
  504. double var10 = par1EntityLiving.getDistanceSqToEntity(this.renderManager.livingPlayer);
  505. float var12 = par1EntityLiving.isSneaking() ? 32.0F : 64.0F;
  506.  
  507. if (var10 < (double)var12 * var12)
  508. {
  509. String var13 = par1EntityLiving.getTranslatedEntityName();
  510.  
  511. if (par1EntityLiving.isSneaking())
  512. {
  513. FontRenderer var14 = this.getFontRendererFromRenderManager();
  514. GL11.glPushMatrix();
  515. GL11.glTranslatef((float)par2 + 0.0F, (float)par4 + par1EntityLiving.height + 0.5F, (float)par6);
  516. GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  517. GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  518. GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  519. GL11.glScalef(-var9, -var9, var9);
  520. GL11.glDisable(GL11.GL_LIGHTING); // glEnable(GL11.GL_LIGHTING -
  521. GL11.glTranslatef(0.0F, 0.25F / var9, 0.0F);
  522. GL11.glDepthMask(false);
  523. GL11.glEnable(GL11.GL_BLEND);
  524. GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
  525.  
  526. Tessellator var15 = Tessellator.instance;
  527. GL11.glDisable(GL11.GL_TEXTURE_2D);
  528. var15.startDrawingQuads();
  529. int var16 = var14.getStringWidth(var13) / 2;
  530. var15.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  531. var15.addVertex((double)(-var16 - 1), -1.0D, 0.0D);
  532. var15.addVertex((double)(-var16 - 1), 8.0D, 0.0D);
  533. var15.addVertex((double)(var16 + 1), 8.0D, 0.0D);
  534. var15.addVertex((double)(var16 + 1), -1.0D, 0.0D);
  535. var15.draw();
  536.  
  537. GL11.glEnable(GL11.GL_TEXTURE_2D);
  538. GL11.glDepthMask(true);
  539. var14.drawString(var13, -var14.getStringWidth(var13) / 2, 0, 553648127);
  540. GL11.glEnable(GL11.GL_LIGHTING); // glEnable
  541. GL11.glDisable(GL11.GL_BLEND);
  542. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  543. GL11.glPopMatrix();
  544. }
  545. else
  546. {
  547. this.func_96449_a(par1EntityLiving, par2, par4, par6, var13, var9, var10);
  548. }
  549. }
  550. }
  551. }
  552.  
  553. protected void func_96449_a(EntityLiving par1EntityLiving, double par2, double par4, double par6, String par8Str, float par9, double par10)
  554. {
  555. if (par1EntityLiving.isPlayerSleeping())
  556. {
  557. this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4 - 1.5D, par6, 64);
  558. }
  559. else
  560. {
  561. this.renderLivingLabel(par1EntityLiving, par8Str, par2, par4, par6, 64);
  562. }
  563. }
  564.  
  565. protected void renderLivingLabel(EntityLiving par1EntityLiving, String par2Str, double par3, double par5, double par7, int par9)
  566. /* */ {
  567. /* 481 */ double var10 = (double)mc.thePlayer.getDistanceToEntity(par1EntityLiving);
  568. /* */
  569. /* 483 */ if (var10 <= par9 * par9)
  570. /* */ {
  571. /* 485 */ FontRenderer var12 = getFontRendererFromRenderManager();
  572. /* 486 */ float var13 = 1.6F;
  573. /* 487 */ float var14 = 0.02666667F;
  574. GL11.glPushMatrix();
  575. /* 489 */ GL11.glTranslatef((float)par3 + 0.0F, (float)par5 + par1EntityLiving.height + 0.5F, (float)par7);
  576. /* 490 */ GL11.glNormal3f(0.0F, 1.0F, 0.0F);
  577. /* 491 */ GL11.glRotatef(-this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
  578. /* 492 */ GL11.glRotatef(this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
  579. //GL11.glScalef(-var14, -var14, var14);
  580. /* 494 */ GL11.glDisable(2896);
  581. /* 495 */ GL11.glDepthMask(false);
  582. /* 496 */ GL11.glDisable(2929);
  583. /* 497 */ GL11.glEnable(3042);
  584. /* 498 */ GL11.glBlendFunc(770, 771);
  585. /* 499 */ Tessellator var15 = Tessellator.instance;
  586. /* 500 */ byte var16 = 0;
  587.  
  588. if (var10 > 7.0D)
  589. {
  590. GL11.glScaled((double)(-var14) * var10 / 7.0D, (double)(-var14) * var10 / 7.0D, (double)var14 * var10 / 7.0D);
  591. }
  592. else
  593. {
  594. GL11.glScaled((double)(-var14), (double)(-var14), (double)var14);
  595. }
  596. /* */
  597. /* 502 */ if (par2Str.equals("deadmau5"))
  598. /* */ {
  599. /* 504 */ var16 = -10;
  600. /* */ }
  601. /* */
  602. /* 507 */ GL11.glDisable(3553);
  603. /* 508 */ var15.startDrawingQuads();
  604. /* 509 */ int var17 = var12.getStringWidth(par2Str) / 2;
  605. /* 510 */ var15.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
  606. //RenderHelper.drawBorderedRect(-var17 - 1, - 1, var17 + 2, 9, 1.5F, -16777216, 1593835520);
  607. /* 511 */ var15.addVertex(-var17 - 1, -1 + var16, 0.0D);
  608. /* 512 */ var15.addVertex(-var17 - 1, 8 + var16, 0.0D);
  609. /* 513 */ var15.addVertex(var17 + 1, 8 + var16, 0.0D);
  610. /* 514 */ var15.addVertex(var17 + 1, -1 + var16, 0.0D);
  611. /* 515 */ var15.draw();
  612.  
  613. if (par1EntityLiving != null && par1EntityLiving instanceof EntityPlayer)
  614. {
  615. Minecraft.getMinecraft();
  616.  
  617. if (Client.getModuleManager().findMod(NameTags.class).isEnabled())
  618. {
  619. GL11.glEnable(GL11.GL_TEXTURE_2D);
  620. GL11.glEnable(GL12.GL_RESCALE_NORMAL);
  621. RenderHelper.enableGUIStandardItemLighting();
  622. GL11.glDisable(GL11.GL_BLEND);
  623. EntityPlayer var18 = (EntityPlayer)par1EntityLiving;
  624. boolean var19;
  625. int var20;
  626. int var21;
  627.  
  628. if(NameTags.enchant) {
  629. FlexibleArray<Byte> armor = new FlexibleArray();
  630.  
  631. ItemStack heldStack = var18.inventory.getCurrentItem();
  632. if (heldStack != null) {
  633. armor.add(Byte.valueOf((byte)36));
  634. }
  635. for (byte b = 8; b >= 5; b = (byte)(b - 1))
  636. {
  637. ItemStack armorPiece = var18.inventoryContainer.getSlot(b).getStack();
  638. if (armorPiece != null) {
  639. armor.add(Byte.valueOf(b));
  640. }
  641. }
  642. int x = -(armor.size() * 8);
  643. for (Iterator localIterator = armor.iterator(); localIterator.hasNext();)
  644. {
  645. byte b = ((Byte)localIterator.next()).byteValue();
  646. ItemStack stack = var18.inventoryContainer.getSlot(b).getStack();
  647. String text = "";
  648. if (stack != null)
  649. {
  650. if ((stack.getItem() instanceof ItemSword))
  651. {
  652. int sLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.sharpness.effectId, stack);
  653. int fLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, stack);
  654. int kLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.knockback.effectId, stack);
  655. if (sLevel > 0) {
  656. text = text + "s" + sLevel;
  657. }
  658. if (fLevel > 0) {
  659. text = text + "f" + fLevel;
  660. }
  661. if (kLevel > 0) {
  662. text = text + "k" + kLevel;
  663. }
  664. }
  665. else if ((stack.getItem() instanceof ItemArmor))
  666. {
  667. int pLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.protection.effectId, stack);
  668. int tLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.thorns.effectId, stack);
  669. int uLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.unbreaking.effectId, stack);
  670. if (pLevel > 0) {
  671. text = text + "p" + pLevel;
  672. }
  673. if (tLevel > 0) {
  674. text = text + "t" + tLevel;
  675. }
  676. if (uLevel > 0) {
  677. text = text + "u" + uLevel;
  678. }
  679. }
  680. else if (((stack.getItem() instanceof ItemAppleGold)) &&
  681. (stack.getItem().getRarity(stack) == EnumRarity.epic))
  682. {
  683. text = text + "G";
  684. }
  685. (new RenderItem()).renderItemIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().renderEngine, var18.inventoryContainer.getSlot(b).getStack(), x, -30); // -18
  686. RenderItem.renderItemOverlayIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().renderEngine, var18.inventoryContainer.getSlot(b).getStack(), x, -30);
  687. if (text.length() > 0)
  688. {
  689. GL11.glDisable(2896);
  690. drawSmallString(text, x);
  691. }
  692. GL11.glDisable(2929);
  693. (new RenderItem()).renderItemIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().renderEngine, var18.inventoryContainer.getSlot(b).getStack(), x, -30);
  694. RenderItem.renderItemOverlayIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().renderEngine, var18.inventoryContainer.getSlot(b).getStack(), x, -30);
  695. if (text.length() > 1)
  696. {
  697. GL11.glDisable(2929);
  698. GL11.glDisable(2896);
  699. drawSmallString(text, x);
  700. }
  701. GL11.glEnable(2929);
  702.  
  703. x += 16;
  704. }
  705. }
  706. }
  707.  
  708. //TODO: CODE ARMOR
  709.  
  710.  
  711.  
  712. //TODO: CODE ARMOR
  713. GL11.glEnable(GL11.GL_BLEND);
  714. RenderHelper.disableStandardItemLighting();
  715. GL11.glDisable(GL12.GL_RESCALE_NORMAL);
  716. GL11.glDisable(GL11.GL_TEXTURE_2D);
  717. }
  718. }
  719. /* 516 */ GL11.glEnable(3553);
  720. /* 517 */ var12.drawStringWithShadow(par2Str, -var12.getStringWidth(par2Str) / 2, var16, 553648127);
  721. /* 518 */ GL11.glEnable(2929);
  722. /* 519 */ GL11.glDepthMask(true);
  723. /* 520 */ var12.drawStringWithShadow(par2Str, -var12.getStringWidth(par2Str) / 2, var16, -1);
  724. /* 521 */ GL11.glEnable(2896);
  725. /* 522 */ GL11.glDisable(3042);
  726. /* 523 */ GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  727. /* 524 */ GL11.glPopMatrix();
  728. /* */ }
  729. /* */ }
  730.  
  731.  
  732. private void drawSmallString(String text, int x)
  733. {
  734. x *= 2;
  735. GL11.glPushMatrix();
  736. GL11.glScalef(0.5F, 0.5F, 0.5F);
  737. Minecraft.getMinecraft().fontRenderer.drawString(text, x * 1, -58, 16777215);
  738. GL11.glScalef(1.0f, 1.0f, 1.0f);
  739. GL11.glPopMatrix();
  740. //GL11.glScalef(2.0F, 2.0F, 2.0F);
  741. }
  742.  
  743. /*
  744. * Actually renders the given argument. This is a synthetic bridge method, always casting down its argument and then
  745. * handing it off to a worker function which does the actual work. In all probabilty, the class Render is generic
  746. * (Render<T extends Entity) and this method has signature public void doRender(T entity, double d, double d1,
  747. * double d2, float f, float f1). But JAD is pre 1.5 so doesn't do that.
  748. */
  749. public void doRender(Entity par1Entity, double par2, double par4, double par6, float par8, float par9)
  750. {
  751. this.doRenderLiving((EntityLiving)par1Entity, par2, par4, par6, par8, par9);
  752. }
  753. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement