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 007 @SideOnly(Side.CLIENT) 008 public class RenderEnchantmentTable extends TileEntitySpecialRenderer 009 { 010 private ModelBook enchantmentBook = new ModelBook(); 011 012 public void renderTileEntityEnchantmentTableAt(TileEntityEnchantmentTable par1TileEntityEnchantmentTable, double par2, double par4, double par6, float par8) 013 { 014 GL11.glPushMatrix(); 015 GL11.glTranslatef((float)par2 + 0.5F, (float)par4 + 0.75F, (float)par6 + 0.5F); 016 float var9 = (float)par1TileEntityEnchantmentTable.tickCount + par8; 017 GL11.glTranslatef(0.0F, 0.1F + MathHelper.sin(var9 * 0.1F) * 0.01F, 0.0F); 018 float var10; 019 020 for (var10 = par1TileEntityEnchantmentTable.bookRotation2 - par1TileEntityEnchantmentTable.bookRotationPrev; var10 >= (float)Math.PI; var10 -= ((float)Math.PI * 2F)) 021 { 022 ; 023 } 024 025 while (var10 < -(float)Math.PI) 026 { 027 var10 += ((float)Math.PI * 2F); 028 } 029 030 float var11 = par1TileEntityEnchantmentTable.bookRotationPrev + var10 * par8; 031 GL11.glRotatef(-var11 * 180.0F / (float)Math.PI, 0.0F, 1.0F, 0.0F); 032 GL11.glRotatef(80.0F, 0.0F, 0.0F, 1.0F); 033 this.bindTextureByName("/item/book.png"); 034 float var12 = par1TileEntityEnchantmentTable.pageFlipPrev + (par1TileEntityEnchantmentTable.pageFlip - par1TileEntityEnchantmentTable.pageFlipPrev) * par8 + 0.25F; 035 float var13 = par1TileEntityEnchantmentTable.pageFlipPrev + (par1TileEntityEnchantmentTable.pageFlip - par1TileEntityEnchantmentTable.pageFlipPrev) * par8 + 0.75F; 036 var12 = (var12 - (float)MathHelper.truncateDoubleToInt((double)var12)) * 1.6F - 0.3F; 037 var13 = (var13 - (float)MathHelper.truncateDoubleToInt((double)var13)) * 1.6F - 0.3F; 038 039 if (var12 < 0.0F) 040 { 041 var12 = 0.0F; 042 } 043 044 if (var13 < 0.0F) 045 { 046 var13 = 0.0F; 047 } 048 049 if (var12 > 1.0F) 050 { 051 var12 = 1.0F; 052 } 053 054 if (var13 > 1.0F) 055 { 056 var13 = 1.0F; 057 } 058 059 float var14 = par1TileEntityEnchantmentTable.bookSpreadPrev + (par1TileEntityEnchantmentTable.bookSpread - par1TileEntityEnchantmentTable.bookSpreadPrev) * par8; 060 GL11.glEnable(GL11.GL_CULL_FACE); 061 this.enchantmentBook.render((Entity)null, var9, var12, var13, var14, 0.0F, 0.0625F); 062 GL11.glPopMatrix(); 063 } 064 065 public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) 066 { 067 this.renderTileEntityEnchantmentTableAt((TileEntityEnchantmentTable)par1TileEntity, par2, par4, par6, par8); 068 } 069 }