Ejemplo n.º 1
0
  public void doRenderLiving(
      EntityLiving var1, double var2, double var4, double var6, float var8, float var9) {
    GL11.glPushMatrix();
    GL11.glDisable(2884 /*GL_CULL_FACE*/);
    this.mainModel.onGround = this.renderSwingProgress(var1, var9);
    if (this.renderPassModel != null) {
      this.renderPassModel.onGround = this.mainModel.onGround;
    }

    this.mainModel.isRiding = var1.isRiding();
    if (this.renderPassModel != null) {
      this.renderPassModel.isRiding = this.mainModel.isRiding;
    }

    this.mainModel.field_40301_k = var1.func_40127_l();
    if (this.renderPassModel != null) {
      this.renderPassModel.field_40301_k = this.mainModel.field_40301_k;
    }

    try {
      float var10 =
          var1.prevRenderYawOffset + (var1.renderYawOffset - var1.prevRenderYawOffset) * var9;
      float var11 = var1.prevRotationYaw + (var1.rotationYaw - var1.prevRotationYaw) * var9;
      float var12 = var1.prevRotationPitch + (var1.rotationPitch - var1.prevRotationPitch) * var9;
      this.renderLivingAt(var1, var2, var4, var6);
      float var13 = this.handleRotationFloat(var1, var9);
      this.rotateCorpse(var1, var13, var10, var9);
      float var14 = 0.0625F;
      GL11.glEnable('\u803a');
      GL11.glScalef(-1.0F, -1.0F, 1.0F);
      this.preRenderCallback(var1, var9);
      GL11.glTranslatef(0.0F, -24.0F * var14 - 0.0078125F, 0.0F);
      float var15 = var1.field_705_Q + (var1.field_704_R - var1.field_705_Q) * var9;
      float var16 = var1.field_703_S - var1.field_704_R * (1.0F - var9);
      if (var1.func_40127_l()) {
        var16 *= 3.0F;
      }

      if (var15 > 1.0F) {
        var15 = 1.0F;
      }

      GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
      this.mainModel.setLivingAnimations(var1, var16, var15, var9);
      this.func_40270_a(var1, var16, var15, var13, var11 - var10, var12, var14);

      float var19;
      int var18;
      float var20;
      float var22;
      for (int var17 = 0; var17 < 4; ++var17) {
        var18 = this.shouldRenderPass(var1, var17, var9);
        if (var18 > 0) {
          this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
          if (var18 == 15) {
            var19 = (float) var1.ticksExisted + var9;
            this.loadTexture("%blur%/misc/glint.png");
            GL11.glEnable(3042 /*GL_BLEND*/);
            var20 = 0.5F;
            GL11.glColor4f(var20, var20, var20, 1.0F);
            GL11.glDepthFunc(514);
            GL11.glDepthMask(false);

            for (int var21 = 0; var21 < 2; ++var21) {
              GL11.glDisable(2896 /*GL_LIGHTING*/);
              var22 = 0.76F;
              GL11.glColor4f(0.5F * var22, 0.25F * var22, 0.8F * var22, 1.0F);
              GL11.glBlendFunc(768, 1);
              GL11.glMatrixMode(5890 /*GL_TEXTURE*/);
              GL11.glLoadIdentity();
              float var23 = var19 * (0.0010F + (float) var21 * 0.0030F) * 20.0F;
              float var24 = 0.33333334F;
              GL11.glScalef(var24, var24, var24);
              GL11.glRotatef(30.0F - (float) var21 * 60.0F, 0.0F, 0.0F, 1.0F);
              GL11.glTranslatef(0.0F, var23, 0.0F);
              GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/);
              this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
            }

            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            GL11.glMatrixMode(5890 /*GL_TEXTURE*/);
            GL11.glDepthMask(true);
            GL11.glLoadIdentity();
            GL11.glMatrixMode(5888 /*GL_MODELVIEW0_ARB*/);
            GL11.glEnable(2896 /*GL_LIGHTING*/);
            GL11.glDisable(3042 /*GL_BLEND*/);
            GL11.glDepthFunc(515);
          }

          GL11.glDisable(3042 /*GL_BLEND*/);
          GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
        }
      }

      this.renderEquippedItems(var1, var9);
      float var26 = var1.getEntityBrightness(var9);
      var18 = this.getColorMultiplier(var1, var26, var9);
      OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled);
      GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
      OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled);
      if ((var18 >> 24 & 255) > 0 || var1.hurtTime > 0 || var1.deathTime > 0) {
        GL11.glDisable(3553 /*GL_TEXTURE_2D*/);
        GL11.glDisable(3008 /*GL_ALPHA_TEST*/);
        GL11.glEnable(3042 /*GL_BLEND*/);
        GL11.glBlendFunc(770, 771);
        GL11.glDepthFunc(514);
        if (var1.hurtTime > 0 || var1.deathTime > 0) {
          GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
          this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);

          for (int var27 = 0; var27 < 4; ++var27) {
            if (this.inheritRenderPass(var1, var27, var9) >= 0) {
              GL11.glColor4f(var26, 0.0F, 0.0F, 0.4F);
              this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
            }
          }
        }

        if ((var18 >> 24 & 255) > 0) {
          var19 = (float) (var18 >> 16 & 255) / 255.0F;
          var20 = (float) (var18 >> 8 & 255) / 255.0F;
          float var29 = (float) (var18 & 255) / 255.0F;
          var22 = (float) (var18 >> 24 & 255) / 255.0F;
          GL11.glColor4f(var19, var20, var29, var22);
          this.mainModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);

          for (int var28 = 0; var28 < 4; ++var28) {
            if (this.inheritRenderPass(var1, var28, var9) >= 0) {
              GL11.glColor4f(var19, var20, var29, var22);
              this.renderPassModel.render(var1, var16, var15, var13, var11 - var10, var12, var14);
            }
          }
        }

        GL11.glDepthFunc(515);
        GL11.glDisable(3042 /*GL_BLEND*/);
        GL11.glEnable(3008 /*GL_ALPHA_TEST*/);
        GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
      }

      GL11.glDisable('\u803a');
    } catch (Exception var25) {
      var25.printStackTrace();
    }

    OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapEnabled);
    GL11.glEnable(3553 /*GL_TEXTURE_2D*/);
    OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapDisabled);
    GL11.glEnable(2884 /*GL_CULL_FACE*/);
    GL11.glPopMatrix();
    this.passSpecialRender(var1, var2, var4, var6);
  }