Advertisement
onnowhere

RenderLivingBase

Apr 19th, 2017
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.56 KB | None | 0 0
  1. package net.minecraft.client.renderer.entity;
  2.  
  3. import java.nio.FloatBuffer;
  4. import java.util.List;
  5. import net.minecraft.client.Minecraft;
  6. import net.minecraft.client.entity.EntityPlayerSP;
  7. import net.minecraft.client.model.ModelBase;
  8. import net.minecraft.client.renderer.GLAllocation;
  9. import net.minecraft.client.renderer.GlStateManager;
  10. import net.minecraft.client.renderer.GlStateManager.Profile;
  11. import net.minecraft.client.renderer.OpenGlHelper;
  12. import net.minecraft.client.renderer.entity.layers.LayerRenderer;
  13. import net.minecraft.client.renderer.texture.DynamicTexture;
  14. import net.minecraft.entity.EntityLivingBase;
  15. import net.minecraft.entity.player.EntityPlayer;
  16. import net.minecraft.entity.player.EnumPlayerModelParts;
  17. import net.minecraft.scoreboard.Team;
  18. import net.minecraft.scoreboard.Team.EnumVisible;
  19. import net.minecraft.util.math.MathHelper;
  20. import org.apache.logging.log4j.LogManager;
  21. import org.apache.logging.log4j.Logger;
  22.  
  23. public abstract class RenderLivingBase<T extends EntityLivingBase> extends Render<T>
  24. {
  25. private static final Logger LOGGER = ;
  26. private static final DynamicTexture TEXTURE_BRIGHTNESS = new DynamicTexture(16, 16);
  27. protected ModelBase mainModel;
  28. protected FloatBuffer brightnessBuffer = GLAllocation.createDirectFloatBuffer(4);
  29. protected List<LayerRenderer<T>> layerRenderers = com.google.common.collect.Lists.newArrayList();
  30. protected boolean renderMarker;
  31.  
  32. public RenderLivingBase(RenderManager renderManagerIn, ModelBase modelBaseIn, float shadowSizeIn)
  33. {
  34. super(renderManagerIn);
  35. mainModel = modelBaseIn;
  36. shadowSize = shadowSizeIn;
  37. }
  38.  
  39. protected <V extends EntityLivingBase, U extends LayerRenderer<V>> boolean addLayer(U layer)
  40. {
  41. return layerRenderers.add(layer);
  42. }
  43.  
  44. protected <V extends EntityLivingBase, U extends LayerRenderer<V>> boolean removeLayer(U layer)
  45. {
  46. return layerRenderers.remove(layer);
  47. }
  48.  
  49. public ModelBase getMainModel()
  50. {
  51. return mainModel;
  52. }
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. protected float interpolateRotation(float prevYawOffset, float yawOffset, float partialTicks)
  62. {
  63. for (float f = yawOffset - prevYawOffset; f < -180.0F; f += 360.0F) {}
  64.  
  65.  
  66.  
  67.  
  68. while (f >= 180.0F)
  69. {
  70. f -= 360.0F;
  71. }
  72.  
  73. return prevYawOffset + partialTicks * f;
  74. }
  75.  
  76.  
  77.  
  78.  
  79. public void transformHeldFull3DItemLayer() {}
  80.  
  81.  
  82.  
  83. public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks)
  84. {
  85. GlStateManager.pushMatrix();
  86. GlStateManager.disableCull();
  87. mainModel.swingProgress = getSwingProgress(entity, partialTicks);
  88. mainModel.isRiding = entity.isRiding();
  89. mainModel.isChild = entity.isChild();
  90.  
  91. try
  92. {
  93. float f = interpolateRotation(prevRenderYawOffset, renderYawOffset, partialTicks);
  94. float f1 = interpolateRotation(prevRotationYawHead, rotationYawHead, partialTicks);
  95. float f2 = f1 - f;
  96.  
  97. if ((entity.isRiding()) && ((entity.getRidingEntity() instanceof EntityLivingBase)))
  98. {
  99. EntityLivingBase entitylivingbase = (EntityLivingBase)entity.getRidingEntity();
  100. f = interpolateRotation(prevRenderYawOffset, renderYawOffset, partialTicks);
  101. f2 = f1 - f;
  102. float f3 = MathHelper.wrapDegrees(f2);
  103.  
  104. if (f3 < -85.0F)
  105. {
  106. f3 = -85.0F;
  107. }
  108.  
  109. if (f3 >= 85.0F)
  110. {
  111. f3 = 85.0F;
  112. }
  113.  
  114. f = f1 - f3;
  115.  
  116. if (f3 * f3 > 2500.0F)
  117. {
  118. f += f3 * 0.2F;
  119. }
  120. }
  121.  
  122. float f7 = prevRotationPitch + (rotationPitch - prevRotationPitch) * partialTicks;
  123. renderLivingAt(entity, x, y, z);
  124. float f8 = handleRotationFloat(entity, partialTicks);
  125. rotateCorpse(entity, f8, f, partialTicks);
  126. float f4 = prepareScale(entity, partialTicks);
  127. float f5 = 0.0F;
  128. float f6 = 0.0F;
  129.  
  130. if (!entity.isRiding())
  131. {
  132. f5 = prevLimbSwingAmount + (limbSwingAmount - prevLimbSwingAmount) * partialTicks;
  133. f6 = limbSwing - limbSwingAmount * (1.0F - partialTicks);
  134.  
  135. if (entity.isChild())
  136. {
  137. f6 *= 3.0F;
  138. }
  139.  
  140. if (f5 > 1.0F)
  141. {
  142. f5 = 1.0F;
  143. }
  144. }
  145.  
  146. GlStateManager.enableAlpha();
  147. mainModel.setLivingAnimations(entity, f6, f5, partialTicks);
  148. mainModel.setRotationAngles(f6, f5, f8, f2, f7, f4, entity);
  149.  
  150. if (renderOutlines)
  151. {
  152. boolean flag1 = setScoreTeamColor(entity);
  153. GlStateManager.enableColorMaterial();
  154. GlStateManager.enableOutlineMode(getTeamColor(entity));
  155.  
  156. if (!renderMarker)
  157. {
  158. renderModel(entity, f6, f5, f8, f2, f7, f4);
  159. }
  160.  
  161. if ((!(entity instanceof EntityPlayer)) || (!((EntityPlayer)entity).isSpectator()))
  162. {
  163. renderLayers(entity, f6, f5, partialTicks, f8, f2, f7, f4);
  164. }
  165.  
  166. GlStateManager.disableOutlineMode();
  167. GlStateManager.disableColorMaterial();
  168.  
  169. if (flag1)
  170. {
  171. unsetScoreTeamColor();
  172. }
  173. }
  174. else
  175. {
  176. boolean flag = setDoRenderBrightness(entity, partialTicks);
  177. renderModel(entity, f6, f5, f8, f2, f7, f4);
  178.  
  179. if (flag)
  180. {
  181. unsetBrightness();
  182. }
  183.  
  184. GlStateManager.depthMask(true);
  185.  
  186. if ((!(entity instanceof EntityPlayer)) || (!((EntityPlayer)entity).isSpectator()))
  187. {
  188. renderLayers(entity, f6, f5, partialTicks, f8, f2, f7, f4);
  189. }
  190. }
  191.  
  192. GlStateManager.disableRescaleNormal();
  193. }
  194. catch (Exception exception)
  195. {
  196. LOGGER.error("Couldn't render entity", exception);
  197. }
  198.  
  199. GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  200. GlStateManager.enableTexture2D();
  201. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  202. GlStateManager.enableCull();
  203. GlStateManager.popMatrix();
  204. super.doRender(entity, x, y, z, entityYaw, partialTicks);
  205. }
  206.  
  207. public float prepareScale(T entitylivingbaseIn, float partialTicks)
  208. {
  209. GlStateManager.enableRescaleNormal();
  210. GlStateManager.scale(-1.0F, -1.0F, 1.0F);
  211. preRenderCallback(entitylivingbaseIn, partialTicks);
  212. float f = 0.0625F;
  213. GlStateManager.translate(0.0F, -1.501F, 0.0F);
  214. return 0.0625F;
  215. }
  216.  
  217. protected boolean setScoreTeamColor(T entityLivingBaseIn)
  218. {
  219. GlStateManager.disableLighting();
  220. GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  221. GlStateManager.disableTexture2D();
  222. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  223. return true;
  224. }
  225.  
  226. protected void unsetScoreTeamColor()
  227. {
  228. GlStateManager.enableLighting();
  229. GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  230. GlStateManager.enableTexture2D();
  231. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  232. }
  233.  
  234.  
  235.  
  236.  
  237. protected void renderModel(T entitylivingbaseIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch, float scaleFactor)
  238. {
  239. boolean flag = (!entitylivingbaseIn.isInvisible()) || (renderOutlines);
  240. boolean flag1 = (!flag) && (!entitylivingbaseIn.isInvisibleToPlayer(getMinecraftthePlayer));
  241.  
  242. if ((flag) || (flag1))
  243. {
  244. if (!bindEntityTexture(entitylivingbaseIn))
  245. {
  246. return;
  247. }
  248.  
  249. if (flag1)
  250. {
  251. GlStateManager.enableBlendProfile(GlStateManager.Profile.TRANSPARENT_MODEL);
  252. }
  253.  
  254. mainModel.render(entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, scaleFactor);
  255.  
  256. if (flag1)
  257. {
  258. GlStateManager.disableBlendProfile(GlStateManager.Profile.TRANSPARENT_MODEL);
  259. }
  260. }
  261. }
  262.  
  263. protected boolean setDoRenderBrightness(T entityLivingBaseIn, float partialTicks)
  264. {
  265. return setBrightness(entityLivingBaseIn, partialTicks, true);
  266. }
  267.  
  268. protected boolean setBrightness(T entitylivingbaseIn, float partialTicks, boolean combineTextures)
  269. {
  270. float f = entitylivingbaseIn.getBrightness(partialTicks);
  271. int i = getColorMultiplier(entitylivingbaseIn, f, partialTicks);
  272. boolean flag = (i >> 24 & 0xFF) > 0;
  273. boolean flag1 = (hurtTime > 0) || (deathTime > 0);
  274.  
  275. if ((!flag) && (!flag1))
  276. {
  277. return false;
  278. }
  279. if ((!flag) && (!combineTextures))
  280. {
  281. return false;
  282. }
  283.  
  284.  
  285. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  286. GlStateManager.enableTexture2D();
  287. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  288. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
  289. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.defaultTexUnit);
  290. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PRIMARY_COLOR);
  291. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  292. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  293. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
  294. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.defaultTexUnit);
  295. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  296. GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  297. GlStateManager.enableTexture2D();
  298. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  299. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, OpenGlHelper.GL_INTERPOLATE);
  300. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.GL_CONSTANT);
  301. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PREVIOUS);
  302. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE2_RGB, OpenGlHelper.GL_CONSTANT);
  303. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  304. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  305. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND2_RGB, 770);
  306. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
  307. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.GL_PREVIOUS);
  308. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  309. brightnessBuffer.position(0);
  310.  
  311. if (flag1)
  312. {
  313. brightnessBuffer.put(1.0F);
  314. brightnessBuffer.put(0.0F);
  315. brightnessBuffer.put(0.0F);
  316. brightnessBuffer.put(0.3F);
  317. }
  318. else
  319. {
  320. float f1 = (i >> 24 & 0xFF) / 255.0F;
  321. float f2 = (i >> 16 & 0xFF) / 255.0F;
  322. float f3 = (i >> 8 & 0xFF) / 255.0F;
  323. float f4 = (i & 0xFF) / 255.0F;
  324. brightnessBuffer.put(f2);
  325. brightnessBuffer.put(f3);
  326. brightnessBuffer.put(f4);
  327. brightnessBuffer.put(1.0F - f1);
  328. }
  329.  
  330. brightnessBuffer.flip();
  331. GlStateManager.glTexEnv(8960, 8705, brightnessBuffer);
  332. GlStateManager.setActiveTexture(OpenGlHelper.GL_TEXTURE2);
  333. GlStateManager.enableTexture2D();
  334. GlStateManager.bindTexture(TEXTURE_BRIGHTNESS.getGlTextureId());
  335. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  336. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
  337. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.GL_PREVIOUS);
  338. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.lightmapTexUnit);
  339. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  340. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  341. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 7681);
  342. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.GL_PREVIOUS);
  343. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  344. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  345. return true;
  346. }
  347.  
  348.  
  349. protected void unsetBrightness()
  350. {
  351. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  352. GlStateManager.enableTexture2D();
  353. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  354. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
  355. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, OpenGlHelper.defaultTexUnit);
  356. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PRIMARY_COLOR);
  357. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  358. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  359. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 8448);
  360. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, OpenGlHelper.defaultTexUnit);
  361. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_ALPHA, OpenGlHelper.GL_PRIMARY_COLOR);
  362. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  363. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_ALPHA, 770);
  364. GlStateManager.setActiveTexture(OpenGlHelper.lightmapTexUnit);
  365. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  366. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
  367. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  368. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  369. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, 5890);
  370. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PREVIOUS);
  371. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 8448);
  372. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  373. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, 5890);
  374. GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
  375. GlStateManager.setActiveTexture(OpenGlHelper.GL_TEXTURE2);
  376. GlStateManager.disableTexture2D();
  377. GlStateManager.bindTexture(0);
  378. GlStateManager.glTexEnvi(8960, 8704, OpenGlHelper.GL_COMBINE);
  379. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_RGB, 8448);
  380. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_RGB, 768);
  381. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND1_RGB, 768);
  382. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_RGB, 5890);
  383. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE1_RGB, OpenGlHelper.GL_PREVIOUS);
  384. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_COMBINE_ALPHA, 8448);
  385. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_OPERAND0_ALPHA, 770);
  386. GlStateManager.glTexEnvi(8960, OpenGlHelper.GL_SOURCE0_ALPHA, 5890);
  387. GlStateManager.setActiveTexture(OpenGlHelper.defaultTexUnit);
  388. }
  389.  
  390.  
  391.  
  392.  
  393. protected void renderLivingAt(T entityLivingBaseIn, double x, double y, double z)
  394. {
  395. GlStateManager.translate((float)x, (float)y, (float)z);
  396. }
  397.  
  398. protected void rotateCorpse(T entityLiving, float p_77043_2_, float p_77043_3_, float partialTicks)
  399. {
  400. GlStateManager.rotate(180.0F - p_77043_3_, 0.0F, 1.0F, 0.0F);
  401.  
  402. if (deathTime > 0)
  403. {
  404. float f = (deathTime + partialTicks - 1.0F) / 20.0F * 1.6F;
  405. f = MathHelper.sqrt_float(f);
  406.  
  407. if (f > 1.0F)
  408. {
  409. f = 1.0F;
  410. }
  411.  
  412. GlStateManager.rotate(f * getDeathMaxRotation(entityLiving), 0.0F, 0.0F, 1.0F);
  413. }
  414. else
  415. {
  416. String s = net.minecraft.util.text.TextFormatting.getTextWithoutFormattingCodes(entityLiving.getName());
  417.  
  418. if ((s != null) && (("Dinnerbone".equals(s)) || ("Grumm".equals(s))) && ((!(entityLiving instanceof EntityPlayer)) || (((EntityPlayer)entityLiving).isWearing(EnumPlayerModelParts.CAPE))))
  419. {
  420. GlStateManager.translate(0.0F, height + 0.1F, 0.0F);
  421. GlStateManager.rotate(180.0F, 0.0F, 0.0F, 1.0F);
  422. }
  423. }
  424. }
  425.  
  426.  
  427.  
  428.  
  429. protected float getSwingProgress(T livingBase, float partialTickTime)
  430. {
  431. return livingBase.getSwingProgress(partialTickTime);
  432. }
  433.  
  434.  
  435.  
  436.  
  437. protected float handleRotationFloat(T livingBase, float partialTicks)
  438. {
  439. return ticksExisted + partialTicks;
  440. }
  441.  
  442. protected void renderLayers(T entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch, float scaleIn)
  443. {
  444. for (LayerRenderer<T> layerrenderer : layerRenderers)
  445. {
  446. boolean flag = setBrightness(entitylivingbaseIn, partialTicks, layerrenderer.shouldCombineTextures());
  447. layerrenderer.doRenderLayer(entitylivingbaseIn, limbSwing, limbSwingAmount, partialTicks, ageInTicks, netHeadYaw, headPitch, scaleIn);
  448.  
  449. if (flag)
  450. {
  451. unsetBrightness();
  452. }
  453. }
  454. }
  455.  
  456. protected float getDeathMaxRotation(T entityLivingBaseIn)
  457. {
  458. return 90.0F;
  459. }
  460.  
  461.  
  462.  
  463.  
  464. protected int getColorMultiplier(T entitylivingbaseIn, float lightBrightness, float partialTickTime)
  465. {
  466. return 0;
  467. }
  468.  
  469.  
  470.  
  471.  
  472. protected void preRenderCallback(T entitylivingbaseIn, float partialTickTime) {}
  473.  
  474.  
  475.  
  476. public void renderName(T entity, double x, double y, double z)
  477. {
  478. if (canRenderName(entity))
  479. {
  480. double d0 = entity.getDistanceSqToEntity(renderManager.renderViewEntity);
  481. float f = entity.isSneaking() ? 32.0F : 64.0F;
  482.  
  483. if (d0 < f * f)
  484. {
  485. String s = entity.getDisplayName().getFormattedText();
  486. GlStateManager.alphaFunc(516, 0.1F);
  487. renderEntityName(entity, x, y, z, s, d0);
  488. }
  489. }
  490. }
  491.  
  492. protected boolean canRenderName(T entity)
  493. {
  494. EntityPlayerSP entityplayersp = getMinecraftthePlayer;
  495. boolean flag = !entity.isInvisibleToPlayer(entityplayersp);
  496.  
  497. if (entity != entityplayersp)
  498. {
  499. Team team = entity.getTeam();
  500. Team team1 = entityplayersp.getTeam();
  501.  
  502. if (team != null)
  503. {
  504. Team.EnumVisible team$enumvisible = team.getNameTagVisibility();
  505.  
  506. switch (RenderLivingBase.1.$SwitchMap$net$minecraft$scoreboard$Team$EnumVisible[team$enumvisible.ordinal()])
  507. {
  508. case 1:
  509. return flag;
  510.  
  511. case 2:
  512. return false;
  513.  
  514. case 3:
  515. return (team.isSameTeam(team1)) && ((team.getSeeFriendlyInvisiblesEnabled()) || (flag)) ? true : team1 == null ? flag : false;
  516.  
  517. case 4:
  518. return (!team.isSameTeam(team1)) && (flag) ? true : team1 == null ? flag : false;
  519. }
  520.  
  521. return true;
  522. }
  523. }
  524.  
  525.  
  526. return (Minecraft.isGuiEnabled()) && (entity != renderManager.renderViewEntity) && (flag) && (!entity.isBeingRidden());
  527. }
  528.  
  529. static
  530. {
  531. int[] aint = TEXTURE_BRIGHTNESS.getTextureData();
  532.  
  533. for (int i = 0; i < 256; i++)
  534. {
  535. aint[i] = -1;
  536. }
  537.  
  538. TEXTURE_BRIGHTNESS.updateDynamicTexture();
  539. }
  540. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement