private void renderOverlay(final SchematicWorld schematic, final boolean isRenderingSchematic) { GlStateManager.disableTexture2D(); GlStateManager.enableBlend(); GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); GL11.glEnable(GL11.GL_LINE_SMOOTH); final GeometryTessellator tessellator = GeometryTessellator.getInstance(); tessellator.setTranslation( -ClientProxy.playerPosition.x, -ClientProxy.playerPosition.y, -ClientProxy.playerPosition.z); tessellator.setDelta(ConfigurationHandler.blockDelta); if (ClientProxy.isRenderingGuide) { tessellator.startQuads(); tessellator.drawCuboid(ClientProxy.pointA, GeometryMasks.Quad.ALL, 0xBF0000, 0x3F); tessellator.drawCuboid(ClientProxy.pointB, GeometryMasks.Quad.ALL, 0x0000BF, 0x3F); tessellator.draw(); } tessellator.startLines(); if (ClientProxy.isRenderingGuide) { tessellator.drawCuboid(ClientProxy.pointA, GeometryMasks.Line.ALL, 0xBF0000, 0x3F); tessellator.drawCuboid(ClientProxy.pointB, GeometryMasks.Line.ALL, 0x0000BF, 0x3F); tessellator.drawCuboid( ClientProxy.pointMin, ClientProxy.pointMax, GeometryMasks.Line.ALL, 0x00BF00, 0x7F); } if (isRenderingSchematic) { this.tmp.set( schematic.position.x + schematic.getWidth() - 1, schematic.position.y + schematic.getHeight() - 1, schematic.position.z + schematic.getLength() - 1); tessellator.drawCuboid(schematic.position, this.tmp, GeometryMasks.Line.ALL, 0xBF00BF, 0x7F); } tessellator.draw(); GlStateManager.depthMask(false); this.renderContainer.renderOverlay(); GlStateManager.depthMask(true); GL11.glDisable(GL11.GL_LINE_SMOOTH); GlStateManager.disableBlend(); GlStateManager.enableTexture2D(); }