Skip to content

Add goalplanner#11552

Open
ajkatz wants to merge 4 commits intorunelite:masterfrom
ajkatz:add-goalplanner
Open

Add goalplanner#11552
ajkatz wants to merge 4 commits intorunelite:masterfrom
ajkatz:add-goalplanner

Conversation

@ajkatz
Copy link
Copy Markdown

@ajkatz ajkatz commented Apr 16, 2026

Goal Planner

A goal/grind tracker and planner plugin for OSRS with prerequisite graph seeding.

Source: https://github.com/ajkatz/runelite-goal-tracker

What it does

  • Track goals across skills, quests, diaries, combat achievements, boss KC, collection log, item/resource grinds, account metrics, and custom goals
  • Auto-updates from live game state (XP drops, quest state, varbits/varplayers for diaries and CAs, bank + inventory for item grinds)
  • When adding a quest/boss goal, auto-seeds the full prerequisite chain (skill requirements, prior quests, recommended combat level)
  • Sections, tags, bulk multi-select actions, undo/redo
  • Public Java API so other plugins can query and create goals programmatically

Note on existing Goal Tracker plugin

There is an existing goal-tracker plugin by Toofifty. This submission is a separate plugin with a distinct name and scope:

  • Toofifty's Goal Tracker: manual goal lists with preset bundles, progress bars, JSON import/export
  • Goal Planner (this): auto-tracking from game state + prerequisite graph auto-seeding across all OSRS achievement types, plus a public API for external plugin integration

The positioning is complementary, not competing. Different UX and different target user.

Known rough edges (to address in a follow-up)

Apologies in advance — a lot of functionality is hidden in right-click menus and context actions in this first release. I'm planning a UX pass in a follow-up to surface the most-used actions more prominently and streamline discoverability. The [Experimental v0.1.0] tag in the description reflects that this is a first cut.

Technical notes

  • BSD 2-Clause licensed
  • JDK 11, no runtime third-party dependencies beyond RuneLite client
  • No network calls (except to the OSRS wiki for CA task data caching), no external services, no game-input automation
  • Marked [Experimental v0.1.0] in description - persistence format may change before 1.0

@runelite-github-app
Copy link
Copy Markdown

runelite-github-app bot commented Apr 16, 2026

@ajkatz
Copy link
Copy Markdown
Author

ajkatz commented Apr 16, 2026

Temporarily closing — had to flip source repo from private to public so CI can clone. Reopening now.

@ajkatz ajkatz closed this Apr 16, 2026
@ajkatz ajkatz reopened this Apr 16, 2026
ajkatz added a commit to ajkatz/runelite-goal-planner that referenced this pull request Apr 16, 2026
Plugin-hub CI (runelite/plugin-hub#11552) rejected the first build with:
  - Do not create fresh Gson instances, always @Inject the client's Gson.
  - Use ComponentID or InterfaceID instead of WidgetInfo or WidgetID

Fixes:

1. GoalPlannerPlugin.java: replace deprecated WidgetID constants with
   net.runelite.api.gameval.InterfaceID:
     WidgetID.INVENTORY_GROUP_ID -> InterfaceID.INVENTORY
     WidgetID.BANK_GROUP_ID      -> InterfaceID.BANKMAIN
     WidgetID.COLLECTION_LOG_ID  -> InterfaceID.COLLECTION
   Values are identical (149, 12, 621 respectively); only the import /
   constant name changed.

2. GoalStore.java + WikiCaRepository.java: stop constructing Gson
   ourselves. Added Gson to the @Inject constructor and dropped the
   `new Gson()` / `new GsonBuilder().create()` usage. Static final
   GSON -> instance field `gson`.

3. Tests: update all new GoalStore(configManager) call sites to pass
   `new com.google.gson.Gson()` as the second arg (tests aren't shipped
   to plugin-hub, so the deprecation rule doesn't apply there).

Verified: ./gradlew clean test passes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@runelite-github-app
Copy link
Copy Markdown

runelite-github-app bot commented Apr 16, 2026

This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed.


Internal use only: Reviewer details Maintainer details

@ajkatz
Copy link
Copy Markdown
Author

ajkatz commented Apr 18, 2026

For anyone testing this plugin pre-merge, I've set up a Discord community for Goal Planner — https://discord.gg/CFQsA3fmh7 — feature ideas, bug sanity-checks, and general feedback. Real bug reports still go on GitHub.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant