From 1c0a0f43efe3476cec1cf11740e8382758461cbc Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 20 Apr 2022 12:45:26 -0400 Subject: [PATCH 1/4] 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 From 4fc6466e4f804cd984c8e9172eec48a91b11cc25 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 20 Apr 2022 12:50:29 -0400 Subject: [PATCH 2/4] clues: fix tracking cluescroll --- .../runelite/client/plugins/cluescrolls/ClueScrollPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index 7df023ef60..f471f195ad 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -328,7 +328,7 @@ public class ClueScrollPlugin extends Plugin final boolean isXMarksTheSpotOrb = event.getItemId() == ItemID.MYSTERIOUS_ORB_23069; if (isXMarksTheSpotOrb || event.getMenuOption().equals("Read")) { - final ItemComposition itemComposition = itemManager.getItemComposition(event.getId()); + final ItemComposition itemComposition = itemManager.getItemComposition(event.getItemId()); if (isXMarksTheSpotOrb || itemComposition.getName().startsWith("Clue scroll") From edbc723b2078237d2c5e0d1abaa14aaea5e4588a Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 20 Apr 2022 13:02:57 -0400 Subject: [PATCH 3/4] statusbars: update for if3 inv --- .../client/plugins/statusbars/StatusBarsOverlay.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java index 49d2811179..3d5cd8a264 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/statusbars/StatusBarsOverlay.java @@ -289,12 +289,18 @@ class StatusBarsOverlay extends Overlay { final MenuEntry[] menu = client.getMenuEntries(); final int menuSize = menu.length; - final MenuEntry entry = menuSize > 0 ? menu[menuSize - 1] : null; + if (menuSize == 0) + { + return 0; + } + + final MenuEntry entry = menu[menuSize - 1]; + final Widget widget = entry.getWidget(); int restoreValue = 0; - if (entry != null && entry.getParam1() == WidgetInfo.INVENTORY.getId()) + if (widget != null && widget.getId() == WidgetInfo.INVENTORY.getId()) { - final Effect change = itemStatService.getItemStatChanges(entry.getIdentifier()); + final Effect change = itemStatService.getItemStatChanges(widget.getItemId()); if (change != null) { From 96fbdda03d60430a35b7dc80f89f378dede7a3cb Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 20 Apr 2022 17:43:51 -0400 Subject: [PATCH 4/4] runelite: remove otl requester This is being replaced with a different api signature later --- .../java/net/runelite/client/RuneLite.java | 69 ------------------- 1 file changed, 69 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index 538121bc92..b338cbd981 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -32,7 +32,6 @@ import com.google.inject.Guice; import com.google.inject.Inject; import com.google.inject.Injector; import com.jagex.oldscape.pub.OAuthApi; -import com.jagex.oldscape.pub.OtlTokenResponse; import java.applet.Applet; import java.io.File; import java.io.IOException; @@ -48,7 +47,6 @@ import java.security.SecureRandom; import java.security.cert.X509Certificate; import java.util.Locale; import java.util.Map; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; import java.util.stream.Stream; import javax.annotation.Nullable; @@ -85,8 +83,6 @@ import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; import net.runelite.http.api.RuneLiteAPI; import okhttp3.Cache; -import okhttp3.Call; -import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -111,9 +107,6 @@ public class RuneLite @Getter private static Injector injector; - @Inject - private OkHttpClient okHttpClient; - @Inject private PluginManager pluginManager; @@ -563,68 +556,6 @@ public class RuneLite try { - log.info("Initializing OTL token requester with access token"); - oAuthApi.setOtlTokenRequester(url -> - { - CompletableFuture f = new CompletableFuture<>(); - okHttpClient.newCall(new Request.Builder() - .url(url) - .header("Authorization", "Bearer " + accessToken) - .get() - .build()) - .enqueue(new Callback() - { - private void complete(boolean success, String token) - { - f.complete(new OtlTokenResponse() - { - @Override - public boolean isSuccess() - { - return success; - } - - @Override - public String getToken() - { - return token; - } - }); - } - - @Override - public void onFailure(Call call, IOException e) - { - log.error("HTTP error while performing OTL request", e); - complete(false, null); - } - - @Override - public void onResponse(Call call, Response response) throws IOException - { - if (response.code() != 200) - { - log.error("Non-OK response performing OTL request: {}", response.code()); - complete(false, null); - response.close(); - return; - } - - if (response.body() == null) - { - log.error("OK response with empty body from OTL request"); - complete(false, null); - response.close(); - return; - } - - log.debug("Successful OTL response"); - complete(true, response.body().string()); - response.close(); - } - }); - return f; - }); } catch (LinkageError ex) {