rendered paste body public Point worldToScreen(int x, int y, int z) {
Toolkit render = provider.getClient().getToolkit();
float _z = (render.getViewport().getZOffset() + ((int) (render.getViewport().getZX() * x + render.getViewport().getZY() * z + render.getViewport().getZZ() * y)));
if ((_z >= render.getZNear()) && (_z <= render.getZFar())) {
int _x = (int) (render.getScaleX() * ((int) render.getViewport().getXOffset() + ((int) (render.getViewport().getXX() * x + render.getViewport().getXY() * z + render.getViewport().getXZ() * y))) / _z);
int _y = (int) (render.getScaleY() * ((int) render.getViewport().getYOffset() + ((int) (render.getViewport().getYX() * x + render.getViewport().getYY() * z + render.getViewport().getYZ() * y))) / _z);
if ((_x >= render.getAbsoluteX1()) && (_x <= render.getAbsoluteX2()) && (_y >= render.getAbsoluteY1()) && (_y <= render.getAbsoluteY2())) {
return new Point((int) (_x - render.getAbsoluteX1()), (int) (_y - render.getAbsoluteY1()));
}
}
return new Point(-1, -1);
}