001package net.minecraft.client.renderer.entity; 002 003import cpw.mods.fml.relauncher.Side; 004import cpw.mods.fml.relauncher.SideOnly; 005import net.minecraft.block.Block; 006import net.minecraft.entity.item.EntityMinecart; 007import net.minecraft.entity.item.EntityMinecartTNT; 008import org.lwjgl.opengl.GL11; 009 010@SideOnly(Side.CLIENT) 011public class RenderTntMinecart extends RenderMinecart 012{ 013 protected void func_94146_a(EntityMinecartTNT par1EntityMinecartTNT, float par2, Block par3Block, int par4) 014 { 015 int j = par1EntityMinecartTNT.func_94104_d(); 016 017 if (j > -1 && (float)j - par2 + 1.0F < 10.0F) 018 { 019 float f1 = 1.0F - ((float)j - par2 + 1.0F) / 10.0F; 020 021 if (f1 < 0.0F) 022 { 023 f1 = 0.0F; 024 } 025 026 if (f1 > 1.0F) 027 { 028 f1 = 1.0F; 029 } 030 031 f1 *= f1; 032 f1 *= f1; 033 float f2 = 1.0F + f1 * 0.3F; 034 GL11.glScalef(f2, f2, f2); 035 } 036 037 super.func_94144_a(par1EntityMinecartTNT, par2, par3Block, par4); 038 039 if (j > -1 && j / 5 % 2 == 0) 040 { 041 GL11.glDisable(GL11.GL_TEXTURE_2D); 042 GL11.glDisable(GL11.GL_LIGHTING); 043 GL11.glEnable(GL11.GL_BLEND); 044 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_DST_ALPHA); 045 GL11.glColor4f(1.0F, 1.0F, 1.0F, (1.0F - ((float)j - par2 + 1.0F) / 100.0F) * 0.8F); 046 GL11.glPushMatrix(); 047 this.field_94145_f.renderBlockAsItem(Block.tnt, 0, 1.0F); 048 GL11.glPopMatrix(); 049 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 050 GL11.glDisable(GL11.GL_BLEND); 051 GL11.glEnable(GL11.GL_LIGHTING); 052 GL11.glEnable(GL11.GL_TEXTURE_2D); 053 } 054 } 055 056 protected void func_94144_a(EntityMinecart par1EntityMinecart, float par2, Block par3Block, int par4) 057 { 058 this.func_94146_a((EntityMinecartTNT)par1EntityMinecart, par2, par3Block, par4); 059 } 060}