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 /** The Ender Chest Chest's model. */ 012 private ModelChest theEnderChestModel = new ModelChest(); 013 014 /** 015 * Helps to render Ender Chest. 016 */ 017 public void renderEnderChest(TileEntityEnderChest par1TileEntityEnderChest, double par2, double par4, double par6, float par8) 018 { 019 int var9 = 0; 020 021 if (par1TileEntityEnderChest.func_70309_m()) 022 { 023 var9 = par1TileEntityEnderChest.getBlockMetadata(); 024 } 025 026 this.bindTextureByName("/item/enderchest.png"); 027 GL11.glPushMatrix(); 028 GL11.glEnable(GL12.GL_RESCALE_NORMAL); 029 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 030 GL11.glTranslatef((float)par2, (float)par4 + 1.0F, (float)par6 + 1.0F); 031 GL11.glScalef(1.0F, -1.0F, -1.0F); 032 GL11.glTranslatef(0.5F, 0.5F, 0.5F); 033 short var10 = 0; 034 035 if (var9 == 2) 036 { 037 var10 = 180; 038 } 039 040 if (var9 == 3) 041 { 042 var10 = 0; 043 } 044 045 if (var9 == 4) 046 { 047 var10 = 90; 048 } 049 050 if (var9 == 5) 051 { 052 var10 = -90; 053 } 054 055 GL11.glRotatef((float)var10, 0.0F, 1.0F, 0.0F); 056 GL11.glTranslatef(-0.5F, -0.5F, -0.5F); 057 float var11 = par1TileEntityEnderChest.prevLidAngle + (par1TileEntityEnderChest.lidAngle - par1TileEntityEnderChest.prevLidAngle) * par8; 058 var11 = 1.0F - var11; 059 var11 = 1.0F - var11 * var11 * var11; 060 this.theEnderChestModel.chestLid.rotateAngleX = -(var11 * (float)Math.PI / 2.0F); 061 this.theEnderChestModel.renderAll(); 062 GL11.glDisable(GL12.GL_RESCALE_NORMAL); 063 GL11.glPopMatrix(); 064 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); 065 } 066 067 public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) 068 { 069 this.renderEnderChest((TileEntityEnderChest)par1TileEntity, par2, par4, par6, par8); 070 } 071 }