@Override
public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float time) {
if (tile instanceof TileTrack) {
if (((TileTrack) tile).getTrackInstance() instanceof TrackBufferStop) {
TrackBufferStop track = (TrackBufferStop) ((TileTrack) tile).getTrackInstance();
GL11.glPushMatrix();
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glColor3f(1, 1, 1);
GL11.glTranslatef((float) x, (float) y, (float) z);
model.resetRotation();
int meta = tile.getBlockMetadata();
if (meta == 1) {
model.rotateY((float) (Math.PI / 2.0));
}
if (meta == 0 != track.isReversed()) {
model.rotateY((float) Math.PI);
}
bindTexture(TEXTURE);
model.render(1f / 16f);