From 1c0a0f43efe3476cec1cf11740e8382758461cbc Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 20 Apr 2022 12:45:26 -0400 Subject: [PATCH] mes: fix item swaps with op4 and op5 Since the client does menu sorting after our tick event but before rendering, it currently renders the wrong menu action. This prevents the sorting when doing item swaps. --- .../menuentryswapper/MenuEntrySwapperPlugin.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index 09127ee939..032773a05b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -1117,6 +1117,18 @@ public class MenuEntrySwapperPlugin extends Plugin entries[index1] = entry2; entries[index2] = entry1; + // Item op4 and op5 are CC_OP_LOW_PRIORITY so they get added underneath Use, + // but this also causes them to get sorted after client tick. Change them to + // CC_OP to avoid this. + if (entry1.isItemOp() && entry1.getType() == MenuAction.CC_OP_LOW_PRIORITY) + { + entry1.setType(MenuAction.CC_OP); + } + if (entry2.isItemOp() && entry2.getType() == MenuAction.CC_OP_LOW_PRIORITY) + { + entry2.setType(MenuAction.CC_OP); + } + client.setMenuEntries(entries); // Update optionIndexes