Skip to content

Fix bank cache persistence and walker compatibility - #1867

Closed
infuse21 wants to merge 67 commits into
chsami:mainfrom
infuse21:Banking-cache
Closed

infuse21 wants to merge 67 commits into
chsami:mainfrom
infuse21:Banking-cache

Conversation

@infuse21

Copy link
Copy Markdown
Contributor

Description:
Restores profile-specific bank cache saving and loading across client restarts. Bank contents refresh on live bank updates, and the walker recognizes restored snapshots for route planning while retaining fresh-update checks for banking actions.
Cache reconstruction uses saved values without dispatching to or waiting for the client thread. Snapshot publication remains synchronized.

Validation:

  • Compilation and both unchanged guardrails passed.
  • Cache regression test and 18 banking-planner tests passed.
  • Live restart restored 595 cached items; reopening the bank refreshed the cache.

sami3p and others added 30 commits August 5, 2026 20:08
…-foundation

[codex] unify walker planning with pinned upstream core
…eam-sync-foundation"

This reverts commit 5c1afb1, reversing
changes made to 9066ed8.
[codex] revert walker upstream sync from development
Add the Rs2Death utility, Death's Office locations, event wiring, documentation, and client-thread guardrail entries. Preserve recovery state when grave or office collection is incomplete so callers can retry safely.\n\nRepository Build and the full local unit suite passed; all review threads are resolved.
Scripts now emit through an input layer that gives way to real input. Moving
the mouse or pressing a key on the game canvas pauses scripts, aborts the
gesture in flight, releases anything held down, and resumes after an idle
window. Threshold, delay and an off switch are configurable.

What the bot emits now matches the shape of real input: the click triad
without the spurious ENTERED/EXITED pair, position read from actual events
instead of a bot-only field that human motion could never update, and canvas
boundary crossings in both directions, so leaving and returning looks like a
pointer that exists.

Crossing outward also fixes the moveMouseOffScreen antiban setting, which
never left the canvas. MouseMotion clamps its destination to the canvas, so
the cursor walked to the edge and stopped there while the client went on
believing a pointer was over it.

Fixes found along the way:
- a takeover mid-typeString sprayed the rest of the string into the widget
- a key held when the window lost focus stayed down forever
- the cursor overlay drew beneath the right-click menu
All three referenced a module that does not exist. The Gradle project is
named runelite with a client subproject, so IntelliJ's module is
runelite.client.main, where the files asked for client.main and, in the proxy
one, plain client. With no module to resolve, the generated command line
carried no classpath and every run died before reaching main().

Shorten the classpath through an args file, since the full one exceeds what
Windows accepts on a command line.

Drop the JDK pin from the two configs that carried one. It was an SDK name
from one person's IntelliJ, and the project compiles to Java 11 bytecode and
builds on Java 11 in CI, so the project SDK is already the right answer.
Refreshed transport data from several weeks of live walking, delivered
as data only — every file parses with the loader already on
development (unknown header columns are ignored; no code changes).

- agility_shortcuts, canoes, minecarts, quetzals, ships, transports,
  teleportation_items/spells/minigames: coverage and coordinate
  corrections found by live walks.
- DURATION CORRECTIONS: spirit tree rows had a blank Duration column
  and non-teleport transports get no minimum, so every spirit tree
  edge cost the planner exactly ZERO — it picked them even when a
  short walk was faster. Spirit trees blank -> 10, gnome gliders
  8 -> 12, magic mushtrees blank -> 6, proportionate to the existing
  convention (fairy ring 5, quetzal 6, charter 6, boats 9, ships 10).
- blocked_edges/restrictions: entries for doors that never open and
  edges the live game refuses.
- collision-map.zip regenerated (newer map areas).

Part 1 of splitting chsami#1838 into reviewable PRs. Full suite
(:client:runUnitTests) green on this branch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…break

Add optional long and mega breaks to Break Handler V2
feat(input): yield input to the user and clean up what the bot emits
…ap-arrow

Fix Quest Helper minimap arrows and sync quest list
fix(shortestpath): refresh transport data and reopen Al Kharid Palace
Part 2 of splitting chsami#1838 into reviewable PRs.

