001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 006 @SideOnly(Side.CLIENT) 007 public abstract class TileEntitySpecialRenderer 008 { 009 /** 010 * The TileEntityRenderer instance associated with this TileEntitySpecialRenderer 011 */ 012 protected TileEntityRenderer tileEntityRenderer; 013 014 public abstract void renderTileEntityAt(TileEntity var1, double var2, double var4, double var6, float var8); 015 016 /** 017 * Binds a texture to the renderEngine given a filename from the JAR. 018 */ 019 protected void bindTextureByName(String par1Str) 020 { 021 RenderEngine var2 = this.tileEntityRenderer.renderEngine; 022 023 if (var2 != null) 024 { 025 var2.bindTexture(var2.getTexture(par1Str)); 026 } 027 } 028 029 /** 030 * Associate a TileEntityRenderer with this TileEntitySpecialRenderer 031 */ 032 public void setTileEntityRenderer(TileEntityRenderer par1TileEntityRenderer) 033 { 034 this.tileEntityRenderer = par1TileEntityRenderer; 035 } 036 037 /** 038 * Called when the ingame world being rendered changes (e.g. on world -> nether travel) due to using one renderer 039 * per tile entity type, rather than instance 040 */ 041 public void onWorldChange(World par1World) {} 042 043 public FontRenderer getFontRenderer() 044 { 045 return this.tileEntityRenderer.getFontRenderer(); 046 } 047 }