diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 75ace64160..ecf5b705b6 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1843,17 +1843,7 @@ public interface Client extends GameShell void setRenderSelf(boolean enabled); - /** - * @param param0 This is SceneX for gameObject, index for items, and 0 for npc. - * @param param1 This is SceneY for gameObject, static for items, and 0 for npc. - * @param opcode Menu entry Action opcode. - * @param id Targets ID - * @param menuEntry Do these actually matter? - * @param targetString Do these actually matter? - * @param canvasX Canvas X Point - * @param canvasY Canvas Y Point - */ - void invokeMenuAction(int param0, int param1, int opcode, int id, String menuEntry, String targetString, int canvasX, int canvasY); + void invokeMenuAction(String option, String target, int identifier, int opcode, int param0, int param1); MouseRecorder getMouseRecorder(); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 0a93258803..b3caf5c091 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1435,9 +1435,9 @@ public abstract class RSClientMixin implements RSClient @Override @Inject - public void invokeMenuAction(int param0, int param1, int opcode, int id, String menuOption, String menuTarget, int canvasX, int canvasY) + public void invokeMenuAction(String option, String target, int identifier, int opcode, int param0, int param1) { - client.sendMenuAction(param0, param1, opcode, id, menuOption, "!AUTHENTIC" + menuTarget, canvasX, canvasY); + client.sendMenuAction(param0, param1, opcode, identifier, option, "!AUTHENTIC" + target, 658, 384); } @FieldHook("Login_username") @@ -1883,4 +1883,4 @@ public abstract class RSClientMixin implements RSClient return widgetClickMask; } -} \ No newline at end of file +} diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java index 3f7970b878..718d8ded15 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/WorldHoppingMixin.java @@ -15,7 +15,7 @@ public abstract class WorldHoppingMixin implements RSClient public void openWorldHopper() { // The clicked x & y coordinates (the last arguments) are not processed in the game or sent to Jagex, so they don't have to be real. - invokeMenuAction(-1, WidgetInfo.WORLD_SWITCHER_BUTTON.getId(), MenuOpcode.CC_OP.getId(), 1, "World Switcher", "", 658, 384); + invokeMenuAction("World Switcher", "", 1, MenuOpcode.CC_OP.getId(), -1, WidgetInfo.WORLD_SWITCHER_BUTTON.getId()); } @Inject @@ -23,6 +23,6 @@ public abstract class WorldHoppingMixin implements RSClient public void hopToWorld(World world) { final int worldId = world.getId(); - invokeMenuAction(worldId, WidgetInfo.WORLD_SWITCHER_LIST.getId(), MenuOpcode.CC_OP.getId(), 1, "Switch", "" + (worldId - 300) + "", 683, 244); + invokeMenuAction("Switch", "" + (worldId - 300) + "", 1, MenuOpcode.CC_OP.getId(), worldId, WidgetInfo.WORLD_SWITCHER_LIST.getId()); } }