Skip to content

feat: add the in-game Quest Journal - #2767

Open
nanopink wants to merge 1 commit into
Zoinkwiz:masterfrom
nanopink:quest-journal-integration
Open

feat: add the in-game Quest Journal#2767
nanopink wants to merge 1 commit into
Zoinkwiz:masterfrom
nanopink:quest-journal-integration

Conversation

@nanopink

@nanopink nanopink commented Jul 24, 2026

Copy link
Copy Markdown

Summary

Following the Quest Helper Discord discussion, this PR integrates Quest Journal directly into Quest Helper as a first-class feature.

It provides a movable and resizable in-game interface for browsing quests, planning requirements, and viewing quest progress.
It complements the existing sidebar, which remains available as the compact active-step interface.

430 automated tests pass with zero failures, verified with personal testing.
99% of the implementation has been isolated under com.questhelper.questjournal.

Preview

Quest Journal button beside the minimap

Quest Journal interface

Features

  • RuneScape themed floating journal with a movable and toggleable quest button beside the minimap
  • Quest search and filters, with the ability to bookmark quests using stars
  • Browse other quests without interrupting guidance for the active quest
  • Collapsible checklists for quest step sections
  • Persistent window, filter, scroll, selection, and starred-quest state
  • Can replace the original in-game quest journal
  • Configurable hotkey for opening or closing the journal
  • Safe-area movement, resizing, maximizing, and restoration

The feature is enabled by default, but the journal, launcher, and native-journal replacement can be configured independently.

LOC added

Excluding README and images:

  • Quest Helper: 221 lines across 9 files
  • Quest Journal: 19,998 lines across 27 files
  • Tests: 12,068 lines across 21 files

Performance

  • Quest Journal avoids unnecessary quest-data updates while it is closed.
  • It uses Quest Helper's existing quest-list state instead of maintaining a second quest database.
  • The detailed view for a selected quest is prepared only when needed.
  • Relevant game-state changes are read on the client thread and published to the journal as an updated view before it is rendered.
  • If a quest cannot be read because of an unavailable class or runtime error, the journal keeps its previous valid view and retries the update with a bounded delay.

@nanopink
nanopink marked this pull request as ready for review July 24, 2026 08:08
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.

1 participant