From 1c023116c3732ccbb289892f79d4eaacace34634 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 9 Jan 2026 18:46:39 -0500 Subject: [PATCH 01/17] api: add getSocketFD() --- runelite-api/src/main/java/net/runelite/api/Client.java | 4 ++++ 1 file changed, 4 insertions(+) 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 08faddd452d..41e4ba4afca 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -27,6 +27,7 @@ import com.jagex.oldscape.pub.OAuthApi; import java.awt.Canvas; import java.awt.Dimension; +import java.io.FileDescriptor; import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; @@ -2438,4 +2439,7 @@ default Tile getSelectedSceneTile() */ @Nonnull WorldView findWorldViewFromWorldPoint(WorldPoint point); + + @Nullable + FileDescriptor getSocketFD(); } From 9aa9c3ad7705ab114fdde13085c1fedf0245a40e Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 11 Jan 2026 11:35:06 -0500 Subject: [PATCH 02/17] api: add AcotrSpotAnim startCycle --- .../main/java/net/runelite/api/ActorSpotAnim.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ActorSpotAnim.java b/runelite-api/src/main/java/net/runelite/api/ActorSpotAnim.java index e2a0bb04159..4ba77383e7a 100644 --- a/runelite-api/src/main/java/net/runelite/api/ActorSpotAnim.java +++ b/runelite-api/src/main/java/net/runelite/api/ActorSpotAnim.java @@ -40,6 +40,18 @@ public interface ActorSpotAnim extends Node */ void setId(int id); + /** + * Get the client cycle that the spotanim starts at + * @return + */ + int getStartCycle(); + + /** + * Set the client cycle that the spotanim starts at + * @param cycle + */ + void setStartCycle(int cycle); + /** * Get the spotanim height * @return From 6f1f671a63a312ed1bb9170a0c3d57abe21e19f3 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 7 Jan 2026 15:53:21 -0700 Subject: [PATCH 03/17] api: add runelite.delaystart --- runelite-api/src/main/java/net/runelite/api/GameEngine.java | 5 +++++ .../src/main/java/net/runelite/client/RuneLite.java | 2 ++ 2 files changed, 7 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/GameEngine.java b/runelite-api/src/main/java/net/runelite/api/GameEngine.java index 30faa9691d8..1de44385eaa 100644 --- a/runelite-api/src/main/java/net/runelite/api/GameEngine.java +++ b/runelite-api/src/main/java/net/runelite/api/GameEngine.java @@ -53,4 +53,9 @@ public interface GameEngine boolean isClientThread(); void resizeCanvas(); + + /** + * Releases the startup block if "runelite.delaystart" is set true + */ + public void unblockStartup(); } 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 0c415c425d3..83b5409314d 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -370,6 +370,8 @@ public void start() throws Exception clientUI.show(); + client.unblockStartup(); + if (telemetryClient != null) { scheduledExecutorService.execute(() -> From 1427e1d22e5ea3d5ba89dfeed870b2c75a7dbce6 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 7 Jan 2026 16:01:21 -0700 Subject: [PATCH 04/17] camera: fix startup race --- .../net/runelite/client/plugins/camera/CameraPlugin.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java index 4766ff3b875..030094e56f1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/camera/CameraPlugin.java @@ -34,6 +34,7 @@ import javax.inject.Inject; import javax.swing.SwingUtilities; import net.runelite.api.Client; +import net.runelite.api.GameState; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; import net.runelite.api.ScriptID; @@ -139,7 +140,10 @@ protected void startUp() .run(); } - limitsChanged(); + if (client.getGameState().getState() >= GameState.LOGGED_IN.getState()) + { + limitsChanged(); + } }); } From 51f9da82a11c16695a4be6e98ad9d74f5296c52d Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 7 Jan 2026 16:01:30 -0700 Subject: [PATCH 05/17] objectindicators: fix startup race --- .../plugins/objectindicators/ObjectIndicatorsPlugin.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java index 4acd0053c5a..9e7b89204fd 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/objectindicators/ObjectIndicatorsPlugin.java @@ -211,6 +211,11 @@ private void loadPoints() points.clear(); WorldView wv = client.getTopLevelWorldView(); + if (wv == null) + { + return; + } + loadPoints(wv); for (WorldEntity we : wv.worldEntities()) From e458fe0e0c368544ef9032a21fccbdc8d67e4014 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 7 Jan 2026 17:10:09 -0700 Subject: [PATCH 06/17] worldhopper: fix startup race --- .../client/plugins/worldhopper/WorldHopperPlugin.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java index bf330c3c01e..2fd3b50a10c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldHopperPlugin.java @@ -505,8 +505,14 @@ private void updateList() { clientThread.invokeLater(() -> { - var locationEnum = client.getGameState().getState() >= GameState.LOGIN_SCREEN.getState() ? client.getEnum(EnumID.WORLD_LOCATIONS) : null; + if (client.getGameState().getState() < GameState.LOGIN_SCREEN.getState()) + { + return false; + } + + var locationEnum = client.getEnum(EnumID.WORLD_LOCATIONS); SwingUtilities.invokeLater(() -> panel.populate(worldResult.getWorlds(), locationEnum)); + return true; }); } } From 0be781bab1e13c583ca620d7006a2615f24eb5f2 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 9 Jan 2026 01:08:53 -0700 Subject: [PATCH 07/17] api: remove Player::getPolygons This was implemented wrong and impossible to use correctly --- runelite-api/src/main/java/net/runelite/api/Player.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Player.java b/runelite-api/src/main/java/net/runelite/api/Player.java index 5771c500d83..fdd2e252bf2 100644 --- a/runelite-api/src/main/java/net/runelite/api/Player.java +++ b/runelite-api/src/main/java/net/runelite/api/Player.java @@ -24,7 +24,6 @@ */ package net.runelite.api; -import java.awt.Polygon; import org.intellij.lang.annotations.MagicConstant; /** @@ -49,13 +48,6 @@ public interface Player extends Actor */ PlayerComposition getPlayerComposition(); - /** - * Gets the polygons that make up the players model. - * - * @return the model polygons - */ - Polygon[] getPolygons(); - /** * Gets the current team cape team number the player is on. * From 641e835535cc546d4618581d14283c62f3dfae35 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 11 Jan 2026 21:03:06 -0500 Subject: [PATCH 08/17] worldhopper: exclude pvp worlds from high risk filter --- .../runelite/client/plugins/worldhopper/WorldTypeFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTypeFilter.java b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTypeFilter.java index 6972a1c1d46..ad96367b214 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTypeFilter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/WorldTypeFilter.java @@ -94,7 +94,7 @@ boolean matches(Set types) @Override boolean matches(Set types) { - return types.contains(WorldType.HIGH_RISK); + return types.contains(WorldType.HIGH_RISK) && !types.contains(WorldType.PVP); } }, BOUNTY_HUNTER From f2e65dced74525a26a6b067c2584b727fcd40d7a Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 14 Jan 2026 11:33:05 +0000 Subject: [PATCH 09/17] Update Legacy ID classes to 2026-01-14-rev235 --- .../java/net/runelite/api/NullObjectID.java | 21 +++++ .../main/java/net/runelite/api/ObjectID.java | 84 +++++++++---------- 2 files changed, 63 insertions(+), 42 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 0e5785ece2c..b5f2a80654a 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -31131,6 +31131,27 @@ public final class NullObjectID public static final int NULL_60237 = 60237; public static final int NULL_60238 = 60238; public static final int NULL_60239 = 60239; + public static final int NULL_60245 = 60245; + public static final int NULL_60247 = 60247; + public static final int NULL_60249 = 60249; + public static final int NULL_60251 = 60251; + public static final int NULL_60253 = 60253; + public static final int NULL_60255 = 60255; + public static final int NULL_60257 = 60257; + public static final int NULL_60259 = 60259; + public static final int NULL_60261 = 60261; + public static final int NULL_60263 = 60263; + public static final int NULL_60265 = 60265; + public static final int NULL_60267 = 60267; + public static final int NULL_60269 = 60269; + public static final int NULL_60271 = 60271; + public static final int NULL_60273 = 60273; + public static final int NULL_60275 = 60275; + public static final int NULL_60277 = 60277; + public static final int NULL_60279 = 60279; + public static final int NULL_60281 = 60281; + public static final int NULL_60283 = 60283; + public static final int NULL_60285 = 60285; public static final int NULL_60311 = 60311; public static final int NULL_60322 = 60322; public static final int NULL_60323 = 60323; diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 1da3f2b02ec..8ae481ec36a 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -29107,48 +29107,6 @@ public final class ObjectID public static final int HELM_60242 = 60242; public static final int SAILS_60243 = 60243; public static final int SAILS_60244 = 60244; - public static final int BASIC_CARGO_HOLD = 60245; - public static final int BASIC_CARGO_HOLD_60246 = 60246; - public static final int OAK_CARGO_HOLD = 60247; - public static final int OAK_CARGO_HOLD_60248 = 60248; - public static final int TEAK_CARGO_HOLD = 60249; - public static final int TEAK_CARGO_HOLD_60250 = 60250; - public static final int MAHOGANY_CARGO_HOLD = 60251; - public static final int MAHOGANY_CARGO_HOLD_60252 = 60252; - public static final int CAMPHOR_CARGO_HOLD = 60253; - public static final int CAMPHOR_CARGO_HOLD_60254 = 60254; - public static final int IRONWOOD_CARGO_HOLD = 60255; - public static final int IRONWOOD_CARGO_HOLD_60256 = 60256; - public static final int ROSEWOOD_CARGO_HOLD = 60257; - public static final int ROSEWOOD_CARGO_HOLD_60258 = 60258; - public static final int BASIC_CARGO_HOLD_60259 = 60259; - public static final int BASIC_CARGO_HOLD_60260 = 60260; - public static final int OAK_CARGO_HOLD_60261 = 60261; - public static final int OAK_CARGO_HOLD_60262 = 60262; - public static final int TEAK_CARGO_HOLD_60263 = 60263; - public static final int TEAK_CARGO_HOLD_60264 = 60264; - public static final int MAHOGANY_CARGO_HOLD_60265 = 60265; - public static final int MAHOGANY_CARGO_HOLD_60266 = 60266; - public static final int CAMPHOR_CARGO_HOLD_60267 = 60267; - public static final int CAMPHOR_CARGO_HOLD_60268 = 60268; - public static final int IRONWOOD_CARGO_HOLD_60269 = 60269; - public static final int IRONWOOD_CARGO_HOLD_60270 = 60270; - public static final int ROSEWOOD_CARGO_HOLD_60271 = 60271; - public static final int ROSEWOOD_CARGO_HOLD_60272 = 60272; - public static final int BASIC_CARGO_HOLD_60273 = 60273; - public static final int BASIC_CARGO_HOLD_60274 = 60274; - public static final int OAK_CARGO_HOLD_60275 = 60275; - public static final int OAK_CARGO_HOLD_60276 = 60276; - public static final int TEAK_CARGO_HOLD_60277 = 60277; - public static final int TEAK_CARGO_HOLD_60278 = 60278; - public static final int MAHOGANY_CARGO_HOLD_60279 = 60279; - public static final int MAHOGANY_CARGO_HOLD_60280 = 60280; - public static final int CAMPHOR_CARGO_HOLD_60281 = 60281; - public static final int CAMPHOR_CARGO_HOLD_60282 = 60282; - public static final int IRONWOOD_CARGO_HOLD_60283 = 60283; - public static final int IRONWOOD_CARGO_HOLD_60284 = 60284; - public static final int ROSEWOOD_CARGO_HOLD_60285 = 60285; - public static final int ROSEWOOD_CARGO_HOLD_60286 = 60286; public static final int NOTICE_BOARD_60287 = 60287; public static final int NOTICE_BOARD_60288 = 60288; public static final int NOTICE_BOARD_60289 = 60289; @@ -29284,18 +29242,37 @@ public final class ObjectID public static final int HAROLD = 60574; public static final int TENTACLE_60575 = 60575; public static final int TABLE_60576 = 60576; + public static final int BASIC_CARGO_HOLD = 60577; public static final int TABLE_60578 = 60578; public static final int TABLE_60579 = 60579; public static final int TABLE_60580 = 60580; + public static final int BASIC_CARGO_HOLD_60581 = 60581; + public static final int OAK_CARGO_HOLD = 60582; + public static final int OAK_CARGO_HOLD_60583 = 60583; + public static final int TEAK_CARGO_HOLD = 60584; public static final int BAR_60585 = 60585; + public static final int TEAK_CARGO_HOLD_60586 = 60586; public static final int BAR_60587 = 60587; + public static final int MAHOGANY_CARGO_HOLD = 60588; public static final int BAR_60589 = 60589; + public static final int MAHOGANY_CARGO_HOLD_60590 = 60590; public static final int BAR_60591 = 60591; + public static final int CAMPHOR_CARGO_HOLD = 60592; public static final int BAR_60593 = 60593; + public static final int CAMPHOR_CARGO_HOLD_60594 = 60594; public static final int BAR_60595 = 60595; + public static final int IRONWOOD_CARGO_HOLD = 60596; public static final int BAR_60597 = 60597; + public static final int IRONWOOD_CARGO_HOLD_60598 = 60598; public static final int BAR_60599 = 60599; public static final int BAR_60600 = 60600; + public static final int ROSEWOOD_CARGO_HOLD = 60601; + public static final int ROSEWOOD_CARGO_HOLD_60602 = 60602; + public static final int BASIC_CARGO_HOLD_60603 = 60603; + public static final int BASIC_CARGO_HOLD_60604 = 60604; + public static final int OAK_CARGO_HOLD_60605 = 60605; + public static final int OAK_CARGO_HOLD_60606 = 60606; + public static final int TEAK_CARGO_HOLD_60607 = 60607; public static final int CRATE_60608 = 60608; public static final int CRATE_60609 = 60609; public static final int CRATE_60610 = 60610; @@ -29305,5 +29282,28 @@ public final class ObjectID public static final int CRATE_60614 = 60614; public static final int SNOWBALL_PILE_60616 = 60616; public static final int SHELLBANE_GRYPHON_DISPLAY = 60619; + public static final int TEAK_CARGO_HOLD_60620 = 60620; + public static final int MAHOGANY_CARGO_HOLD_60621 = 60621; + public static final int MAHOGANY_CARGO_HOLD_60622 = 60622; + public static final int CAMPHOR_CARGO_HOLD_60623 = 60623; + public static final int CAMPHOR_CARGO_HOLD_60624 = 60624; + public static final int IRONWOOD_CARGO_HOLD_60625 = 60625; + public static final int IRONWOOD_CARGO_HOLD_60626 = 60626; + public static final int ROSEWOOD_CARGO_HOLD_60627 = 60627; + public static final int ROSEWOOD_CARGO_HOLD_60628 = 60628; + public static final int BASIC_CARGO_HOLD_60629 = 60629; + public static final int BASIC_CARGO_HOLD_60630 = 60630; + public static final int OAK_CARGO_HOLD_60631 = 60631; + public static final int OAK_CARGO_HOLD_60632 = 60632; + public static final int TEAK_CARGO_HOLD_60633 = 60633; + public static final int TEAK_CARGO_HOLD_60634 = 60634; + public static final int MAHOGANY_CARGO_HOLD_60635 = 60635; + public static final int MAHOGANY_CARGO_HOLD_60636 = 60636; + public static final int CAMPHOR_CARGO_HOLD_60637 = 60637; + public static final int CAMPHOR_CARGO_HOLD_60638 = 60638; + public static final int IRONWOOD_CARGO_HOLD_60639 = 60639; + public static final int IRONWOOD_CARGO_HOLD_60640 = 60640; + public static final int ROSEWOOD_CARGO_HOLD_60641 = 60641; + public static final int ROSEWOOD_CARGO_HOLD_60642 = 60642; /* This file is automatically generated. Do not edit. */ } From 993b4a4aed5e43bcd646a81d23101e8faf70ebeb Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Wed, 14 Jan 2026 11:33:29 +0000 Subject: [PATCH 10/17] Update GameVals to 2026-01-14-rev235 --- .../net/runelite/api/gameval/DBTableID.java | 164 ++++++- .../net/runelite/api/gameval/InterfaceID.java | 87 ++-- .../net/runelite/api/gameval/ObjectID1.java | 399 +++++++++--------- .../net/runelite/api/gameval/SpriteID.java | 8 + .../net/runelite/api/gameval/VarClientID.java | 1 + .../net/runelite/api/gameval/VarPlayerID.java | 1 + .../net/runelite/api/gameval/VarbitID.java | 3 + 7 files changed, 429 insertions(+), 234 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java index 14d81d5e9d8..d271e0153f0 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/DBTableID.java @@ -164,45 +164,50 @@ public static final class Quest */ public static final int COL_SPEEDRUN = 31; + /** + * (stat, integer) + */ + public static final int COL_STAT_XP_AWARDED = 33; + /** * integer */ - public static final int COL_PREREQUISITE_DIRECT = 33; + public static final int COL_PREREQUISITE_DIRECT = 34; /** * integer */ - public static final int COL_PREREQUISITE_INDIRECT = 34; + public static final int COL_PREREQUISITE_INDIRECT = 35; /** * integer */ - public static final int COL_FTUE_STARTER = 35; + public static final int COL_FTUE_STARTER = 36; /** * boolean */ - public static final int COL_CR_CAN_RECOMMEND = 36; + public static final int COL_CR_CAN_RECOMMEND = 37; /** * integer */ - public static final int COL_CR_EXPERIENCE_PROFILE = 37; + public static final int COL_CR_EXPERIENCE_PROFILE = 38; /** * string */ - public static final int COL_CR_RECOMMENDATION_REASON = 38; + public static final int COL_CR_RECOMMENDATION_REASON = 39; /** * boolean */ - public static final int COL_CR_RECOMMENDATION_REASON_IS_PRIMARY = 39; + public static final int COL_CR_RECOMMENDATION_REASON_IS_PRIMARY = 40; /** * integer */ - public static final int COL_RELATED_CONTENT = 47; + public static final int COL_RELATED_CONTENT = 48; public static final class Row { @@ -15927,5 +15932,148 @@ public static final class Row public static final int PATCHY_DATA_DARK_FLIPPERS = 9462; } } + + public static final class SkillGuideV2InlineIcon + { + public static final int ID = 209; + + /** + * integer + */ + public static final int COL_ID = 0; + + /** + * graphic + */ + public static final int COL_GRAPHIC = 1; + + /** + * (integer, integer) + */ + public static final int COL_SIZE = 2; + + /** + * (integer, integer) + */ + public static final int COL_OFFSET = 3; + + /** + * (integer, integer) + */ + public static final int COL_MARGIN = 4; + + public static final class Row + { + public static final int SKILL_GUIDE_V2_ICON_ATTACK = 9463; + public static final int SKILL_GUIDE_V2_ICON_STRENGTH = 9464; + public static final int SKILL_GUIDE_V2_ICON_DEFENCE = 9465; + public static final int SKILL_GUIDE_V2_ICON_RANGED = 9466; + public static final int SKILL_GUIDE_V2_ICON_PRAYER = 9467; + public static final int SKILL_GUIDE_V2_ICON_MAGIC = 9468; + public static final int SKILL_GUIDE_V2_ICON_RUNECRAFT = 9469; + public static final int SKILL_GUIDE_V2_ICON_HITPOINTS = 9470; + public static final int SKILL_GUIDE_V2_ICON_AGILITY = 9471; + public static final int SKILL_GUIDE_V2_ICON_HERBLORE = 9472; + public static final int SKILL_GUIDE_V2_ICON_THIEVING = 9473; + public static final int SKILL_GUIDE_V2_ICON_CRAFTING = 9474; + public static final int SKILL_GUIDE_V2_ICON_FLETCHING = 9475; + public static final int SKILL_GUIDE_V2_ICON_MINING = 9476; + public static final int SKILL_GUIDE_V2_ICON_SMITHING = 9477; + public static final int SKILL_GUIDE_V2_ICON_FISHING = 9478; + public static final int SKILL_GUIDE_V2_ICON_COOKING = 9479; + public static final int SKILL_GUIDE_V2_ICON_FIREMAKING = 9480; + public static final int SKILL_GUIDE_V2_ICON_WOODCUTTING = 9481; + public static final int SKILL_GUIDE_V2_ICON_SLAYER = 9482; + public static final int SKILL_GUIDE_V2_ICON_FARMING = 9483; + public static final int SKILL_GUIDE_V2_ICON_CONSTRUCTION = 9484; + public static final int SKILL_GUIDE_V2_ICON_HUNTER = 9485; + public static final int SKILL_GUIDE_V2_ICON_SAILING = 9486; + public static final int SKILL_GUIDE_V2_ICON_MAP_AGILITY_SHORTCUT = 9487; + public static final int SKILL_GUIDE_V2_ICON_MAP_ALTAR = 9488; + public static final int SKILL_GUIDE_V2_ICON_MAP_ANVIL = 9489; + public static final int SKILL_GUIDE_V2_ICON_MAP_ARCHERY_SHOP = 9490; + public static final int SKILL_GUIDE_V2_ICON_MAP_AXE_SHOP = 9491; + public static final int SKILL_GUIDE_V2_ICON_MAP_BANK = 9492; + public static final int SKILL_GUIDE_V2_ICON_MAP_CLOTHES_SHOP = 9493; + public static final int SKILL_GUIDE_V2_ICON_MAP_COOKING_RANGE = 9494; + public static final int SKILL_GUIDE_V2_ICON_MAP_CRAFTING_SHOP = 9495; + public static final int SKILL_GUIDE_V2_ICON_MAP_ESTATE_AGENT = 9496; + public static final int SKILL_GUIDE_V2_ICON_MAP_FARMING_PATCH = 9497; + public static final int SKILL_GUIDE_V2_ICON_MAP_FARMING_SHOP = 9498; + public static final int SKILL_GUIDE_V2_ICON_MAP_FISHING_SHOP = 9499; + public static final int SKILL_GUIDE_V2_ICON_MAP_FISHING_SPOT = 9500; + public static final int SKILL_GUIDE_V2_ICON_MAP_FURNACE = 9501; + public static final int SKILL_GUIDE_V2_ICON_MAP_GENERAL_STORE = 9502; + public static final int SKILL_GUIDE_V2_ICON_MAP_GRAND_EXCHANGE = 9503; + public static final int SKILL_GUIDE_V2_ICON_MAP_HELMET_SHOP = 9504; + public static final int SKILL_GUIDE_V2_ICON_MAP_HERBALIST = 9505; + public static final int SKILL_GUIDE_V2_ICON_MAP_HUNTER_STORE = 9506; + public static final int SKILL_GUIDE_V2_ICON_MAP_LOOM = 9507; + public static final int SKILL_GUIDE_V2_ICON_MAP_MAGIC_SHOP = 9508; + public static final int SKILL_GUIDE_V2_ICON_MAP_MINING_SHOP = 9509; + public static final int SKILL_GUIDE_V2_ICON_MAP_MINING_SITE = 9510; + public static final int SKILL_GUIDE_V2_ICON_MAP_PLATEBODY_SHOP = 9511; + public static final int SKILL_GUIDE_V2_ICON_MAP_PLATELEGS_SHOP = 9512; + public static final int SKILL_GUIDE_V2_ICON_MAP_PLATESKIRT_SHOP = 9513; + public static final int SKILL_GUIDE_V2_ICON_MAP_POH_PORTAL = 9514; + public static final int SKILL_GUIDE_V2_ICON_MAP_POTTERY_WHEEL = 9515; + public static final int SKILL_GUIDE_V2_ICON_MAP_RARE_TREES = 9516; + public static final int SKILL_GUIDE_V2_ICON_MAP_SAWMILL = 9517; + public static final int SKILL_GUIDE_V2_ICON_MAP_SWORD_SHOP = 9518; + public static final int SKILL_GUIDE_V2_ICON_MAP_SCIMITAR_SHOP = 9519; + public static final int SKILL_GUIDE_V2_ICON_MAP_SLAYER_MASTER = 9520; + public static final int SKILL_GUIDE_V2_ICON_MAP_SPINNING_WHEEL = 9521; + public static final int SKILL_GUIDE_V2_ICON_MAP_STAFF_SHOP = 9522; + public static final int SKILL_GUIDE_V2_ICON_MAP_TANNERY = 9523; + public static final int SKILL_GUIDE_V2_ICON_MAP_WATER_SOURCE = 9524; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_TUTOR_MINING = 9525; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_TUTOR_FISHING = 9526; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_TUTOR_WOODCUTTING = 9527; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_TUTOR_HUNTER = 9528; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_TUTOR_COMBAT = 9529; + public static final int SKILL_GUIDE_V2_ICON_MAP_ICON_GARDEN_SUPPLIER = 9530; + public static final int SKILL_GUIDE_V2_ICON_MAP_FORESTRY_SHOP = 9531; + public static final int SKILL_GUIDE_V2_ICON_MAP_AGILITY_TRAINING = 9532; + public static final int SKILL_GUIDE_V2_ICON_MAP_PORT_TASK_BOARD = 9533; + public static final int SKILL_GUIDE_V2_ICON_MAP_SALVAGING_SPOT = 9534; + public static final int SKILL_GUIDE_V2_ICON_MAP_BARRACUDA_TRIAL = 9535; + public static final int SKILL_GUIDE_V2_ICON_MAP_FISHING_SHOAL = 9536; + public static final int SKILL_GUIDE_V2_ICON_MAP_SHIPWRIGHT = 9537; + public static final int SKILL_GUIDE_V2_ICON_MAP_DOCKING_POINT = 9538; + public static final int SKILL_GUIDE_V2_ICON_MAP_CREW_REGISTRAR = 9539; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_MISS = 9540; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_DAMAGE = 9541; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_MAXHIT = 9542; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_HEAL = 9543; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_POISON = 9544; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_DISEASE_HEALTH = 9545; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_DISEASE_STAT = 9546; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_VENOM = 9547; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_SHIELD = 9548; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_ARMOUR = 9549; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_CHARGE = 9550; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_UNCHARGE = 9551; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_CORRUPTION = 9552; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_DODGE = 9553; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_CHARGE_BLUE = 9554; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_UNCHARGE_BLUE = 9555; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_POISE = 9556; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_PRAYER_DRAIN = 9557; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_BLEED = 9558; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_SANITY_LOSE = 9559; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_SANITY_GAIN = 9560; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_DOOM = 9561; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_BURN = 9562; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_COLD = 9563; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_CORROSION = 9564; + public static final int SKILL_GUIDE_V2_ICON_HITMARK_BOAT = 9565; + public static final int SKILL_GUIDE_V2_ICON_COMBAT = 9566; + public static final int SKILL_GUIDE_V2_ICON_SPELLBOOK = 9567; + public static final int SKILL_GUIDE_V2_ICON_WIKI = 9568; + public static final int SKILL_GUIDE_V2_ICON_QUEST = 9569; + public static final int SKILL_GUIDE_V2_ICON_SAILING_OPTIONS = 9570; + public static final int SKILL_GUIDE_V2_ICON_CAPTAINS_LOG = 9571; + } + } /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java index 55aabdf8fe7..29cdb27ccd6 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/InterfaceID.java @@ -28611,9 +28611,21 @@ public static final class SkillGuideV2 public static final int CONTENT = 0x035c_0005; public static final int TAB_CONTENT = 0x035c_0006; public static final int TABS = 0x035c_0007; - public static final int LIST = 0x035c_0008; - public static final int LIST_BORDER = 0x035c_0009; - public static final int LIST_SCROLLER = 0x035c_000a; + public static final int OVERVIEW = 0x035c_0008; + public static final int OVERVIEW_BORDER = 0x035c_0009; + public static final int OVERVIEW_TABS = 0x035c_000a; + public static final int OVERVIEW_CONTENT = 0x035c_000b; + public static final int OVERVIEW_CONTENT_RIGHT_BORDER_OUTER = 0x035c_000c; + public static final int OVERVIEW_CONTENT_RIGHT_BORDER_INNER = 0x035c_000d; + public static final int OVERVIEW_CONTENT_1 = 0x035c_000e; + public static final int OVERVIEW_CONTENT_2 = 0x035c_000f; + public static final int OVERVIEW_SCROLLBAR = 0x035c_0010; + public static final int QUEST_JOURNAL_BUTTON_TRIGGER = 0x035c_0011; + public static final int SKILL_GUIDE_BUTTON_TRIGGER = 0x035c_0012; + public static final int GUIDE_DATA = 0x035c_0013; + public static final int LIST_BORDER = 0x035c_0014; + public static final int LIST = 0x035c_0015; + public static final int LIST_SCROLLER = 0x035c_0016; } public static final class BondMain @@ -30281,40 +30293,41 @@ public static final class EventRewards public static final class Ballot { public static final int UNIVERSE = 0x03a0_0000; - public static final int CONTENT = 0x03a0_0001; - public static final int FRAME = 0x03a0_0002; - public static final int CLOSE = 0x03a0_0003; - public static final int ROOT_LIST = 0x03a0_0004; - public static final int LIST_FILTERS = 0x03a0_0005; - public static final int LIST_YEARS_CONTAINER = 0x03a0_0006; - public static final int LIST_YEARS_SCROLLBAR = 0x03a0_0007; - public static final int LIST_YEARS_CONTENT = 0x03a0_0008; - public static final int LIST_BOX = 0x03a0_0009; - public static final int LIST = 0x03a0_000a; - public static final int LIST_SCROLLBAR = 0x03a0_000b; - public static final int ROOT_OVERVIEW = 0x03a0_000c; - public static final int OVERVIEW_SCROLLING = 0x03a0_000d; - public static final int OVERVIEW_BACKGROUNDS = 0x03a0_000e; - public static final int OVERVIEW_CONTENTS = 0x03a0_000f; - public static final int OVERVIEW_SCROLLBAR = 0x03a0_0010; - public static final int EXIT_OVERVIEW = 0x03a0_0011; - public static final int ROOT_VOTING = 0x03a0_0012; - public static final int VOTING = 0x03a0_0013; - public static final int VOTING_SCROLLBAR = 0x03a0_0014; - public static final int SINGLE_CHOICE = 0x03a0_0015; - public static final int MULTIPLE_CHOICE = 0x03a0_0016; - public static final int TEXT = 0x03a0_0017; - public static final int MATRIX = 0x03a0_0018; - public static final int RANKED = 0x03a0_0019; - public static final int EXIT_VOTING = 0x03a0_001a; - public static final int LOADING_CONTAINER = 0x03a0_001b; - public static final int LOADING_ICON = 0x03a0_001c; - public static final int POPUP_CONTAINER = 0x03a0_001d; - public static final int POPUP_CONTAINER_RECT0 = 0x03a0_001e; - public static final int POPUP_WINDOW = 0x03a0_001f; - public static final int POPUP_FRAME = 0x03a0_0020; - public static final int POPUP_DISMISS = 0x03a0_0021; - public static final int POPUP_OTHER = 0x03a0_0022; + public static final int DODGER = 0x03a0_0001; + public static final int CONTENT = 0x03a0_0002; + public static final int FRAME = 0x03a0_0003; + public static final int CLOSE = 0x03a0_0004; + public static final int ROOT_LIST = 0x03a0_0005; + public static final int LIST_FILTERS = 0x03a0_0006; + public static final int LIST_YEARS_CONTAINER = 0x03a0_0007; + public static final int LIST_YEARS_SCROLLBAR = 0x03a0_0008; + public static final int LIST_YEARS_CONTENT = 0x03a0_0009; + public static final int LIST_BOX = 0x03a0_000a; + public static final int LIST = 0x03a0_000b; + public static final int LIST_SCROLLBAR = 0x03a0_000c; + public static final int ROOT_OVERVIEW = 0x03a0_000d; + public static final int OVERVIEW_SCROLLING = 0x03a0_000e; + public static final int OVERVIEW_BACKGROUNDS = 0x03a0_000f; + public static final int OVERVIEW_CONTENTS = 0x03a0_0010; + public static final int OVERVIEW_SCROLLBAR = 0x03a0_0011; + public static final int EXIT_OVERVIEW = 0x03a0_0012; + public static final int ROOT_VOTING = 0x03a0_0013; + public static final int VOTING = 0x03a0_0014; + public static final int VOTING_SCROLLBAR = 0x03a0_0015; + public static final int SINGLE_CHOICE = 0x03a0_0016; + public static final int MULTIPLE_CHOICE = 0x03a0_0017; + public static final int TEXT = 0x03a0_0018; + public static final int MATRIX = 0x03a0_0019; + public static final int RANKED = 0x03a0_001a; + public static final int EXIT_VOTING = 0x03a0_001b; + public static final int LOADING_CONTAINER = 0x03a0_001c; + public static final int LOADING_ICON = 0x03a0_001d; + public static final int POPUP_CONTAINER = 0x03a0_001e; + public static final int POPUP_CONTAINER_RECT0 = 0x03a0_001f; + public static final int POPUP_WINDOW = 0x03a0_0020; + public static final int POPUP_FRAME = 0x03a0_0021; + public static final int POPUP_DISMISS = 0x03a0_0022; + public static final int POPUP_OTHER = 0x03a0_0023; } public static final class TutorialPlayerExperience diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java index df8892a2d75..2c6e4992854 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/ObjectID1.java @@ -76853,217 +76853,28 @@ class ObjectID1 * Sails */ public static final int SAILING_NPC_BOAT_BASIC_MEDIUM_SAIL = 60244; - - /** - * Basic cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT = 60245; - - /** - * Basic cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT_OPEN = 60246; - - /** - * Oak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_OAK_RAFT = 60247; - - /** - * Oak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_OAK_RAFT_OPEN = 60248; - - /** - * Teak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_TEAK_RAFT = 60249; - - /** - * Teak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_TEAK_RAFT_OPEN = 60250; - - /** - * Mahogany cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT = 60251; - - /** - * Mahogany cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT_OPEN = 60252; - - /** - * Camphor cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT = 60253; - - /** - * Camphor cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT_OPEN = 60254; - - /** - * Ironwood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT = 60255; - - /** - * Ironwood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT_OPEN = 60256; - - /** - * Rosewood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT = 60257; - - /** - * Rosewood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT_OPEN = 60258; - - /** - * Basic cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_2X5 = 60259; - - /** - * Basic cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_2X5_OPEN = 60260; - - /** - * Oak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_OAK_2X5 = 60261; - - /** - * Oak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_OAK_2X5_OPEN = 60262; - - /** - * Teak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_TEAK_2X5 = 60263; - - /** - * Teak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_TEAK_2X5_OPEN = 60264; - - /** - * Mahogany cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5 = 60265; - - /** - * Mahogany cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5_OPEN = 60266; - - /** - * Camphor cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5 = 60267; - - /** - * Camphor cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5_OPEN = 60268; - - /** - * Ironwood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5 = 60269; - - /** - * Ironwood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5_OPEN = 60270; - - /** - * Rosewood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5 = 60271; - - /** - * Rosewood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5_OPEN = 60272; - - /** - * Basic cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE = 60273; - - /** - * Basic cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE_OPEN = 60274; - - /** - * Oak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_OAK_LARGE = 60275; - - /** - * Oak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_OAK_LARGE_OPEN = 60276; - - /** - * Teak cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_TEAK_LARGE = 60277; - - /** - * Teak cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_TEAK_LARGE_OPEN = 60278; - - /** - * Mahogany cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE = 60279; - - /** - * Mahogany cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE_OPEN = 60280; - - /** - * Camphor cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE = 60281; - - /** - * Camphor cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE_OPEN = 60282; - - /** - * Ironwood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE = 60283; - - /** - * Ironwood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE_OPEN = 60284; - - /** - * Rosewood cargo hold - */ public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE = 60285; - /** - * Rosewood cargo hold - */ - public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE_OPEN = 60286; - /** * Notice board */ @@ -77894,6 +77705,11 @@ class ObjectID1 */ public static final int XMAS25_TABLE01_EMPTY01 = 60576; + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT_NO_CARGO = 60577; + /** * Table */ @@ -77909,41 +77725,96 @@ class ObjectID1 */ public static final int XMAS25_TABLE01_VEGETABLE01 = 60580; + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT_CARGO = 60581; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_RAFT_NO_CARGO = 60582; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_RAFT_CARGO = 60583; + + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_RAFT_NO_CARGO = 60584; + /** * Bar */ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE = 60585; + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_RAFT_CARGO = 60586; + /** * Bar */ public static final int XMAS25_BLUE_INN_DRINKS_BAR_MIDDLE2 = 60587; + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT_NO_CARGO = 60588; + /** * Bar */ public static final int XMAS25_BLUE_INN_DRINKS_BAR_LEFT = 60589; + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT_CARGO = 60590; + /** * Bar */ public static final int XMAS25_BLUE_INN_DRINKS_BAR_RIGHT = 60591; + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT_NO_CARGO = 60592; + /** * Bar */ public static final int XMAS25_BLUE_INN_BAR_MIDDLE = 60593; + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT_CARGO = 60594; + /** * Bar */ public static final int XMAS25_BLUE_INN_BAR_MIDDLE2 = 60595; + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT_NO_CARGO = 60596; + /** * Bar */ public static final int XMAS25_BLUE_INN_BAR_MIDDLE3 = 60597; + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT_CARGO = 60598; + /** * Bar */ @@ -77954,6 +77825,41 @@ class ObjectID1 */ public static final int XMAS25_BLUE_INN_BAR_RIGHT = 60600; + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT_NO_CARGO = 60601; + + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT_CARGO = 60602; + + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_2X5_NO_CARGO = 60603; + + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_2X5_CARGO = 60604; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_2X5_NO_CARGO = 60605; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_2X5_CARGO = 60606; + + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_2X5_NO_CARGO = 60607; + /** * Crate */ @@ -78001,5 +77907,120 @@ class ObjectID1 * Shellbane Gryphon display */ public static final int POH_DISPLAY_GRYPHON = 60619; + + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_2X5_CARGO = 60620; + + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5_NO_CARGO = 60621; + + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5_CARGO = 60622; + + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5_NO_CARGO = 60623; + + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5_CARGO = 60624; + + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5_NO_CARGO = 60625; + + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5_CARGO = 60626; + + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5_NO_CARGO = 60627; + + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5_CARGO = 60628; + + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE_NO_CARGO = 60629; + + /** + * Basic cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE_CARGO = 60630; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_LARGE_NO_CARGO = 60631; + + /** + * Oak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_OAK_LARGE_CARGO = 60632; + + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_LARGE_NO_CARGO = 60633; + + /** + * Teak cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_TEAK_LARGE_CARGO = 60634; + + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE_NO_CARGO = 60635; + + /** + * Mahogany cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE_CARGO = 60636; + + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE_NO_CARGO = 60637; + + /** + * Camphor cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE_CARGO = 60638; + + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE_NO_CARGO = 60639; + + /** + * Ironwood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE_CARGO = 60640; + + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE_NO_CARGO = 60641; + + /** + * Rosewood cargo hold + */ + public static final int SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE_CARGO = 60642; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java index 1df419c3d6f..df52b04de05 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/SpriteID.java @@ -6702,6 +6702,7 @@ public static final class AccountIcons public static final int _2 = 3388; public static final int _3 = 3389; public static final int _4 = 3390; + public static final int _5 = 7318; } public static final class CaProgressBar @@ -10899,4 +10900,11 @@ public static final class HeadbarIce40 public static final int _0 = 6838; public static final int _1 = 6839; } + + public static final class Sideicons18x18 + { + public static final int _0 = 7319; + public static final int _1 = 7320; + public static final int _2 = 7321; + } } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java index ab09a0a779a..277e28bb7d7 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarClientID.java @@ -1349,5 +1349,6 @@ public final class VarClientID public static final int SAILING_LAST_BOAT_HP = 1342; public static final int SETTINGS_DEV_EXAMPLE_INT = 1343; public static final int FAIRYRINGS_SEARCHSTRING = 1344; + public static final int SKILL_GUIDE_V2_OVERVIEW_CURRENT_TAB = 1345; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java index d4115d0c0e3..de4e0b83b60 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarPlayerID.java @@ -2587,5 +2587,6 @@ public final class VarPlayerID public static final int XMAS_25_3 = 5216; public static final int COLLECTION_PERSONAL_BEST_TRANSMIT = 5217; public static final int COLLECTION_PERSONAL_BEST_TRANSMIT_2 = 5218; + public static final int ERNESTHANDIN = 5219; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java index 76cfbfc925a..52db5425f0a 100644 --- a/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java +++ b/runelite-api/src/main/java/net/runelite/api/gameval/VarbitID.java @@ -13877,5 +13877,8 @@ public final class VarbitID public static final int SETTINGS_FAIRYRING_MOBILE_KEYBOARD_AUTOOPEN_DISABLED = 19648; public static final int MY2ARM_STRONGHOLD_TELE_TOGGLE = 19649; public static final int SAILING_SIDEPANEL_BOAT_CRYSTALHELM_RESISTANCE = 19652; + public static final int DRAGONSLAYER_MET_SAWMILL = 19653; + public static final int DRAGONSLAYER_PLANKS_MADE = 19654; + public static final int ERNESTHANDIN_COMPLETE = 19655; /* This file is automatically generated. Do not edit. */ } From 938f61e2890767b48481e382251edd57cf1d446f Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 14 Jan 2026 17:29:46 -0500 Subject: [PATCH 11/17] gpu: optimize zsort memory use This reduces the memory use for the sorting arrays from 12.3mb to 40kb --- .../plugins/gpu/FacePrioritySorter.java | 78 +++++++++---------- .../net/runelite/client/plugins/gpu/Zone.java | 61 ++++++++------- 2 files changed, 69 insertions(+), 70 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/FacePrioritySorter.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/FacePrioritySorter.java index 553a4cb040e..7ac55e8dcb8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/FacePrioritySorter.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/FacePrioritySorter.java @@ -33,8 +33,7 @@ class FacePrioritySorter { static final int[] distances; - static final char[] distanceFaceCount; - static final char[][] distanceToFaces; + static final char[] zsortHead, zsortTail, zsortNext; private static final float[] modelProjectedX; private static final float[] modelProjectedY; @@ -53,16 +52,16 @@ class FacePrioritySorter static final int MAX_VERTEX_COUNT = 6500; static final int MAX_FACE_COUNT = 8192; // was 6500 - private static final int MAX_DIAMETER = 6000; - private static final int ZSORT_GROUP_SIZE = 1024; // was 512 + static final int MAX_DIAMETER = 6000; private static final int MAX_FACES_PER_PRIORITY = 4000; // was 2500 private static final int FACE_SIZE = (VAO.VERT_SIZE >> 2) * 3; static { distances = new int[MAX_VERTEX_COUNT]; - distanceFaceCount = new char[MAX_DIAMETER]; - distanceToFaces = new char[MAX_DIAMETER][ZSORT_GROUP_SIZE]; + zsortHead = new char[MAX_DIAMETER]; + zsortTail = new char[MAX_DIAMETER]; + zsortNext = new char[MAX_FACE_COUNT]; modelProjectedX = new float[MAX_VERTEX_COUNT]; modelProjectedY = new float[MAX_VERTEX_COUNT]; @@ -155,12 +154,13 @@ int uploadSortedModel(Projection proj, Model model, int orientation, int x, int final int diameter = model.getDiameter(); final int radius = model.getRadius(); - if (diameter >= 6000) + if (diameter >= MAX_DIAMETER) { return 0; } - Arrays.fill(distanceFaceCount, 0, diameter, (char) 0); + Arrays.fill(zsortHead, 0, diameter, (char) -1); + Arrays.fill(zsortTail, 0, diameter, (char) -1); int minFz = diameter, maxFz = 0; for (char faceIdx = 0; faceIdx < faceCount; ++faceIdx) @@ -183,7 +183,19 @@ int uploadSortedModel(Projection proj, Model model, int orientation, int x, int { int distance = radius + (distances[v1] + distances[v2] + distances[v3]) / 3; assert distance >= 0 && distance < diameter; - distanceToFaces[distance][distanceFaceCount[distance]++] = faceIdx; + + if (zsortTail[distance] == (char) -1) + { + zsortHead[distance] = zsortTail[distance] = faceIdx; + zsortNext[faceIdx] = (char) -1; + } + else + { + char lastFace = zsortTail[distance]; + zsortNext[lastFace] = faceIdx; + zsortNext[faceIdx] = (char) -1; + zsortTail[distance] = faceIdx; + } minFz = Math.min(minFz, distance); maxFz = Math.max(maxFz, distance); @@ -254,17 +266,10 @@ int uploadSortedModel(Projection proj, Model model, int orientation, int x, int { for (int i = maxFz; i >= minFz; --i) { - final int cnt = distanceFaceCount[i]; - if (cnt > 0) + for (char face = zsortHead[i]; face != (char) -1; face = zsortNext[face]) { - final char[] faces = distanceToFaces[i]; - - for (int faceIdx = 0; faceIdx < cnt; ++faceIdx) - { - final int face = faces[faceIdx]; - var b = transparencies != null && transparencies[face] != 0 ? alphaBuffer : opaqueBuffer; - b.put(vertexBuffer, face * FACE_SIZE, FACE_SIZE); - } + var b = transparencies != null && transparencies[face] != 0 ? alphaBuffer : opaqueBuffer; + b.put(vertexBuffer, face * FACE_SIZE, FACE_SIZE); } } } @@ -275,30 +280,23 @@ int uploadSortedModel(Projection proj, Model model, int orientation, int x, int for (int i = maxFz; i >= minFz; --i) { - final int cnt = distanceFaceCount[i]; - if (cnt > 0) + for (char face = zsortHead[i]; face != (char) -1; face = zsortNext[face]) { - final char[] faces = distanceToFaces[i]; + final byte pri = faceRenderPriorities[face]; + final int distIdx = numOfPriority[pri]++; - for (int faceIdx = 0; faceIdx < cnt; ++faceIdx) + orderedFaces[pri][distIdx] = face; + if (pri < 10) { - final int face = faces[faceIdx]; - final byte pri = faceRenderPriorities[face]; - final int distIdx = numOfPriority[pri]++; - - orderedFaces[pri][distIdx] = face; - if (pri < 10) - { - lt10[pri] += i; - } - else if (pri == 10) - { - eq10[distIdx] = i; - } - else - { - eq11[distIdx] = i; - } + lt10[pri] += i; + } + else if (pri == 10) + { + eq10[distIdx] = i; + } + else + { + eq11[distIdx] = i; } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/Zone.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/Zone.java index f8033eb183a..b3e77b14b48 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/Zone.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/Zone.java @@ -38,8 +38,10 @@ import net.runelite.api.Model; import net.runelite.api.Perspective; import net.runelite.api.Scene; -import static net.runelite.client.plugins.gpu.FacePrioritySorter.distanceFaceCount; -import static net.runelite.client.plugins.gpu.FacePrioritySorter.distanceToFaces; +import static net.runelite.client.plugins.gpu.FacePrioritySorter.MAX_DIAMETER; +import static net.runelite.client.plugins.gpu.FacePrioritySorter.zsortHead; +import static net.runelite.client.plugins.gpu.FacePrioritySorter.zsortNext; +import static net.runelite.client.plugins.gpu.FacePrioritySorter.zsortTail; import static net.runelite.client.plugins.gpu.GpuPlugin.uniBase; import org.lwjgl.BufferUtils; import static org.lwjgl.opengl.GL33C.*; @@ -594,14 +596,15 @@ void renderAlpha(int zx, int zz, int cyaw, int cpitch, int minLevel, int current final int radius = m.radius; int diameter = 1 + radius * 2; final int[] packedFaces = m.packedFaces; - if (diameter >= 6000) + if (diameter >= MAX_DIAMETER) { continue; } - Arrays.fill(distanceFaceCount, 0, diameter, (char) 0); + Arrays.fill(zsortHead, 0, diameter, (char) -1); + Arrays.fill(zsortTail, 0, diameter, (char) -1); - for (int i = 0; i < packedFaces.length; ++i) + for (char i = 0; i < packedFaces.length; ++i) { int pack = packedFaces[i]; @@ -614,7 +617,19 @@ void renderAlpha(int zx, int zz, int cyaw, int cpitch, int minLevel, int current fz += radius; assert fz >= 0 && fz < diameter : fz; - distanceToFaces[fz][distanceFaceCount[fz]++] = (char) i; + + if (zsortTail[fz] == (char) -1) + { + zsortHead[fz] = zsortTail[fz] = i; + zsortNext[i] = (char) -1; + } + else + { + char lastFace = zsortTail[fz]; + zsortNext[lastFace] = i; + zsortNext[i] = (char) -1; + zsortTail[fz] = i; + } } if (packedFaces.length * 3 > alphaElements.remaining()) @@ -634,20 +649,13 @@ void renderAlpha(int zx, int zz, int cyaw, int cpitch, int minLevel, int current { for (int i = diameter - 1; i >= 0; --i) { - final int cnt = distanceFaceCount[i]; - if (cnt > 0) + for (char face = zsortHead[i]; face != (char) -1; face = zsortNext[face]) { - final char[] faces = distanceToFaces[i]; - - for (int faceIdx = 0; faceIdx < cnt; ++faceIdx) - { - int face = faces[faceIdx]; - face *= 3; - face += start; - alphaElements.put(face++); - alphaElements.put(face++); - alphaElements.put(face++); - } + int faceIdx = face * 3; + faceIdx += start; + alphaElements.put(faceIdx++); + alphaElements.put(faceIdx++); + alphaElements.put(faceIdx++); } } } @@ -661,19 +669,12 @@ void renderAlpha(int zx, int zz, int cyaw, int cpitch, int minLevel, int current for (int i = diameter - 1; i >= 0; --i) { - final int cnt = distanceFaceCount[i]; - if (cnt > 0) + for (char face = zsortHead[i]; face != (char) -1; face = zsortNext[face]) { - final char[] faces = distanceToFaces[i]; - - for (int faceIdx = 0; faceIdx < cnt; ++faceIdx) - { - final int face = faces[faceIdx]; - final byte pri = faceRenderPriorities[face]; - final int distIdx = numOfPriority[pri]++; + final byte pri = faceRenderPriorities[face]; + final int distIdx = numOfPriority[pri]++; - orderedFaces[pri][distIdx] = face; - } + orderedFaces[pri][distIdx] = face; } } From cbec50992c8d150137196fc896e72c66e086cfa3 Mon Sep 17 00:00:00 2001 From: coopermor Date: Mon, 12 Jan 2026 12:18:22 -0800 Subject: [PATCH 12/17] itemcharges: Add sailing potions --- .../plugins/itemcharges/ItemWithCharge.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java index 213ff355fe7..2dfa06569fc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemWithCharge.java @@ -640,6 +640,30 @@ enum ItemWithCharge PRAYER_REGENERATION2(POTION, ItemID._2DOSE1PRAYER_REGENERATION, 2), PRAYER_REGENERATION3(POTION, ItemID._3DOSE1PRAYER_REGENERATION, 3), PRAYER_REGENERATION4(POTION, ItemID._4DOSE1PRAYER_REGENERATION, 4), + ARMA_BREW1(POTION, ItemID._1DOSEARMADYLBREW, 1), + ARMA_BREW2(POTION, ItemID._2DOSEARMADYLBREW, 2), + ARMA_BREW3(POTION, ItemID._3DOSEARMADYLBREW, 3), + ARMA_BREW4(POTION, ItemID._4DOSEARMADYLBREW, 4), + EXTENDED_STAM1(POTION, ItemID._1DOSE2STAMINA, 1), + EXTENDED_STAM2(POTION, ItemID._2DOSE2STAMINA, 2), + EXTENDED_STAM3(POTION, ItemID._3DOSE2STAMINA, 3), + EXTENDED_STAM4(POTION, ItemID._4DOSE2STAMINA, 4), + EXTREME_ENERGY1(POTION, ItemID._1DOSE3ENERGY, 1), + EXTREME_ENERGY2(POTION, ItemID._2DOSE3ENERGY, 2), + EXTREME_ENERGY3(POTION, ItemID._3DOSE3ENERGY, 3), + EXTREME_ENERGY4(POTION, ItemID._4DOSE3ENERGY, 4), + HAEMOSTATIC_DRESS1(POTION, ItemID._1DOSEHAEMOSTATICDRESSING, 1), + HAEMOSTATIC_DRESS2(POTION, ItemID._2DOSEHAEMOSTATICDRESSING, 2), + HAEMOSTATIC_DRESS3(POTION, ItemID._3DOSEHAEMOSTATICDRESSING, 3), + HAEMOSTATIC_DRESS4(POTION, ItemID._4DOSEHAEMOSTATICDRESSING, 4), + SUPER_FISHING1(POTION, ItemID._1DOSE2FISHERSPOTION, 1), + SUPER_FISHING2(POTION, ItemID._2DOSE2FISHERSPOTION, 2), + SUPER_FISHING3(POTION, ItemID._3DOSE2FISHERSPOTION, 3), + SUPER_FISHING4(POTION, ItemID._4DOSE2FISHERSPOTION, 4), + SUPER_HUNTER1(POTION, ItemID._1DOSE2HUNTING, 1), + SUPER_HUNTER2(POTION, ItemID._2DOSE2HUNTING, 2), + SUPER_HUNTER3(POTION, ItemID._3DOSE2HUNTING, 3), + SUPER_HUNTER4(POTION, ItemID._4DOSE2HUNTING, 4), ; private final ItemChargeType type; From f00d69abb7ac48766a1b4e894a3d22b614b3abea Mon Sep 17 00:00:00 2001 From: RuneLite updater Date: Thu, 15 Jan 2026 16:02:15 +0000 Subject: [PATCH 13/17] Release 1.12.12 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 05bd35665db..7f0cdabe80f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,6 +28,6 @@ org.gradle.parallel=true org.gradle.caching=false project.build.group=net.runelite -project.build.version=1.12.12-SNAPSHOT +project.build.version=1.12.12 glslang.path= From e5ece44c58f114ec8ca89552105722985ebf5ae9 Mon Sep 17 00:00:00 2001 From: RuneLite updater Date: Thu, 15 Jan 2026 16:02:17 +0000 Subject: [PATCH 14/17] Bump for 1.12.13-SNAPSHOT [ci skip] --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 7f0cdabe80f..5212f9783cd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,6 +28,6 @@ org.gradle.parallel=true org.gradle.caching=false project.build.group=net.runelite -project.build.version=1.12.12 +project.build.version=1.12.13-SNAPSHOT glslang.path= From ce83baadfbe6d63c81e5aa6bca6f01e89ad16813 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 16 Jan 2026 14:39:07 -0500 Subject: [PATCH 15/17] client: make processResources depend on project.version --- runelite-client/build.gradle.kts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-client/build.gradle.kts b/runelite-client/build.gradle.kts index 5e3ed32eefc..9e15e99a385 100644 --- a/runelite-client/build.gradle.kts +++ b/runelite-client/build.gradle.kts @@ -148,6 +148,8 @@ tasks.withType { } tasks.processResources { + inputs.property("projectVersion", project.version) + val commit = ByteArrayOutputStream() exec { commandLine("git", "rev-parse", "--short=7", "HEAD") From 63e5a165bfbe4a05820bef00e9889fa6ef3c7165 Mon Sep 17 00:00:00 2001 From: chsami Date: Sat, 17 Jan 2026 08:33:05 +0100 Subject: [PATCH 16/17] fix(gradle): bump project version to 1.12.12.1 fix(PortTaskStep): update cargo hold IDs for sailing boats refactor(Rs2BoatModel): clean up cargo hold IDs array formatting refactor(Rs2PlayerModel): remove unused getPolygons method --- gradle.properties | 2 +- .../api/boat/models/Rs2BoatModel.java | 42 +++++++++---------- .../questhelper/steps/PortTaskStep.java | 2 +- .../microbot/util/player/Rs2PlayerModel.java | 6 --- 4 files changed, 23 insertions(+), 29 deletions(-) diff --git a/gradle.properties b/gradle.properties index 3a5ea607a73..a3f9afad20b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -28,7 +28,7 @@ org.gradle.parallel=true org.gradle.caching=false project.build.group=net.runelite -project.build.version=1.12.12 +project.build.version=1.12.12.1 glslang.path= microbot.version=2.1.9 diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/api/boat/models/Rs2BoatModel.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/api/boat/models/Rs2BoatModel.java index 1377dabade4..9ec9595b3ef 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/api/boat/models/Rs2BoatModel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/api/boat/models/Rs2BoatModel.java @@ -50,27 +50,27 @@ public class Rs2BoatModel implements WorldEntity, IEntity { }; private static final int[] CARGO_HOLD_IDS = { - SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT, SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_OAK_RAFT, SAILING_BOAT_CARGO_HOLD_OAK_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_TEAK_RAFT, SAILING_BOAT_CARGO_HOLD_TEAK_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT, SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT, SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT, SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT, SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT_OPEN, - SAILING_BOAT_CARGO_HOLD_REGULAR_2X5, SAILING_BOAT_CARGO_HOLD_REGULAR_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_OAK_2X5, SAILING_BOAT_CARGO_HOLD_OAK_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_TEAK_2X5, SAILING_BOAT_CARGO_HOLD_TEAK_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5, SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5, SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5, SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5, SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5_OPEN, - SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE, SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_OAK_LARGE, SAILING_BOAT_CARGO_HOLD_OAK_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_TEAK_LARGE, SAILING_BOAT_CARGO_HOLD_TEAK_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE, SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE, SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE, SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE_OPEN, - SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE, SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE_OPEN + SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT, + SAILING_BOAT_CARGO_HOLD_OAK_RAFT, + SAILING_BOAT_CARGO_HOLD_TEAK_RAFT, + SAILING_BOAT_CARGO_HOLD_MAHOGANY_RAFT, + SAILING_BOAT_CARGO_HOLD_CAMPHOR_RAFT, + SAILING_BOAT_CARGO_HOLD_IRONWOOD_RAFT, + SAILING_BOAT_CARGO_HOLD_ROSEWOOD_RAFT, + SAILING_BOAT_CARGO_HOLD_REGULAR_2X5, + SAILING_BOAT_CARGO_HOLD_OAK_2X5, + SAILING_BOAT_CARGO_HOLD_TEAK_2X5, + SAILING_BOAT_CARGO_HOLD_MAHOGANY_2X5, + SAILING_BOAT_CARGO_HOLD_CAMPHOR_2X5, + SAILING_BOAT_CARGO_HOLD_IRONWOOD_2X5, + SAILING_BOAT_CARGO_HOLD_ROSEWOOD_2X5, + SAILING_BOAT_CARGO_HOLD_REGULAR_LARGE, + SAILING_BOAT_CARGO_HOLD_OAK_LARGE, + SAILING_BOAT_CARGO_HOLD_TEAK_LARGE, + SAILING_BOAT_CARGO_HOLD_MAHOGANY_LARGE, + SAILING_BOAT_CARGO_HOLD_CAMPHOR_LARGE, + SAILING_BOAT_CARGO_HOLD_IRONWOOD_LARGE, + SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE }; private static final int MOVE_MODE_STANDING_STILL = 0; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/PortTaskStep.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/PortTaskStep.java index bc667aa9045..cadd9f9aa30 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/PortTaskStep.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/PortTaskStep.java @@ -49,7 +49,7 @@ public PortTaskStep(QuestHelper questHelper, Port fromPort, Port toPort, int por Requirement onShip = new VarbitRequirement(VarbitID.SAILING_PLAYER_IS_ON_PLAYER_BOAT, 1); Collection cargoHoldIds = new HashSet<>(); - for (int i = ObjectID.SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT_OPEN; i <= ObjectID.SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE_OPEN; i++) + for (int i = ObjectID.SAILING_BOAT_CARGO_HOLD_REGULAR_RAFT; i <= ObjectID.SAILING_BOAT_CARGO_HOLD_ROSEWOOD_LARGE; i++) { cargoHoldIds.add(i); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/player/Rs2PlayerModel.java b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/player/Rs2PlayerModel.java index 12f3d609270..51d62a5cfa7 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/player/Rs2PlayerModel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/player/Rs2PlayerModel.java @@ -39,12 +39,6 @@ public PlayerComposition getPlayerComposition() return player.getPlayerComposition(); } - @Override - public Polygon[] getPolygons() - { - return player.getPolygons(); - } - @Override public int getTeam() { From 425ce646907eeb64613791c4907c7e243476f5c2 Mon Sep 17 00:00:00 2001 From: chsami Date: Sat, 17 Jan 2026 08:33:25 +0100 Subject: [PATCH 17/17] fix(gradle): update microbot version to 2.1.10 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a3f9afad20b..14bc51ddc9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -31,7 +31,7 @@ project.build.group=net.runelite project.build.version=1.12.12.1 glslang.path= -microbot.version=2.1.9 +microbot.version=2.1.10 microbot.commit.sha=nogit microbot.repo.url=http://138.201.81.246:8081/repository/microbot-snapshot/ microbot.repo.username=