@Override public void mouseClicked(int mouseX, int mouseY, int button) { if (active && RadialMenu.animationTimer == 0) { double mouseAngle = AngleHelper.getMouseAngle(); mouseAngle -= ClientTickHandler.ANGLE_PER_ITEM / 2; mouseAngle = 360 - mouseAngle; mouseAngle = AngleHelper.correctAngle(mouseAngle); if (!mc.gameSettings.hideGUI) { for (int i = 0; i < RadialMenu.MAX_ITEMS; i++) { double currAngle = ClientTickHandler.ANGLE_PER_ITEM * i; double nextAngle = currAngle + ClientTickHandler.ANGLE_PER_ITEM; currAngle = AngleHelper.correctAngle(currAngle); nextAngle = AngleHelper.correctAngle(nextAngle); boolean mouseIn = mouseAngle > currAngle && mouseAngle < nextAngle; if (mouseIn) { MenuItem item = RadialMenu.getActiveArray()[i]; boolean disabled = item != null && !ActionSessionData.availableActions.contains( item.clickAction.getClickAction()); if (item != null && item.clickAction != null) { if (isShiftKeyDown() || (ClientProxy.rightClickToEdit && button == 1)) { deactivate(); GuiStack.push(new GuiMenuItem(i, item)); return; } else { if (!disabled && button == 0) { if (item.clickAction.onClicked()) { deactivate(); return; } } } } else { if (button == 0) { deactivate(); GuiStack.push(new GuiMenuItem(i, item)); return; } } } } } } }