Vendors the upstream (Skretzo) shortest-path planner core under
runelite-client/src/upstreamPlanner as a pinned, self-contained source
set (zero imports from the microbot tree — verified), with the minimal
gradle wiring: the main source set includes the pinned tree,
processResources copies the existing collision archive to the root
path the upstream core loads from, and checkstyle/PMD exclude the
vendored package so upstream code style stays untouched.

Nothing on this branch invokes the vendored planner: no runtime
behavior changes and no entry points. It exists so convergence work
can run both planners in one JVM for side-by-side route comparison;
the comparison harness tasks arrive with part 4, where their entry
points (walker test tree) live.

Full suite (:client:runUnitTests) green on this branch.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…anner

build(walker): vendor upstream planner core as a pinned source set
… collision, honest costs

Part 3 of splitting chsami#1838 into reviewable PRs (opens after part 1).

The planning engine as it runs on the fork today:

- Sealed-target reverse probe: a bounded reverse flood proves an
  unreachable destination SEALED in ~1ms and substitutes its walkable
  rim, replacing the 1.1M-node full-world floods an unreachable tile
  used to cost (measured 37 times in one evening); the search also
  remembers a REACHED rim substitute so the executor can retarget once.
- Live collision: capture of the loaded scene's collision into a
  persisted per-region overlay (doors and runtime-cleared obstacles
  get full-footprint deferral to the static map — a closed door's
  corner diagonals must never persist as walls), with conflict
  telemetry, a live route validator, and versioned stores that
  self-discard when capture semantics change.
- Transport planning: config-state cache keyed by inventory/varbit
  fingerprint (refresh dropped from ~500ms to single-digit ms on
  cache hits), TransportExecutionRegistry + planning-policy seam so
  the planner only admits transports the executor can actually
  perform, item requirement resolution (staff/tome/rune providers),
  and PathEdge/PathTerminationReason for honest terminations.
- Session-scoped learned blocked edges replace the persisted store
  (blocked_edges.tsv is the durable authority).

Seam notes for review: dev's ShortestPathPlugin gains ONE verbatim
overload (override(String, PlannerSelectionMode)) and Rs2PathApi ONE
facade method (invalidateTransportRefreshCache) — the full plugin and
walker wiring arrive in part 4, so the live-collision refresh loop and
planner-selection machinery are compiled and unit-tested here but not
yet driven at runtime. Rs2Staff/Rs2Tome/Rs2LeaguesTransport travel as
the engine's item/league providers.

Full suite (:client:runUnitTests) green, including the route corpus
against part 1's data.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
infuse21 and others added 27 commits September 6, 2026 01:11
…r-v2-pause-loop

Fix Break Handler V2 pause break completion
…ounds

Fix POH Web Config detection for unknown Nexus destinations
…tity-retries

fix(grandexchange): bound quantity entry retries
…r-controls

feat(webwalker): add manual walking controls and status notices
…nuous-scene-camera

Improve webwalker camera and route continuity
@coderabbitai

coderabbitai Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 288 files, which is 188 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: a572107c-09a8-4c80-8313-64c57baa733e

📥 Commits

Reviewing files that changed from the base of the PR and between 8bcc652 and 9854b98.

