001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 import org.lwjgl.opengl.GL11; 006 import org.lwjgl.opengl.GL12; 007 008 @SideOnly(Side.CLIENT) 009 public class TileEntityEnderChestRenderer extends TileEntitySpecialRenderer 010 { 011 private ModelChest field_76900_a = new ModelChest(); 012 013 public void func_76899_a(TileEntityEnderChest par1TileEntityEnderChest, double par2, double par4, double par6, float par8) 014 { 015 int var9 = 0; 016 017 if (par1TileEntityEnderChest.func_70309_m()) 018 { 019 var9 = par1TileEntityEnderChest.getBlockMetadata(); 020 } 021 022 this.bindTextureByName("/item/enderchest.png"); 023 GL11.glPushMatrix(); 024 GL11.glEnable(GL12.GL_RESCALE_NORMAL); 025 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 026 GL11.glTranslatef((float)par2, (float)par4 + 1.0F, (float)par6 + 1.0F); 027 GL11.glScalef(1.0F, -1.0F, -1.0F); 028 GL11.glTranslatef(0.5F, 0.5F, 0.5F); 029 short var10 = 0; 030 031 if (var9 == 2) 032 { 033 var10 = 180; 034 } 035 036 if (var9 == 3) 037 { 038 var10 = 0; 039 } 040 041 if (var9 == 4) 042 { 043 var10 = 90; 044 } 045 046 if (var9 == 5) 047 { 048 var10 = -90; 049 } 050 051 GL11.glRotatef((float)var10, 0.0F, 1.0F, 0.0F); 052 GL11.glTranslatef(-0.5F, -0.5F, -0.5F); 053 float var11 = par1TileEntityEnderChest.prevLidAngle + (par1TileEntityEnderChest.lidAngle - par1TileEntityEnderChest.prevLidAngle) * par8; 054 var11 = 1.0F - var11; 055 var11 = 1.0F - var11 * var11 * var11; 056 this.field_76900_a.chestLid.rotateAngleX = -(var11 * (float)Math.PI / 2.0F); 057 this.field_76900_a.renderAll(); 058 GL11.glDisable(GL12.GL_RESCALE_NORMAL); 059 GL11.glPopMatrix(); 060 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 061 } 062 063 public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) 064 { 065 this.func_76899_a((TileEntityEnderChest)par1TileEntity, par2, par4, par6, par8); 066 } 067 }