Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 41.27 KB | None | 0 0
  1. package net.minecraft.client.gui;
  2.  
  3. import java.awt.Color;
  4. import java.util.Collection;
  5. import java.util.Iterator;
  6. import java.util.List;
  7. import java.util.Random;
  8. import net.minecraft.block.material.Material;
  9. import net.minecraft.client.Minecraft;
  10. import net.minecraft.client.network.NetHandlerPlayClient;
  11. import net.minecraft.client.renderer.OpenGlHelper;
  12. import net.minecraft.client.renderer.RenderHelper;
  13. import net.minecraft.client.renderer.Tessellator;
  14. import net.minecraft.client.renderer.entity.RenderItem;
  15. import net.minecraft.client.renderer.texture.TextureMap;
  16. import net.minecraft.client.resources.I18n;
  17. import net.minecraft.entity.Entity;
  18. import net.minecraft.entity.EntityLivingBase;
  19. import net.minecraft.entity.SharedMonsterAttributes;
  20. import net.minecraft.entity.ai.attributes.IAttributeInstance;
  21. import net.minecraft.entity.boss.BossStatus;
  22. import net.minecraft.entity.player.InventoryPlayer;
  23. import net.minecraft.init.Blocks;
  24. import net.minecraft.init.Items;
  25. import net.minecraft.item.Item;
  26. import net.minecraft.item.ItemStack;
  27. import net.minecraft.potion.Potion;
  28. import net.minecraft.scoreboard.Score;
  29. import net.minecraft.scoreboard.ScoreObjective;
  30. import net.minecraft.scoreboard.ScorePlayerTeam;
  31. import net.minecraft.scoreboard.Scoreboard;
  32. import net.minecraft.util.Direction;
  33. import net.minecraft.util.EnumChatFormatting;
  34. import net.minecraft.util.FoodStats;
  35. import net.minecraft.util.IIcon;
  36. import net.minecraft.util.MathHelper;
  37. import net.minecraft.util.ResourceLocation;
  38. import net.minecraft.util.StringUtils;
  39. import net.minecraft.world.EnumSkyBlock;
  40. import net.minecraft.world.chunk.Chunk;
  41. import org.lwjgl.opengl.GL11;
  42. import org.lwjgl.opengl.GL12;
  43.  
  44. public class GuiIngame extends Gui
  45. {
  46. private static final ResourceLocation vignetteTexPath = new ResourceLocation("textures/misc/vignette.png");
  47. private static final ResourceLocation widgetsTexPath = new ResourceLocation("textures/gui/widgets.png");
  48. private static final ResourceLocation pumpkinBlurTexPath = new ResourceLocation("textures/misc/pumpkinblur.png");
  49. private static final RenderItem itemRenderer = new RenderItem();
  50. private final Random rand = new Random();
  51. private final Minecraft mc;
  52.  
  53. /** ChatGUI instance that retains all previous chat data */
  54. private final GuiNewChat persistantChatGUI;
  55. private final GuiStreamIndicator field_152127_m;
  56. private int updateCounter;
  57.  
  58. /** The string specifying which record music is playing */
  59. private String recordPlaying = "";
  60.  
  61. /** How many ticks the record playing message will be displayed */
  62. private int recordPlayingUpFor;
  63. private boolean recordIsPlaying;
  64.  
  65. /** Previous frame vignette brightness (slowly changes by 1% each frame) */
  66. public float prevVignetteBrightness = 1.0F;
  67.  
  68. /** Remaining ticks the item highlight should be visible */
  69. private int remainingHighlightTicks;
  70.  
  71. /** The ItemStack that is currently being highlighted */
  72. private ItemStack highlightingItemStack;
  73.  
  74. /* ALLFIGHT */
  75.  
  76. public static String pDeath;
  77. public static int kills;
  78. int timerKillStreak;
  79.  
  80. private static final String __OBFID = "CL_00000661";
  81.  
  82. public GuiIngame(Minecraft p_i46379_1_)
  83. {
  84. this.mc = p_i46379_1_;
  85. this.persistantChatGUI = new GuiNewChat(p_i46379_1_);
  86. this.field_152127_m = new GuiStreamIndicator(this.mc);
  87. }
  88.  
  89. /**
  90. * Render the ingame overlay with quick icon bar, ...
  91. */
  92. public void renderGameOverlay(float p_73830_1_, boolean p_73830_2_, int p_73830_3_, int p_73830_4_)
  93. {
  94. ScaledResolution var5 = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight);
  95. int var6 = var5.getScaledWidth();
  96. int var7 = var5.getScaledHeight();
  97. FontRenderer var8 = this.mc.fontRenderer;
  98. this.mc.entityRenderer.setupOverlayRendering();
  99. GL11.glEnable(GL11.GL_BLEND);
  100.  
  101. if (Minecraft.isFancyGraphicsEnabled())
  102. {
  103. this.renderVignette(this.mc.thePlayer.getBrightness(p_73830_1_), var6, var7);
  104. }
  105. else
  106. {
  107. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  108. }
  109.  
  110. ItemStack var9 = this.mc.thePlayer.inventory.armorItemInSlot(3);
  111.  
  112. if (this.mc.gameSettings.thirdPersonView == 0 && var9 != null && var9.getItem() == Item.getItemFromBlock(Blocks.pumpkin))
  113. {
  114. this.renderPumpkinBlur(var6, var7);
  115. }
  116.  
  117. if (!this.mc.thePlayer.isPotionActive(Potion.confusion))
  118. {
  119. float var10 = this.mc.thePlayer.prevTimeInPortal + (this.mc.thePlayer.timeInPortal - this.mc.thePlayer.prevTimeInPortal) * p_73830_1_;
  120.  
  121. if (var10 > 0.0F)
  122. {
  123. this.func_130015_b(var10, var6, var7);
  124. }
  125. }
  126.  
  127. int var11;
  128. int var12;
  129. int var13;
  130.  
  131. if (!this.mc.playerController.enableEverythingIsScrewedUpMode())
  132. {
  133. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  134. this.mc.getTextureManager().bindTexture(widgetsTexPath);
  135. InventoryPlayer var31 = this.mc.thePlayer.inventory;
  136. this.zLevel = -90.0F;
  137. this.drawTexturedModalRect(var6 / 2 - 91, var7 - 22, 0, 0, 182, 22);
  138. this.drawTexturedModalRect(var6 / 2 - 91 - 1 + var31.currentItem * 20, var7 - 22 - 1, 0, 22, 24, 22);
  139. this.mc.getTextureManager().bindTexture(icons);
  140. GL11.glEnable(GL11.GL_BLEND);
  141. OpenGlHelper.glBlendFunc(775, 769, 1, 0);
  142. this.drawTexturedModalRect(var6 / 2 - 7, var7 / 2 - 7, 0, 0, 16, 16);
  143. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  144. this.mc.mcProfiler.startSection("bossHealth");
  145. this.renderBossHealth();
  146. this.mc.mcProfiler.endSection();
  147.  
  148. if (this.mc.playerController.shouldDrawHUD())
  149. {
  150. this.func_110327_a(var6, var7);
  151. }
  152.  
  153. this.mc.mcProfiler.startSection("actionBar");
  154. GL11.glEnable(GL12.GL_RESCALE_NORMAL);
  155. RenderHelper.enableGUIStandardItemLighting();
  156.  
  157. for (var11 = 0; var11 < 9; ++var11)
  158. {
  159. var12 = var6 / 2 - 90 + var11 * 20 + 2;
  160. var13 = var7 - 16 - 3;
  161. this.renderInventorySlot(var11, var12, var13, p_73830_1_);
  162. }
  163.  
  164. RenderHelper.disableStandardItemLighting();
  165. GL11.glDisable(GL12.GL_RESCALE_NORMAL);
  166. this.mc.mcProfiler.endSection();
  167. GL11.glDisable(GL11.GL_BLEND);
  168. }
  169.  
  170. int var32;
  171.  
  172. if (this.mc.thePlayer.getSleepTimer() > 0)
  173. {
  174. this.mc.mcProfiler.startSection("sleep");
  175. GL11.glDisable(GL11.GL_DEPTH_TEST);
  176. GL11.glDisable(GL11.GL_ALPHA_TEST);
  177. var32 = this.mc.thePlayer.getSleepTimer();
  178. float var33 = (float)var32 / 100.0F;
  179.  
  180. if (var33 > 1.0F)
  181. {
  182. var33 = 1.0F - (float)(var32 - 100) / 10.0F;
  183. }
  184.  
  185. var12 = (int)(220.0F * var33) << 24 | 1052704;
  186. drawRect(0, 0, var6, var7, var12);
  187. GL11.glEnable(GL11.GL_ALPHA_TEST);
  188. GL11.glEnable(GL11.GL_DEPTH_TEST);
  189. this.mc.mcProfiler.endSection();
  190. }
  191.  
  192. var32 = 16777215;
  193. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  194. var11 = var6 / 2 - 91;
  195. int var14;
  196. int var15;
  197. int var16;
  198. int var17;
  199. float var34;
  200. short var38;
  201.  
  202. if (this.mc.thePlayer.isRidingHorse())
  203. {
  204. this.mc.mcProfiler.startSection("jumpBar");
  205. this.mc.getTextureManager().bindTexture(Gui.icons);
  206. var34 = this.mc.thePlayer.getHorseJumpPower();
  207. var38 = 182;
  208. var14 = (int)(var34 * (float)(var38 + 1));
  209. var15 = var7 - 32 + 3;
  210. this.drawTexturedModalRect(var11, var15, 0, 84, var38, 5);
  211.  
  212. if (var14 > 0)
  213. {
  214. this.drawTexturedModalRect(var11, var15, 0, 89, var14, 5);
  215. }
  216.  
  217. this.mc.mcProfiler.endSection();
  218. }
  219. else if (this.mc.playerController.gameIsSurvivalOrAdventure())
  220. {
  221. this.mc.mcProfiler.startSection("expBar");
  222. this.mc.getTextureManager().bindTexture(Gui.icons);
  223. var12 = this.mc.thePlayer.xpBarCap();
  224.  
  225. if (var12 > 0)
  226. {
  227. var38 = 182;
  228. var14 = (int)(this.mc.thePlayer.experience * (float)(var38 + 1));
  229. var15 = var7 - 32 + 3;
  230. this.drawTexturedModalRect(var11, var15, 0, 64, var38, 5);
  231.  
  232. if (var14 > 0)
  233. {
  234. this.drawTexturedModalRect(var11, var15, 0, 69, var14, 5);
  235. }
  236. }
  237.  
  238. this.mc.mcProfiler.endSection();
  239.  
  240. if (this.mc.thePlayer.experienceLevel > 0)
  241. {
  242. this.mc.mcProfiler.startSection("expLevel");
  243. boolean var39 = false;
  244. var14 = var39 ? 16777215 : 8453920;
  245. String var43 = "" + this.mc.thePlayer.experienceLevel;
  246. var16 = (var6 - var8.getStringWidth(var43)) / 2;
  247. var17 = var7 - 31 - 4;
  248. boolean var18 = false;
  249. var8.drawString(var43, var16 + 1, var17, 0);
  250. var8.drawString(var43, var16 - 1, var17, 0);
  251. var8.drawString(var43, var16, var17 + 1, 0);
  252. var8.drawString(var43, var16, var17 - 1, 0);
  253. var8.drawString(var43, var16, var17, var14);
  254. this.mc.mcProfiler.endSection();
  255. }
  256. }
  257.  
  258. String var35;
  259.  
  260. if (this.mc.gameSettings.heldItemTooltips)
  261. {
  262. this.mc.mcProfiler.startSection("toolHighlight");
  263.  
  264. if (this.remainingHighlightTicks > 0 && this.highlightingItemStack != null)
  265. {
  266. var35 = this.highlightingItemStack.getDisplayName();
  267. var13 = (var6 - var8.getStringWidth(var35)) / 2;
  268. var14 = var7 - 59;
  269.  
  270. if (!this.mc.playerController.shouldDrawHUD())
  271. {
  272. var14 += 14;
  273. }
  274.  
  275. var15 = (int)((float)this.remainingHighlightTicks * 256.0F / 10.0F);
  276.  
  277. if (var15 > 255)
  278. {
  279. var15 = 255;
  280. }
  281.  
  282. if (var15 > 0)
  283. {
  284. GL11.glPushMatrix();
  285. GL11.glEnable(GL11.GL_BLEND);
  286. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  287. var8.drawStringWithShadow(var35, var13, var14, 16777215 + (var15 << 24));
  288. GL11.glDisable(GL11.GL_BLEND);
  289. GL11.glPopMatrix();
  290. }
  291. }
  292.  
  293. this.mc.mcProfiler.endSection();
  294. }
  295.  
  296. if (this.mc.isDemo())
  297. {
  298. this.mc.mcProfiler.startSection("demo");
  299. var35 = "";
  300.  
  301. if (this.mc.theWorld.getTotalWorldTime() >= 120500L)
  302. {
  303. var35 = I18n.format("demo.demoExpired", new Object[0]);
  304. }
  305. else
  306. {
  307. var35 = I18n.format("demo.remainingTime", new Object[] {StringUtils.ticksToElapsedTime((int)(120500L - this.mc.theWorld.getTotalWorldTime()))});
  308. }
  309.  
  310. var13 = var8.getStringWidth(var35);
  311. var8.drawStringWithShadow(var35, var6 - var13 - 10, 5, 16777215);
  312. this.mc.mcProfiler.endSection();
  313. }
  314.  
  315. int var21;
  316. int var22;
  317. int var23;
  318.  
  319. if (this.mc.gameSettings.showDebugInfo)
  320. {
  321. this.mc.mcProfiler.startSection("debug");
  322. GL11.glPushMatrix();
  323. var8.drawStringWithShadow("Minecraft 1.7.10 (" + this.mc.debug + ")", 2, 2, 16777215);
  324. var8.drawStringWithShadow(this.mc.debugInfoRenders(), 2, 12, 16777215);
  325. var8.drawStringWithShadow(this.mc.getEntityDebug(), 2, 22, 16777215);
  326. var8.drawStringWithShadow(this.mc.debugInfoEntities(), 2, 32, 16777215);
  327. var8.drawStringWithShadow(this.mc.getWorldProviderName(), 2, 42, 16777215);
  328. long var36 = Runtime.getRuntime().maxMemory();
  329. long var41 = Runtime.getRuntime().totalMemory();
  330. long var44 = Runtime.getRuntime().freeMemory();
  331. long var45 = var41 - var44;
  332. String var20 = "Used memory: " + var45 * 100L / var36 + "% (" + var45 / 1024L / 1024L + "MB) of " + var36 / 1024L / 1024L + "MB";
  333. var21 = 14737632;
  334. this.drawString(var8, var20, var6 - var8.getStringWidth(var20) - 2, 2, 14737632);
  335. var20 = "Allocated memory: " + var41 * 100L / var36 + "% (" + var41 / 1024L / 1024L + "MB)";
  336. this.drawString(var8, var20, var6 - var8.getStringWidth(var20) - 2, 12, 14737632);
  337. var22 = MathHelper.floor_double(this.mc.thePlayer.posX);
  338. var23 = MathHelper.floor_double(this.mc.thePlayer.posY);
  339. int var24 = MathHelper.floor_double(this.mc.thePlayer.posZ);
  340. this.drawString(var8, String.format("x: %.5f (%d) // c: %d (%d)", new Object[] {Double.valueOf(this.mc.thePlayer.posX), Integer.valueOf(var22), Integer.valueOf(var22 >> 4), Integer.valueOf(var22 & 15)}), 2, 64, 14737632);
  341. this.drawString(var8, String.format("y: %.3f (feet pos, %.3f eyes pos)", new Object[] {Double.valueOf(this.mc.thePlayer.boundingBox.minY), Double.valueOf(this.mc.thePlayer.posY)}), 2, 72, 14737632);
  342. this.drawString(var8, String.format("z: %.5f (%d) // c: %d (%d)", new Object[] {Double.valueOf(this.mc.thePlayer.posZ), Integer.valueOf(var24), Integer.valueOf(var24 >> 4), Integer.valueOf(var24 & 15)}), 2, 80, 14737632);
  343. int var25 = MathHelper.floor_double((double)(this.mc.thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
  344. this.drawString(var8, "f: " + var25 + " (" + Direction.directions[var25] + ") / " + MathHelper.wrapAngleTo180_float(this.mc.thePlayer.rotationYaw), 2, 88, 14737632);
  345.  
  346. if (this.mc.theWorld != null && this.mc.theWorld.blockExists(var22, var23, var24))
  347. {
  348. Chunk var26 = this.mc.theWorld.getChunkFromBlockCoords(var22, var24);
  349. this.drawString(var8, "lc: " + (var26.getTopFilledSegment() + 15) + " b: " + var26.getBiomeGenForWorldCoords(var22 & 15, var24 & 15, this.mc.theWorld.getWorldChunkManager()).biomeName + " bl: " + var26.getSavedLightValue(EnumSkyBlock.Block, var22 & 15, var23, var24 & 15) + " sl: " + var26.getSavedLightValue(EnumSkyBlock.Sky, var22 & 15, var23, var24 & 15) + " rl: " + var26.getBlockLightValue(var22 & 15, var23, var24 & 15, 0), 2, 96, 14737632);
  350. }
  351.  
  352. this.drawString(var8, String.format("ws: %.3f, fs: %.3f, g: %b, fl: %d", new Object[] {Float.valueOf(this.mc.thePlayer.capabilities.getWalkSpeed()), Float.valueOf(this.mc.thePlayer.capabilities.getFlySpeed()), Boolean.valueOf(this.mc.thePlayer.onGround), Integer.valueOf(this.mc.theWorld.getHeightValue(var22, var24))}), 2, 104, 14737632);
  353.  
  354. if (this.mc.entityRenderer != null && this.mc.entityRenderer.isShaderActive())
  355. {
  356. this.drawString(var8, String.format("shader: %s", new Object[] {this.mc.entityRenderer.getShaderGroup().getShaderGroupName()}), 2, 112, 14737632);
  357. }
  358.  
  359. GL11.glPopMatrix();
  360. this.mc.mcProfiler.endSection();
  361. }
  362.  
  363. if (this.recordPlayingUpFor > 0)
  364. {
  365. this.mc.mcProfiler.startSection("overlayMessage");
  366. var34 = (float)this.recordPlayingUpFor - p_73830_1_;
  367. var13 = (int)(var34 * 255.0F / 20.0F);
  368.  
  369. if (var13 > 255)
  370. {
  371. var13 = 255;
  372. }
  373.  
  374. if (var13 > 8)
  375. {
  376. GL11.glPushMatrix();
  377. GL11.glTranslatef((float)(var6 / 2), (float)(var7 - 68), 0.0F);
  378. GL11.glEnable(GL11.GL_BLEND);
  379. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  380. var14 = 16777215;
  381.  
  382. if (this.recordIsPlaying)
  383. {
  384. var14 = Color.HSBtoRGB(var34 / 50.0F, 0.7F, 0.6F) & 16777215;
  385. }
  386.  
  387. var8.drawString(this.recordPlaying, -var8.getStringWidth(this.recordPlaying) / 2, -4, var14 + (var13 << 24 & -16777216));
  388. GL11.glDisable(GL11.GL_BLEND);
  389. GL11.glPopMatrix();
  390. }
  391.  
  392. this.mc.mcProfiler.endSection();
  393. }
  394.  
  395. ScoreObjective var37 = this.mc.theWorld.getScoreboard().func_96539_a(1);
  396.  
  397. if (var37 != null)
  398. {
  399. this.func_96136_a(var37, var7, var6, var8);
  400. }
  401.  
  402. GL11.glEnable(GL11.GL_BLEND);
  403. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  404. GL11.glDisable(GL11.GL_ALPHA_TEST);
  405. GL11.glPushMatrix();
  406. GL11.glTranslatef(0.0F, (float)(var7 - 48), 0.0F);
  407. this.mc.mcProfiler.startSection("chat");
  408. this.persistantChatGUI.func_146230_a(this.updateCounter);
  409. this.mc.mcProfiler.endSection();
  410. GL11.glPopMatrix();
  411. var37 = this.mc.theWorld.getScoreboard().func_96539_a(0);
  412.  
  413. if (this.mc.gameSettings.keyBindPlayerList.getIsKeyPressed() && (!this.mc.isIntegratedServerRunning() || this.mc.thePlayer.sendQueue.playerInfoList.size() > 1 || var37 != null))
  414. {
  415. this.mc.mcProfiler.startSection("playerList");
  416. NetHandlerPlayClient var40 = this.mc.thePlayer.sendQueue;
  417. List var42 = var40.playerInfoList;
  418. var15 = var40.currentServerMaxPlayers;
  419. var16 = var15;
  420.  
  421. for (var17 = 1; var16 > 20; var16 = (var15 + var17 - 1) / var17)
  422. {
  423. ++var17;
  424. }
  425.  
  426. int var46 = 300 / var17;
  427.  
  428. if (var46 > 150)
  429. {
  430. var46 = 150;
  431. }
  432.  
  433. int var19 = (var6 - var17 * var46) / 2;
  434. byte var47 = 10;
  435. drawRect(var19 - 1, var47 - 1, var19 + var46 * var17, var47 + 9 * var16, Integer.MIN_VALUE);
  436.  
  437. for (var21 = 0; var21 < var15; ++var21)
  438. {
  439. var22 = var19 + var21 % var17 * var46;
  440. var23 = var47 + var21 / var17 * 9;
  441. drawRect(var22, var23, var22 + var46 - 1, var23 + 8, 553648127);
  442. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  443. GL11.glEnable(GL11.GL_ALPHA_TEST);
  444.  
  445. if (var21 < var42.size())
  446. {
  447. GuiPlayerInfo var48 = (GuiPlayerInfo)var42.get(var21);
  448. ScorePlayerTeam var49 = this.mc.theWorld.getScoreboard().getPlayersTeam(var48.name);
  449. String var50 = ScorePlayerTeam.formatPlayerName(var49, var48.name);
  450. var8.drawStringWithShadow(var50, var22, var23, 16777215);
  451.  
  452. if (var37 != null)
  453. {
  454. int var27 = var22 + var8.getStringWidth(var50) + 5;
  455. int var28 = var22 + var46 - 12 - 5;
  456.  
  457. if (var28 - var27 > 5)
  458. {
  459. Score var29 = var37.getScoreboard().func_96529_a(var48.name, var37);
  460. String var30 = EnumChatFormatting.YELLOW + "" + var29.getScorePoints();
  461. var8.drawStringWithShadow(var30, var28 - var8.getStringWidth(var30), var23, 16777215);
  462. }
  463. }
  464.  
  465. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  466. this.mc.getTextureManager().bindTexture(icons);
  467. byte var51 = 0;
  468. boolean var52 = false;
  469. byte var53;
  470.  
  471. if (var48.responseTime < 0)
  472. {
  473. var53 = 5;
  474. }
  475. else if (var48.responseTime < 150)
  476. {
  477. var53 = 0;
  478. }
  479. else if (var48.responseTime < 300)
  480. {
  481. var53 = 1;
  482. }
  483. else if (var48.responseTime < 600)
  484. {
  485. var53 = 2;
  486. }
  487. else if (var48.responseTime < 1000)
  488. {
  489. var53 = 3;
  490. }
  491. else
  492. {
  493. var53 = 4;
  494. }
  495.  
  496. this.zLevel += 100.0F;
  497. this.drawTexturedModalRect(var22 + var46 - 12, var23, 0 + var51 * 10, 176 + var53 * 8, 10, 8);
  498. this.zLevel -= 100.0F;
  499. }
  500. }
  501. }
  502.  
  503. if(this.pDeath != null) {
  504.  
  505. drawKillStreak();
  506.  
  507. if(timerKillStreak == 0) {
  508. this.timerKillStreak = 5*60;
  509.  
  510. }
  511.  
  512. }
  513.  
  514. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  515. GL11.glDisable(GL11.GL_LIGHTING);
  516. GL11.glEnable(GL11.GL_ALPHA_TEST);
  517. }
  518.  
  519. public void func_152126_a(float p_152126_1_, float p_152126_2_)
  520. {
  521. this.field_152127_m.func_152437_a((int)(p_152126_1_ - 10.0F), 10);
  522. }
  523.  
  524. private void func_96136_a(ScoreObjective p_96136_1_, int p_96136_2_, int p_96136_3_, FontRenderer p_96136_4_)
  525. {
  526. Scoreboard var5 = p_96136_1_.getScoreboard();
  527. Collection var6 = var5.func_96534_i(p_96136_1_);
  528.  
  529. if (var6.size() <= 15)
  530. {
  531. int var7 = p_96136_4_.getStringWidth(p_96136_1_.getDisplayName());
  532. String var11;
  533.  
  534. for (Iterator var8 = var6.iterator(); var8.hasNext(); var7 = Math.max(var7, p_96136_4_.getStringWidth(var11)))
  535. {
  536. Score var9 = (Score)var8.next();
  537. ScorePlayerTeam var10 = var5.getPlayersTeam(var9.getPlayerName());
  538. var11 = ScorePlayerTeam.formatPlayerName(var10, var9.getPlayerName()) + ": " + EnumChatFormatting.RED + var9.getScorePoints();
  539. }
  540.  
  541. int var22 = var6.size() * p_96136_4_.FONT_HEIGHT;
  542. int var23 = p_96136_2_ / 2 + var22 / 3;
  543. byte var24 = 3;
  544. int var25 = p_96136_3_ - var7 - var24;
  545. int var12 = 0;
  546. Iterator var13 = var6.iterator();
  547.  
  548. while (var13.hasNext())
  549. {
  550. Score var14 = (Score)var13.next();
  551. ++var12;
  552. ScorePlayerTeam var15 = var5.getPlayersTeam(var14.getPlayerName());
  553. String var16 = ScorePlayerTeam.formatPlayerName(var15, var14.getPlayerName());
  554. String var17 = EnumChatFormatting.RED + "" + var14.getScorePoints();
  555. int var19 = var23 - var12 * p_96136_4_.FONT_HEIGHT;
  556. int var20 = p_96136_3_ - var24 + 2;
  557. drawRect(var25 - 2, var19, var20, var19 + p_96136_4_.FONT_HEIGHT, 1342177280);
  558. p_96136_4_.drawString(var16, var25, var19, 553648127);
  559. p_96136_4_.drawString(var17, var20 - p_96136_4_.getStringWidth(var17), var19, 553648127);
  560.  
  561. if (var12 == var6.size())
  562. {
  563. String var21 = p_96136_1_.getDisplayName();
  564. drawRect(var25 - 2, var19 - p_96136_4_.FONT_HEIGHT - 1, var20, var19 - 1, 1610612736);
  565. drawRect(var25 - 2, var19 - 1, var20, var19, 1342177280);
  566. p_96136_4_.drawString(var21, var25 + var7 / 2 - p_96136_4_.getStringWidth(var21) / 2, var19 - p_96136_4_.FONT_HEIGHT, 553648127);
  567. }
  568. }
  569. }
  570. }
  571.  
  572. private void func_110327_a(int p_110327_1_, int p_110327_2_)
  573. {
  574. boolean var3 = this.mc.thePlayer.hurtResistantTime / 3 % 2 == 1;
  575.  
  576. if (this.mc.thePlayer.hurtResistantTime < 10)
  577. {
  578. var3 = false;
  579. }
  580.  
  581. int var4 = MathHelper.ceiling_float_int(this.mc.thePlayer.getHealth());
  582. int var5 = MathHelper.ceiling_float_int(this.mc.thePlayer.prevHealth);
  583. this.rand.setSeed((long)(this.updateCounter * 312871));
  584. boolean var6 = false;
  585. FoodStats var7 = this.mc.thePlayer.getFoodStats();
  586. int var8 = var7.getFoodLevel();
  587. int var9 = var7.getPrevFoodLevel();
  588. IAttributeInstance var10 = this.mc.thePlayer.getEntityAttribute(SharedMonsterAttributes.maxHealth);
  589. int var11 = p_110327_1_ / 2 - 91;
  590. int var12 = p_110327_1_ / 2 + 91;
  591. int var13 = p_110327_2_ - 39;
  592. float var14 = (float)var10.getAttributeValue();
  593. float var15 = this.mc.thePlayer.getAbsorptionAmount();
  594. int var16 = MathHelper.ceiling_float_int((var14 + var15) / 2.0F / 10.0F);
  595. int var17 = Math.max(10 - (var16 - 2), 3);
  596. int var18 = var13 - (var16 - 1) * var17 - 10;
  597. float var19 = var15;
  598. int var20 = this.mc.thePlayer.getTotalArmorValue();
  599. int var21 = -1;
  600.  
  601. if (this.mc.thePlayer.isPotionActive(Potion.regeneration))
  602. {
  603. var21 = this.updateCounter % MathHelper.ceiling_float_int(var14 + 5.0F);
  604. }
  605.  
  606. this.mc.mcProfiler.startSection("armor");
  607. int var22;
  608. int var23;
  609.  
  610. for (var22 = 0; var22 < 10; ++var22)
  611. {
  612. if (var20 > 0)
  613. {
  614. var23 = var11 + var22 * 8;
  615.  
  616. if (var22 * 2 + 1 < var20)
  617. {
  618. this.drawTexturedModalRect(var23, var18, 34, 9, 9, 9);
  619. }
  620.  
  621. if (var22 * 2 + 1 == var20)
  622. {
  623. this.drawTexturedModalRect(var23, var18, 25, 9, 9, 9);
  624. }
  625.  
  626. if (var22 * 2 + 1 > var20)
  627. {
  628. this.drawTexturedModalRect(var23, var18, 16, 9, 9, 9);
  629. }
  630. }
  631. }
  632.  
  633. this.mc.mcProfiler.endStartSection("health");
  634. int var25;
  635. int var26;
  636. int var27;
  637.  
  638. for (var22 = MathHelper.ceiling_float_int((var14 + var15) / 2.0F) - 1; var22 >= 0; --var22)
  639. {
  640. var23 = 16;
  641.  
  642. if (this.mc.thePlayer.isPotionActive(Potion.poison))
  643. {
  644. var23 += 36;
  645. }
  646. else if (this.mc.thePlayer.isPotionActive(Potion.wither))
  647. {
  648. var23 += 72;
  649. }
  650.  
  651. byte var24 = 0;
  652.  
  653. if (var3)
  654. {
  655. var24 = 1;
  656. }
  657.  
  658. var25 = MathHelper.ceiling_float_int((float)(var22 + 1) / 10.0F) - 1;
  659. var26 = var11 + var22 % 10 * 8;
  660. var27 = var13 - var25 * var17;
  661.  
  662. if (var4 <= 4)
  663. {
  664. var27 += this.rand.nextInt(2);
  665. }
  666.  
  667. if (var22 == var21)
  668. {
  669. var27 -= 2;
  670. }
  671.  
  672. byte var28 = 0;
  673.  
  674. if (this.mc.theWorld.getWorldInfo().isHardcoreModeEnabled())
  675. {
  676. var28 = 5;
  677. }
  678.  
  679. this.drawTexturedModalRect(var26, var27, 16 + var24 * 9, 9 * var28, 9, 9);
  680.  
  681. if (var3)
  682. {
  683. if (var22 * 2 + 1 < var5)
  684. {
  685. this.drawTexturedModalRect(var26, var27, var23 + 54, 9 * var28, 9, 9);
  686. }
  687.  
  688. if (var22 * 2 + 1 == var5)
  689. {
  690. this.drawTexturedModalRect(var26, var27, var23 + 63, 9 * var28, 9, 9);
  691. }
  692. }
  693.  
  694. if (var19 > 0.0F)
  695. {
  696. if (var19 == var15 && var15 % 2.0F == 1.0F)
  697. {
  698. this.drawTexturedModalRect(var26, var27, var23 + 153, 9 * var28, 9, 9);
  699. }
  700. else
  701. {
  702. this.drawTexturedModalRect(var26, var27, var23 + 144, 9 * var28, 9, 9);
  703. }
  704.  
  705. var19 -= 2.0F;
  706. }
  707. else
  708. {
  709. if (var22 * 2 + 1 < var4)
  710. {
  711. this.drawTexturedModalRect(var26, var27, var23 + 36, 9 * var28, 9, 9);
  712. }
  713.  
  714. if (var22 * 2 + 1 == var4)
  715. {
  716. this.drawTexturedModalRect(var26, var27, var23 + 45, 9 * var28, 9, 9);
  717. }
  718. }
  719. }
  720.  
  721. Entity var34 = this.mc.thePlayer.ridingEntity;
  722. int var36;
  723.  
  724. if (var34 == null)
  725. {
  726. this.mc.mcProfiler.endStartSection("food");
  727.  
  728. for (var23 = 0; var23 < 10; ++var23)
  729. {
  730. var36 = var13;
  731. var25 = 16;
  732. byte var38 = 0;
  733.  
  734. if (this.mc.thePlayer.isPotionActive(Potion.hunger))
  735. {
  736. var25 += 36;
  737. var38 = 13;
  738. }
  739.  
  740. if (this.mc.thePlayer.getFoodStats().getSaturationLevel() <= 0.0F && this.updateCounter % (var8 * 3 + 1) == 0)
  741. {
  742. var36 = var13 + (this.rand.nextInt(3) - 1);
  743. }
  744.  
  745. if (var6)
  746. {
  747. var38 = 1;
  748. }
  749.  
  750. var27 = var12 - var23 * 8 - 9;
  751. this.drawTexturedModalRect(var27, var36, 16 + var38 * 9, 27, 9, 9);
  752.  
  753. if (var6)
  754. {
  755. if (var23 * 2 + 1 < var9)
  756. {
  757. this.drawTexturedModalRect(var27, var36, var25 + 54, 27, 9, 9);
  758. }
  759.  
  760. if (var23 * 2 + 1 == var9)
  761. {
  762. this.drawTexturedModalRect(var27, var36, var25 + 63, 27, 9, 9);
  763. }
  764. }
  765.  
  766. if (var23 * 2 + 1 < var8)
  767. {
  768. this.drawTexturedModalRect(var27, var36, var25 + 36, 27, 9, 9);
  769. }
  770.  
  771. if (var23 * 2 + 1 == var8)
  772. {
  773. this.drawTexturedModalRect(var27, var36, var25 + 45, 27, 9, 9);
  774. }
  775. }
  776. }
  777. else if (var34 instanceof EntityLivingBase)
  778. {
  779. this.mc.mcProfiler.endStartSection("mountHealth");
  780. EntityLivingBase var35 = (EntityLivingBase)var34;
  781. var36 = (int)Math.ceil((double)var35.getHealth());
  782. float var37 = var35.getMaxHealth();
  783. var26 = (int)(var37 + 0.5F) / 2;
  784.  
  785. if (var26 > 30)
  786. {
  787. var26 = 30;
  788. }
  789.  
  790. var27 = var13;
  791.  
  792. for (int var39 = 0; var26 > 0; var39 += 20)
  793. {
  794. int var29 = Math.min(var26, 10);
  795. var26 -= var29;
  796.  
  797. for (int var30 = 0; var30 < var29; ++var30)
  798. {
  799. byte var31 = 52;
  800. byte var32 = 0;
  801.  
  802. if (var6)
  803. {
  804. var32 = 1;
  805. }
  806.  
  807. int var33 = var12 - var30 * 8 - 9;
  808. this.drawTexturedModalRect(var33, var27, var31 + var32 * 9, 9, 9, 9);
  809.  
  810. if (var30 * 2 + 1 + var39 < var36)
  811. {
  812. this.drawTexturedModalRect(var33, var27, var31 + 36, 9, 9, 9);
  813. }
  814.  
  815. if (var30 * 2 + 1 + var39 == var36)
  816. {
  817. this.drawTexturedModalRect(var33, var27, var31 + 45, 9, 9, 9);
  818. }
  819. }
  820.  
  821. var27 -= 10;
  822. }
  823. }
  824.  
  825. this.mc.mcProfiler.endStartSection("air");
  826.  
  827. if (this.mc.thePlayer.isInsideOfMaterial(Material.water))
  828. {
  829. var23 = this.mc.thePlayer.getAir();
  830. var36 = MathHelper.ceiling_double_int((double)(var23 - 2) * 10.0D / 300.0D);
  831. var25 = MathHelper.ceiling_double_int((double)var23 * 10.0D / 300.0D) - var36;
  832.  
  833. for (var26 = 0; var26 < var36 + var25; ++var26)
  834. {
  835. if (var26 < var36)
  836. {
  837. this.drawTexturedModalRect(var12 - var26 * 8 - 9, var18, 16, 18, 9, 9);
  838. }
  839. else
  840. {
  841. this.drawTexturedModalRect(var12 - var26 * 8 - 9, var18, 25, 18, 9, 9);
  842. }
  843. }
  844. }
  845.  
  846. this.mc.mcProfiler.endSection();
  847. }
  848.  
  849. /**
  850. * Renders dragon's (boss) health on the HUD
  851. */
  852. private void renderBossHealth()
  853. {
  854. if (BossStatus.bossName != null && BossStatus.statusBarTime > 0)
  855. {
  856. --BossStatus.statusBarTime;
  857. FontRenderer var1 = this.mc.fontRenderer;
  858. ScaledResolution var2 = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight);
  859. int var3 = var2.getScaledWidth();
  860. short var4 = 182;
  861. int var5 = var3 / 2 - var4 / 2;
  862. int var6 = (int)(BossStatus.healthScale * (float)(var4 + 1));
  863. byte var7 = 12;
  864. this.drawTexturedModalRect(var5, var7, 0, 74, var4, 5);
  865. this.drawTexturedModalRect(var5, var7, 0, 74, var4, 5);
  866.  
  867. if (var6 > 0)
  868. {
  869. this.drawTexturedModalRect(var5, var7, 0, 79, var6, 5);
  870. }
  871.  
  872. String var8 = BossStatus.bossName;
  873. var1.drawStringWithShadow(var8, var3 / 2 - var1.getStringWidth(var8) / 2, var7 - 10, 16777215);
  874. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  875. this.mc.getTextureManager().bindTexture(icons);
  876. }
  877. }
  878.  
  879. private void renderPumpkinBlur(int p_73836_1_, int p_73836_2_)
  880. {
  881. GL11.glDisable(GL11.GL_DEPTH_TEST);
  882. GL11.glDepthMask(false);
  883. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  884. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  885. GL11.glDisable(GL11.GL_ALPHA_TEST);
  886. this.mc.getTextureManager().bindTexture(pumpkinBlurTexPath);
  887. Tessellator var3 = Tessellator.instance;
  888. var3.startDrawingQuads();
  889. var3.addVertexWithUV(0.0D, (double)p_73836_2_, -90.0D, 0.0D, 1.0D);
  890. var3.addVertexWithUV((double)p_73836_1_, (double)p_73836_2_, -90.0D, 1.0D, 1.0D);
  891. var3.addVertexWithUV((double)p_73836_1_, 0.0D, -90.0D, 1.0D, 0.0D);
  892. var3.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D);
  893. var3.draw();
  894. GL11.glDepthMask(true);
  895. GL11.glEnable(GL11.GL_DEPTH_TEST);
  896. GL11.glEnable(GL11.GL_ALPHA_TEST);
  897. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  898. }
  899.  
  900. /**
  901. * Renders the vignette. Args: vignetteBrightness, width, height
  902. */
  903. private void renderVignette(float p_73829_1_, int p_73829_2_, int p_73829_3_)
  904. {
  905. p_73829_1_ = 1.0F - p_73829_1_;
  906.  
  907. if (p_73829_1_ < 0.0F)
  908. {
  909. p_73829_1_ = 0.0F;
  910. }
  911.  
  912. if (p_73829_1_ > 1.0F)
  913. {
  914. p_73829_1_ = 1.0F;
  915. }
  916.  
  917. this.prevVignetteBrightness = (float)((double)this.prevVignetteBrightness + (double)(p_73829_1_ - this.prevVignetteBrightness) * 0.01D);
  918. GL11.glDisable(GL11.GL_DEPTH_TEST);
  919. GL11.glDepthMask(false);
  920. OpenGlHelper.glBlendFunc(0, 769, 1, 0);
  921. GL11.glColor4f(this.prevVignetteBrightness, this.prevVignetteBrightness, this.prevVignetteBrightness, 1.0F);
  922. this.mc.getTextureManager().bindTexture(vignetteTexPath);
  923. Tessellator var4 = Tessellator.instance;
  924. var4.startDrawingQuads();
  925. var4.addVertexWithUV(0.0D, (double)p_73829_3_, -90.0D, 0.0D, 1.0D);
  926. var4.addVertexWithUV((double)p_73829_2_, (double)p_73829_3_, -90.0D, 1.0D, 1.0D);
  927. var4.addVertexWithUV((double)p_73829_2_, 0.0D, -90.0D, 1.0D, 0.0D);
  928. var4.addVertexWithUV(0.0D, 0.0D, -90.0D, 0.0D, 0.0D);
  929. var4.draw();
  930. GL11.glDepthMask(true);
  931. GL11.glEnable(GL11.GL_DEPTH_TEST);
  932. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  933. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  934. }
  935.  
  936. private void func_130015_b(float p_130015_1_, int p_130015_2_, int p_130015_3_)
  937. {
  938. if (p_130015_1_ < 1.0F)
  939. {
  940. p_130015_1_ *= p_130015_1_;
  941. p_130015_1_ *= p_130015_1_;
  942. p_130015_1_ = p_130015_1_ * 0.8F + 0.2F;
  943. }
  944.  
  945. GL11.glDisable(GL11.GL_ALPHA_TEST);
  946. GL11.glDisable(GL11.GL_DEPTH_TEST);
  947. GL11.glDepthMask(false);
  948. OpenGlHelper.glBlendFunc(770, 771, 1, 0);
  949. GL11.glColor4f(1.0F, 1.0F, 1.0F, p_130015_1_);
  950. IIcon var4 = Blocks.portal.getBlockTextureFromSide(1);
  951. this.mc.getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
  952. float var5 = var4.getMinU();
  953. float var6 = var4.getMinV();
  954. float var7 = var4.getMaxU();
  955. float var8 = var4.getMaxV();
  956. Tessellator var9 = Tessellator.instance;
  957. var9.startDrawingQuads();
  958. var9.addVertexWithUV(0.0D, (double)p_130015_3_, -90.0D, (double)var5, (double)var8);
  959. var9.addVertexWithUV((double)p_130015_2_, (double)p_130015_3_, -90.0D, (double)var7, (double)var8);
  960. var9.addVertexWithUV((double)p_130015_2_, 0.0D, -90.0D, (double)var7, (double)var6);
  961. var9.addVertexWithUV(0.0D, 0.0D, -90.0D, (double)var5, (double)var6);
  962. var9.draw();
  963. GL11.glDepthMask(true);
  964. GL11.glEnable(GL11.GL_DEPTH_TEST);
  965. GL11.glEnable(GL11.GL_ALPHA_TEST);
  966. GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
  967. }
  968.  
  969. /**
  970. * Renders the specified item of the inventory slot at the specified location. Args: slot, x, y, partialTick
  971. */
  972. private void renderInventorySlot(int p_73832_1_, int p_73832_2_, int p_73832_3_, float p_73832_4_)
  973. {
  974. ItemStack var5 = this.mc.thePlayer.inventory.mainInventory[p_73832_1_];
  975.  
  976. if (var5 != null)
  977. {
  978. float var6 = (float)var5.animationsToGo - p_73832_4_;
  979.  
  980. if (var6 > 0.0F)
  981. {
  982. GL11.glPushMatrix();
  983. float var7 = 1.0F + var6 / 5.0F;
  984. GL11.glTranslatef((float)(p_73832_2_ + 8), (float)(p_73832_3_ + 12), 0.0F);
  985. GL11.glScalef(1.0F / var7, (var7 + 1.0F) / 2.0F, 1.0F);
  986. GL11.glTranslatef((float)(-(p_73832_2_ + 8)), (float)(-(p_73832_3_ + 12)), 0.0F);
  987. }
  988.  
  989. itemRenderer.renderItemAndEffectIntoGUI(this.mc.fontRenderer, this.mc.getTextureManager(), var5, p_73832_2_, p_73832_3_);
  990.  
  991. if (var6 > 0.0F)
  992. {
  993. GL11.glPopMatrix();
  994. }
  995.  
  996. itemRenderer.renderItemOverlayIntoGUI(this.mc.fontRenderer, this.mc.getTextureManager(), var5, p_73832_2_, p_73832_3_);
  997. }
  998. }
  999.  
  1000. /**
  1001. * The update tick for the ingame UI
  1002. */
  1003. public void updateTick()
  1004. {
  1005. if (this.recordPlayingUpFor > 0)
  1006. {
  1007. --this.recordPlayingUpFor;
  1008. }
  1009.  
  1010. /* ALLFIGHT */
  1011.  
  1012. if (this.timerKillStreak > 0)
  1013. {
  1014. this.timerKillStreak--;
  1015.  
  1016. if (this.timerKillStreak == 0)
  1017. {
  1018. this.pDeath = null;
  1019. }
  1020. }
  1021.  
  1022. // System.out.println(timerKillStreak);
  1023.  
  1024. ++this.updateCounter;
  1025. this.field_152127_m.func_152439_a();
  1026.  
  1027. if (this.mc.thePlayer != null)
  1028. {
  1029. ItemStack var1 = this.mc.thePlayer.inventory.getCurrentItem();
  1030.  
  1031. if (var1 == null)
  1032. {
  1033. this.remainingHighlightTicks = 0;
  1034. }
  1035. else if (this.highlightingItemStack != null && var1.getItem() == this.highlightingItemStack.getItem() && ItemStack.areItemStackTagsEqual(var1, this.highlightingItemStack) && (var1.isItemStackDamageable() || var1.getItemDamage() == this.highlightingItemStack.getItemDamage()))
  1036. {
  1037. if (this.remainingHighlightTicks > 0)
  1038. {
  1039. --this.remainingHighlightTicks;
  1040. }
  1041. }
  1042. else
  1043. {
  1044. this.remainingHighlightTicks = 40;
  1045. }
  1046.  
  1047. this.highlightingItemStack = var1;
  1048. }
  1049. }
  1050.  
  1051. public void setRecordPlayingMessage(String p_73833_1_)
  1052. {
  1053. this.func_110326_a(I18n.format("record.nowPlaying", new Object[] {p_73833_1_}), true);
  1054. }
  1055.  
  1056. public void func_110326_a(String p_110326_1_, boolean p_110326_2_)
  1057. {
  1058. this.recordPlaying = p_110326_1_;
  1059. this.recordPlayingUpFor = 60;
  1060. this.recordIsPlaying = p_110326_2_;
  1061. }
  1062.  
  1063. public GuiNewChat getChatGUI()
  1064. {
  1065. return this.persistantChatGUI;
  1066. }
  1067.  
  1068. public int getUpdateCounter()
  1069. {
  1070. return this.updateCounter;
  1071. }
  1072.  
  1073. /* ALLFIGHT */
  1074.  
  1075. public void drawKillStreak() {
  1076.  
  1077. FontRenderer var8 = Minecraft.getMinecraft().fontRenderer;
  1078.  
  1079. ScaledResolution var5 = new ScaledResolution(Minecraft.getMinecraft(), Minecraft.getMinecraft().displayWidth, Minecraft.getMinecraft().displayHeight);
  1080. int var6 = var5.getScaledWidth();
  1081. int var7 = var5.getScaledHeight();
  1082. GL11.glPushMatrix();
  1083.  
  1084. GL11.glScalef(1.5f, 1.5f, 1.5f);
  1085.  
  1086. itemRenderer.renderItemIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().getTextureManager(), new ItemStack(Items.skull) , var6 / 2 - 184, var7 / 2 - 95);
  1087.  
  1088. var8.drawStringWithShadow("§fJoueur tué : " + pDeath, var6 / 2 - 165, var7 / 2 - 90, 165);
  1089.  
  1090. var8.drawStringWithShadow("§fSérie : " + kills + " §ckill(s)", var6 / 2 - 150, var7 / 2 - 70 , 100);
  1091.  
  1092. GL11.glPopMatrix();
  1093.  
  1094. }
  1095. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement