Well, it was kinda cheat. I knew when crosshair was drew so I redrew new one and was returning false for showCrosshair().
Anyway, I got hang of RenderGameOverlayEvent and Im able to draw text etc but I have no success converting old method.
WorldRenderer tessellator = Tessellator.getInstance().getWorldRenderer();
tessellator.startDrawingQuads();
tessellator.setColorRGBA_F(r, g, b, .5f);
tessellator.addVertexWithUV(par1 + 0, par2 + par6, this.zLevel,(par3 + 0) * f, (par4 + par6) * f1);
tessellator.addVertexWithUV(par1 + par5, par2 + par6, this.zLevel,(par3 + par5) * f, (par4 + par6) * f1);
tessellator.addVertexWithUV(par1 + par5, par2 + 0, this.zLevel,(par3 + par5) * f, (par4 + 0) * f1);
tessellator.addVertexWithUV(par1 + 0, par2 + 0, this.zLevel, (par3 + 0)* f, (par4 + 0) * f1);
Tessellator.getInstance().draw();
What I got trying to convert it:
VertexBuffer tessellator = Tessellator.getInstance().getBuffer();
tessellator.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
tessellator.putColorRGB_F(r, g, b, (int) .5f);
tessellator.pos(par1 + 0, par2 + par6, this.zLevel);
tessellator.tex((par3 + 0) * f, (par4 + par6) * f1);
tessellator.pos(par1 + par5, par2 + par6, this.zLevel);
tessellator.tex((par3 + par5) * f, (par4 + par6) * f1);
tessellator.pos(par1 + par5, par2 + 0, this.zLevel);
tessellator.tex((par3 + par5) * f, (par4 + 0) * f1);
tessellator.pos(par1 + 0, par2 + 0, this.zLevel);
tessellator.tex((par3 + 0) * f, (par4 + 0) * f1);
Tessellator.getInstance().draw();