⛔ Files ignored due to path filters (15)
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/agility_shortcuts.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/blocked_edges.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/canoes.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/collision-map.zip is excluded by !**/*.zip
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/gnome_gliders.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/magic_mushtrees.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/minecarts.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/quetzals.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/restrictions.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/ships.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/spirit_trees.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_items.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_minigames.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/teleportation_spells.tsv is excluded by !**/*.tsv
  • runelite-client/src/main/resources/net/runelite/client/plugins/microbot/shortestpath/transports.tsv is excluded by !**/*.tsv
📒 Files selected for processing (288)
  • .run/Microbot.run.xml
  • .run/Runelite with proxy.run.xml
  • .run/Runelite.run.xml
  • docs/decisions/adr-0007-vendored-planner-correctness-backports.md
  • docs/entity-guides/README.md
  • docs/entity-guides/death.md
  • docs/entity-guides/items.md
  • docs/entity-guides/movement.md
  • docs/entity-guides/worlds.md
  • runelite-client/build.gradle.kts
  • runelite-client/src/main/java/net/runelite/client/plugins/devtools/MicrobotMouseOverlay.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/AGENTS.md
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotConfig.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotOverlay.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/MicrobotPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/Script.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/breakhandlerv2/BreakHandlerV2Config.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/breakhandlerv2/BreakHandlerV2Overlay.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/breakhandler/breakhandlerv2/BreakHandlerV2Script.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/collections/ItemCollections.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/deserttreasureii/ChestCodeStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/fallenfromgrace/FallenFromGrace.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/CastleDrakan.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/CastleDrakanActionStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/CastleDrakanGoalStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/CastleDrakanRoomNetwork.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/CastleDrakanRoomStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/DrakanClockSolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/GildedBookPuzzle.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/TheBloodMoonRises.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver1.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver2.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver3.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver4.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver5.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeSolver6.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/thebloodmoonrises/treesolvers/TreeType.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/theidesofmilk/TheIdesOfMilk.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/helpers/quests/theredreef/TheRedReef.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/panel/questorders/IronmanOptimalQuestGuide.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/panel/questorders/OptimalQuestGuide.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/panel/questorders/ReleaseDate.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/panel/queststepsection/QuestSectionSection.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/questinfo/ExternalQuestResources.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/questinfo/QuestHelperQuest.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/questinfo/QuestVarbits.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/requirements/item/ItemRequirement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/requirements/util/Port.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/DetailedQuestStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/NpcStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/QuestStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/WorldEntityStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/steps/tools/QuestPerspective.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/questhelper/util/QuestStepIcon.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/PlannerSelectionMode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/PohPanel.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/PurchasableItemCatalog.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathConfig.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathPanel.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathPlugin.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathScript.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/Transport.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportExecutionRegistry.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemRequirement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemResolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/UPSTREAM_COMPARISON.md
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/WEBWALKER_IMPROVEMENT_PLAN.md
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/WalkingNoticeOverlay.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/CollisionMap.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/LearnedBlockedEdges.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/Node.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathEdge.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathTerminationReason.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/Pathfinder.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderConfig.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/SealedVerdictMemo.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportNode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportPlanningPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/live/LiveCollisionCapture.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/live/LiveCollisionConflicts.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/live/LiveRouteValidator.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/Global.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/bank/Rs2Bank.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/bank/Rs2BankData.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/camera/Rs2Camera.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/death/DeathsOfficeLocation.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/death/Rs2Death.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/grandexchange/GrandExchangeWidget.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/grandexchange/Rs2GrandExchange.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/AwtEmitter.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/CanvasInputListener.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/InputArbiter.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/InputDiagnostics.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/InputLoop.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/PointerState.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/input/StretchMapper.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/keyboard/Rs2Keyboard.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/leaguetransport/LeaguesTransportInjection.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/leaguetransport/Rs2LeaguesTransport.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Magic.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Staff.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/magic/Rs2Tome.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/mouse/Mouse.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/mouse/VirtualMouse.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/mouse/naturalmouse/NaturalMouse.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/poh/data/NexusPortal.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/tile/Rs2Tile.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/LoginStabilityPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2ActiveRouteStatus.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2HotAirBalloon.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2InteractionApproach.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PathApi.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerCanaryPerformanceStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowComparison.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowContext.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowCoverageStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlanningSnapshot.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteMetrics.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RoutePlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RoutePolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteRequest.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteResult.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteStep.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2RouteTermination.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TerminalTravelMode.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportEdge.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportExecutor.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportItemRequirement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportLoadout.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportPlanningPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2TransportType.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2Walker.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerDoors.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerMovement.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerShadowExecutionStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerTransports.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/TransportRouteAnalysis.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/UpstreamRoutePlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/WalkPassStats.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/WalledDoorClaimPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/awaits/Rs2WalkerRuntimeAwaits.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/banking/Rs2WalkerBankingPlanner.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/DoorAttemptLedger.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorClassifier.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorDetection.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorGeometry.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorHandler.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorProbe.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2WalkerAwaits.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/lifecycle/Rs2WalkerLifecycleRuntime.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/LiveScene.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/Rs2LiveScene.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/Rs2ObstacleHandler.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/obstacle/TransportResolver.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/recovery/FrontierDecision.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/recovery/RouteRecovery.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/recovery/TailDecision.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/segment/SegmentGate.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/stall/Rs2WalkerStallPolicy.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/state/WalkExit.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/walker/state/WalkerRouteState.java
  • runelite-client/src/main/java/net/runelite/client/plugins/microbot/util/world/Rs2WorldUtil.java
  • runelite-client/src/main/java/net/runelite/client/plugins/worldhopper/ping/Ping.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/breakhandler/breakhandlerv2/BreakHandlerV2DeferralTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/LiveCollisionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/RouteClickTargetRegressionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/SealedTargetFastPathTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathCoreTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathManualWalkingTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/ShortestPathTier1RegressionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/TransportExecutionRegistryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/TransportItemRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/TransportSkillRequirementDataTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/WalkerRouteCorpusTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/LearnedBlockedEdgeSessionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/LearnedBlockedEdgeStrikesTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/LearnedBlockedEdgesTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderConfigTransportRefreshHashTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderHomeTeleportTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderItemRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderPathMaterializationTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderSpecialRequirementTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PathfinderTerminationReasonTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/PortalNexusConfigTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/SealedVerdictBudgetExhaustionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/SealedVerdictMemoTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/TransportPlanningPolicyTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/shortestpath/pathfinder/live/LiveCollisionConflictsTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/bank/Rs2BankMirrorCacheTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/CanvasBoundaryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/FocusLossReleasesHeldInputTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/GestureAbortTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/InputArbiterTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/InputDiagnosticsTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/InputEmissionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/input/YieldOnHumanTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/keyboard/Rs2KeyboardHeldKeysTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/poh/data/NexusPortalTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/LocalPlannerComparisonMain.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/LoginStabilityPolicyTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/RouteProgressWatermarkTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2HotAirBalloonTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2InteractionApproachTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2PathApiPlanningTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2PlannerShadowContextTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerStaminaTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/Rs2WalkerUnitTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/TargetWalkabilityPreflightTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/TransportRouteAnalysisTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/UpstreamRoutePlannerTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/WalkExitTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/WalkSessionStateResetTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/WalledDoorClaimPolicyTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/banking/BankedTransportItemPlanningTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/DoorAttemptLedgerTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorClassifierTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorGeometryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorHandlerTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2DoorProbeTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/door/Rs2WalkerAwaitsTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/MineableResolverTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/ObstacleRegistryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/obstacle/TransportResolverTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/recovery/FrontierDecisionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/recovery/RouteRecoveryTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/recovery/TailDecisionTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/segment/SegmentGateTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/microbot/util/walker/stall/Rs2WalkerStallPolicyTest.java
  • runelite-client/src/test/java/net/runelite/client/plugins/worldhopper/ping/PingTest.java
  • runelite-client/src/test/java/shortestpath/pathfinder/VendoredPathfinderRegressionTest.java
  • runelite-client/src/test/java/shortestpath/transport/VendoredTransportRegressionTest.java
  • runelite-client/src/test/resources/threadsafety/client-thread-guardrail-baseline.txt
  • runelite-client/src/upstreamPlanner/ADAPTER_PATCHES.md
  • runelite-client/src/upstreamPlanner/LICENSE
  • runelite-client/src/upstreamPlanner/README.md
  • runelite-client/src/upstreamPlanner/UPSTREAM_REVISION
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/Destination.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/DestinationRequirements.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ItemVariations.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/JewelleryBoxTier.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/PrimitiveIntHashMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/PrimitiveIntList.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ShortestPathConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/ShortestPathPlugin.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TeleportationItem.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TileCounter.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/TileStyle.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/Util.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/WorldPointUtil.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueModeState.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueRegion.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/leagues/LeagueRegionChecker.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/AbstractNodeKind.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/CollisionMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/EdgeOverride.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/IntDeque.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/IntMinHeap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/NodeGraph.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/OrdinalDirection.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathStep.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathTerminationReason.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/Pathfinder.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathfinderConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/PathfinderResult.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/SplitFlagMap.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/TransportAvailability.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/VisitedTiles.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/pathfinder/WildernessChecker.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/BankPickupRequirements.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/LoadInterner.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/Transport.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportLoader.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportType.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/TransportTypeConfig.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/FieldParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/ItemRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/QuestParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/SkillRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/TransportRecord.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/TsvParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarCheckType.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarRequirement.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/VarRequirementParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/parser/WorldPointParser.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/requirement/ItemRequirement.java
  • runelite-client/src/upstreamPlanner/src/main/java/shortestpath/transport/requirement/TransportItems.java

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@infuse21 infuse21 closed this Sep 19, 2026
@infuse21
infuse21 deleted the Banking-cache branch September 21, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants