* @param xxx
	 * @param yyy
	 * @param zzz
	 * @param blockOffset
	 * @param blockId
	 */
	public void renderEndPortalFrame(int textureId, int xxx, int yyy, int zzz, int blockOffset, BlockType block, int tex_offset) {
		float x = xxx + this.x*16;
		float z = zzz + this.z*16;
		float y = yyy;
		float side_height = .8125f;
		float side = .5f;
		float side_top = .3125f;
		float eye_side = .25f;
		float eye_height = .1875f;
		byte data = getData(xxx, yyy, zzz);
		boolean eye = ((data & 0x4) == 0x4);
		short adj;

		int tex_side = block.texture_extra_map.get("sides")+tex_offset;
		int tex_bottom = block.texture_extra_map.get("bottom")+tex_offset;
		int tex_eye = block.texture_extra_map.get("eye")+tex_offset;

		GL11.glPushMatrix();
		GL11.glTranslatef(x, y, z);

		// First draw the base, regardless of eye state
		adj = getAdjBlockId(xxx, yyy, zzz, FACING.WEST, blockOffset);
		if (adj != block.id && !isSolid(adj))
		{
			renderVertical(tex_side, -side, -side, -side, side, -side, side_height, 16, 13, 0, 3);
		}
		adj = getAdjBlockId(xxx, yyy, zzz, FACING.EAST, blockOffset);
		if (adj != block.id && !isSolid(adj))
		{
			renderVertical(tex_side, side, -side, side, side, -side, side_height, 16, 13, 0, 3);
		}
		adj = getAdjBlockId(xxx, yyy, zzz, FACING.SOUTH, blockOffset);
		if (adj != block.id && !isSolid(adj))
		{
			renderVertical(tex_side, side, side, -side, side, -side, side_height, 16, 13, 0, 3);
		}
		adj = getAdjBlockId(xxx, yyy, zzz, FACING.NORTH, blockOffset);
		if (adj != block.id && !isSolid(adj))
		{
			renderVertical(tex_side, side, -side, -side, -side, -side, side_height, 16, 13, 0, 3);
		}
		renderHorizontal(textureId, -side, -side, side, side, side_top);
		renderHorizontal(tex_bottom, -side, -side, side, side, -side);

		// Now the Eye of Ender, if we should
		if (eye)
		{
			renderVertical(tex_eye, eye_side, eye_side, -eye_side, eye_side, side_top, eye_height, 8, 3, 4, 0);
			renderVertical(tex_eye, eye_side, -eye_side, -eye_side, -eye_side, side_top, eye_height, 8, 3, 4, 0);
			renderVertical(tex_eye, eye_side, eye_side, eye_side, -eye_side, side_top, eye_height, 8, 3, 4, 0);
			renderVertical(tex_eye, -eye_side, eye_side, -eye_side, -eye_side, side_top, eye_height, 8, 3, 4, 0);
			renderHorizontal(tex_eye, -eye_side, -eye_side, eye_side, eye_side, side, 8, 8, 4, 4, false);
		}

		GL11.glPopMatrix();
	}