Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
3731232
added marking preset-added goals as complete/incomplete
AhDoozy Jul 28, 2025
58fa17d
Implement manual toggle for preset tasks, configurable completion col…
AhDoozy Jul 28, 2025
af239cf
- Implement right-click context menu on parent goals with options to …
AhDoozy Jul 28, 2025
3ed26e7
working presets
AhDoozy Aug 18, 2025
d1fad29
working presets
AhDoozy Aug 18, 2025
988718c
added making complete/incomplete for all indented as well.
AhDoozy Aug 18, 2025
e1d1108
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
e896997
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
2600446
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
c3deb59
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
42b2c99
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
eb6a9ec
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
1503c3c
pre-reqs are added directly under the related item
AhDoozy Aug 18, 2025
d5ecf94
borked
AhDoozy Aug 19, 2025
190ea57
Merge pull request #1 from AhDoozy/Quest-Pre-Recs-windows
AhDoozy Aug 19, 2025
eb9160d
working lovely.
AhDoozy Aug 19, 2025
63b098f
working lovely.
AhDoozy Aug 19, 2025
19bd29c
Merge pull request #2 from AhDoozy/Quest-Pre-Recs
AhDoozy Aug 19, 2025
6c24653
- Quest dropdown now uses **RuneScape UF** font at a normal crisp siz…
AhDoozy Aug 19, 2025
7d1fe48
- Back and Undo buttons added to a new top control bar in goal view; …
AhDoozy Aug 19, 2025
3bd4662
- Back and Undo buttons added to a new top control bar in goal view; …
AhDoozy Aug 19, 2025
9b3b7e3
fixed text button issue
AhDoozy Aug 19, 2025
43e2ef4
- Home view updated: "Goal Tracker" title moved to its own header, wi…
AhDoozy Aug 19, 2025
53f9c57
Merge pull request #3 from AhDoozy/quest-pre-reqs-fixes
AhDoozy Aug 19, 2025
9457455
added goal panel action bar but right click is now broken. saving for…
AhDoozy Aug 19, 2025
4277664
it's working again!!!
AhDoozy Aug 20, 2025
321fc72
Lots O Changes
AhDoozy Aug 20, 2025
b50f784
copy\paste working.
AhDoozy Aug 20, 2025
7023bc4
copy\paste working.
AhDoozy Aug 20, 2025
597830b
updated changelog and readme.
AhDoozy Aug 20, 2025
51a7775
updated readme, license and home panel header.
AhDoozy Aug 20, 2025
79f24db
lots of UI updates
AhDoozy Aug 20, 2025
12f753a
lots of UI updates
AhDoozy Aug 20, 2025
d4cd93d
appears everythings working
AhDoozy Aug 20, 2025
8a4e20d
appears everythings working
AhDoozy Aug 20, 2025
911d62b
appears everythings working
AhDoozy Aug 20, 2025
b2bcb1c
Merge pull request #4 from AhDoozy/Home-panel-redesign
AhDoozy Aug 21, 2025
6ba8db0
weird overlapping on undo is gone.
AhDoozy Aug 21, 2025
18c5cd0
new action bar completed.
AhDoozy Aug 21, 2025
c293f65
fixed actionbar layout, refresing of icons upon load in.
AhDoozy Aug 21, 2025
62dbc41
Merge pull request #5 from AhDoozy/action-buttons-afterfix
AhDoozy Aug 21, 2025
a2538eb
updates
AhDoozy Aug 21, 2025
f187258
massive improvements.
AhDoozy Aug 22, 2025
44625cb
massive improvements.
AhDoozy Aug 22, 2025
4d5d1c0
Pinning working, but right click is odd.
AhDoozy Aug 22, 2025
c5cbe1a
Pinning working, also added pre-reqs button and revamp presets.
AhDoozy Aug 24, 2025
d1299cd
Merge pull request #6 from AhDoozy/Pinning-new
AhDoozy Aug 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
BSD 2-Clause License

Copyright (c) 2019, dillydill123
Copyright (c) 2025, AhDoozy
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
126 changes: 126 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,127 @@
# 🏆 Goal Tracker v2

> A complete reimagining of the Goal Tracker plugin — rebuilt with a more modern UI, powerful new features, and improved stability to help you plan, track, and achieve your Old School RuneScape goals with ease.

---

<details>
<summary><h2 style="margin:0;display:inline;">✨ New Features</h2></summary>

- Shift+Click removal of tasks for faster task management
- Automatic goal status checks for up-to-date progress
- New ActionBar and ActionBarButton UI components
- Hover states for better visual feedback
- New context menu organization for streamlined interaction
- Search toggle improvements for easier task searching
- New task right‑click menu with grouped **Move** submenu and cascading complete/incomplete toggle that applies to children (expanded beyond v1 functionality).
- Goal cards redesigned with lighter fills, full shadows, and hover/press effects only on the card face.
- Thicker header divider under “Goal Tracker” for clearer separation.
- Automatic refresh propagation so Home goals update instantly when tasks change.
- Completion chat messages delivered as proper Game messages with configurable colors.
- Export and Import functionality: save your goals to a JSON file and import them back with full UI refresh.
- Automatic warming of item icons so they load at startup, on login, and after import.
- GoalsChangedListener system to auto-refresh the Home panel when goals change.
- Preset Goal Lists: add goals from built-in presets (Quest Cape Core, Early Game Ironman) via a new “Add from Preset…” button.
- Presets automatically expand quest prerequisites using the existing right-click prereq logic.
- Goal titles and ManualTask descriptions now support click-to-edit with inline text fields.
- Long goal and task titles are ellipsized with … and show full text on hover.

### ♻️ Redesigned Features

- Redesigned quest prerequisites button for quick access to quest requirements
- Redesigned completion cascading to automatically complete related tasks
- Redesigned dropdown quest selector for faster quest task addition
- Redesigned right-click menus for prerequisites and child completion options
- Redesigned manual toggling for preset tasks to customize workflow
- Redesigned chatbox notification colors (now fully customizable)

</details>

<details>
<summary><h2 style="margin:0;display:inline;">🔧 Improvements</h2></summary>

- More compact prereq button for a cleaner interface
- Refreshed UI with updated design elements
- Font and ComboBox readability enhancements
- Consistent ActionBar UI throughout the plugin
- Unified goal view header for a cohesive look
- Improved context menus with better usability
- Enhanced cursor and hover detection accuracy
- Copy and paste support in the goal name input field
- Context menu entries rebuilt dynamically before opening to always reflect the latest state.
- Task and goal content now force an initial refresh so icons and text render correctly at login.
- Refined ActionBar spacing to ensure Export and Import buttons fit without overlap.
- Progress text (e.g., “1/10”) on goal cards now has a reserved width and never clips.
- + Add goal and Add from Preset buttons restyled and stacked vertically for cleaner layout.
- Task rows updated to match goal cards with ellipsized titles and consistent styling.

</details>

<details>
<summary><h2 style="margin:0;display:inline;">🐛 Fixes</h2></summary>

- Undo/Redo functionality cleanup for smoother editing
- ActionBarButton painting fixes to prevent visual glitches
- GoalTrackerPanel `home()` method refresh improvements
- Correct refresh behavior in ListPanel
- Improved mouse selection accuracy
- Keyboard shortcut fixes and enhancements
- Automatic removal of empty goals to keep lists tidy
- Visual refresh issue resolved on login
- Fixed child task refresh issues by recursively refreshing all descendants.
- Fixed blank panel issue when switching from Home to Goal view.
- Fixed completion chat message not appearing on task completion.
- Export/Import buttons were previously non-functional; now they work correctly.
- Item icons sometimes failed to appear until entering a goal; now fixed by preloading at startup/login and after import.
- Home panel not refreshing after completing a task; fixed with a new listener system.
- Overlapping issue around the Export button fixed by layout adjustments.

</details>

<details>
<summary><h2 style="margin:0;display:inline;">📥 Installation</h2></summary>

1. Open RuneLite.
2. Go to the Plugin Hub.
3. Search for "Goal Tracker v2".
4. Click **Install**.

</details>

<details>
<summary><h2 style="margin:0;display:inline;">🚀 Getting Started</h2></summary>

- Open the plugin panel in RuneLite once installed.
- Use **+ Add goal** to create a new goal.
- Add tasks (quests, skills, items, or manual) via the goal view.
- Use the new **ActionBar** buttons for navigation, undo/redo, and bulk actions.

</details>

<details>
<summary><h2 style="margin:0;display:inline;">🖼️ Screenshots</h2></summary>

[screenshot] Home panel with goal cards
[screenshot] Inside a goal with task list
[screenshot] Right‑click menu on a task
[screenshot] Config panel with customizable chat color

</details>

<details>
<summary><h2 style="margin:0;display:inline;">🙏 Acknowledgements</h2></summary>

- Original plugin created by **dillydill123**.
- Fully renovated and maintained by **AhDoozy**.

</details>
## 📄 License
Licensed under the [BSD 2-Clause License](LICENSE).

-----
<details>
<summary><span style="margin-left:8px;"><h3 style="display:inline;">📜 Original Goal Tracker v1 Readme & Documentation (created by dillydill123)</h3></span></summary>

# Runelite Goal Tracker Plugin

Keep track of your OSRS goals and complete them automatically.
Expand Down Expand Up @@ -60,3 +184,5 @@ Track quest progress and completion, just select a quest or miniquest from the d
#### Item tasks

Select an item using the search button and searching via the in-game chatbox, then set the desired quantity. The plugin will keep track of your items and tally up quantities stored in different inventories (bank, player, GIMP storage), and will be automatically completed once you get that amount of the item.

</details>
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ dependencies {
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'

implementation 'org.apache.commons:commons-lang3:3.12.0'

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.5.2'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
Expand All @@ -40,7 +42,7 @@ tasks.withType(JavaCompile) {

tasks.test {
useJUnitPlatform()

finalizedBy jacocoTestReport // report is always generated after tests run
}

Expand Down
106 changes: 106 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Changelog

## [Unreleased]

### Added
- Quest prerequisites button: Each quest task now has an **Add prereqs** button to insert its prerequisites
directly beneath it.
- Shift+Click removal: Shift+Click a task to remove it and all its indented children at once.
- Completion cascading: Marking a parent quest as complete/incomplete now automatically updates all its
child tasks.
- Dropdown quest selector: Replaced fuzzy search with a clean dropdown of all quests, displaying natural
names (e.g., "Tree Gnome Village").
- Right-click menu option **Add pre-reqs** for quest tasks with prerequisites. Automatically inserts
missing prerequisites as subtasks with proper indentation and prevents duplicates.
- New `ActionBar` and `ActionBarButton` UI components introduced for consistent toolbar styling across
panels.
- Cursor hover state and hand cursor indicator for goal list items to improve usability.
- Added right-click menu to parent goals to mark all child tasks as completed or incomplete.
- Added manual completion toggling for tasks created from presets, allowing users to right-click and mark them complete/incomplete just like quick-added tasks.
- Added customizable color setting for task completion messages shown in the chatbox.
- Implemented automatic goal status checking upon login to mark goals as completed if requirements are already met.
- Context menu entries now rebuilt dynamically right before opening to ensure the latest state.
- Task list panel context menus reorganized with a **Move** submenu and cascading complete/incomplete toggle that applies to children.
- Initial refresh calls for Task and Goal content so icons/text render correctly on login.
- Automatic ancestor `ListPanel` refresh propagation to keep Home goal list in sync when tasks change.
- Export and Import functionality: Goals can now be exported to JSON and imported back with full UI refresh.
- JSON file filter in Import/Export dialogs for safer file selection.
- Automatic warming of ItemTask icons on plugin startup and login tick, and after JSON import, ensuring icons display immediately.
- GoalsChangedListener system in GoalManager to notify panels and auto-refresh home view when goals are saved or loaded.
- Preset Goal Lists: Added “Add from Preset…” button in the Goal Tracker panel, with initial presets (Quest Cape Core, Early Game Ironman). Presets now expand to include prerequisite quests automatically.
- Centralized presets into a new `GoalPresetRepository` class for easier management and expansion.
- Automatic prerequisite expansion for presets leverages the same logic as the quest right-click **Add prereqs** option.
- Ellipsized titles: Goal cards and Task rows now ellipsize long titles with `…` and show full text on hover via tooltip.
- Click-to-edit: Goal titles and ManualTask descriptions can now be edited by clicking their label; label swaps to an inline text field and saves on Enter or blur.
- Added per-lane Ladlor presets (Melee, Ranged, Magic, Utility, Void Set, God Capes, Crystal & Bowfa, Jewelry & Boots, Slayer & Undead, Imbued Rings, God Wars Armor, Elite Void, Prayer Scrolls, Raids Uniques, Milestones & Capes), alongside the full combined Ladlor Ironman preset.
- Added Early, Mid, and Late Ironman presets as consolidated single-goal lists rather than split by category.
- Added a new **Add pre-reqs** button to the Goal view header, next to Undo/Redo. This button triggers the same logic as the quest right-click **Add prerequisites** option, but applies to all quest tasks in the goal at once.
- Converted all Early, Mid, and Late Ironman preset skill milestones from ManualTask to SkillLevelTask for accurate level tracking.
- Expanded Early Ironman preset with Birdhouse run unlocks (Dig Site, Bone Voyage, Hunter 5, Crafting 8, Construction 16) and Seaweed run unlock (Farming 23).
- Reworked Early, Mid, and Late Ironman presets with more appropriate content and progression pacing (e.g., Early emphasizes graceful set and mobility, Mid includes Iban’s staff, Ava’s, Barrows gloves, Late includes Blowpipe, Bowfa, Bandos, endgame quests).
- Commented out Ladlor presets from default loading in GoalPresetRepository to simplify active preset list.
- Fixed incorrect ItemID constants for Salve amulet (ei) in Slayer & Undead presets (SALVE_AMULET_EI).
- Removed stray selection marker and corrected field declaration in GoalPresetRepository.

### Changed
- Pre-req button made more compact (~25% smaller).
- Prerequisite insertion now places child tasks directly below their parent instead of at the end of the
list.
- UI now automatically refreshes after task mutations (add/remove/indent/status change).
- Right-click context menu reorganized: Move actions grouped under a **Move** submenu; Remove action now
labeled as **Remove (Shift+Left Click)**.
- Quest tasks now only display the **Add pre-reqs** option if they actually have missing prerequisites.
- Search button now toggles between **Search...** and **Close** to open/close the item search overlay.
- Removed in-panel close button; close control is now handled directly via the Search button toggle.
- Green **+Add** button hidden for item search inputs (still visible for other input types).
- Duplicate prerequisites can no longer be added multiple times to the same quest.
- Quest dropdown now uses **RuneScape UF** font at a normal crisp size for improved readability.
- ComboBox font scaling updated to use integer point sizes, preventing fuzzy text.

- Back and Undo buttons added to a new top control bar in goal view; later removed and replaced with a
cleaner single bar design.
- Embedded red "< Back" button removed from GoalPanel header, leaving only the goal name input aligned
cleanly.
- Goal name input updated to support copy, paste, cut, and select-all actions via both context menu and
keyboard shortcuts.
- Remove menu option enhanced to also delete all indented child tasks when removing a parent.
- Remove menu label updated so the "(Shift+Left Click)" hint displays smaller and in gray.
- Home view updated: "Goal Tracker" title moved to its own header, with a new action bar beneath it
containing **+ Add goal**, **Move**, and **Bulk Edit** buttons (the latter two are placeholders marked
"Coming soon").
- Home panel action bar refactored to use new `ActionBar` and `ActionBarButton` components for consistent
styling.
- Goal view header updated to use unified `ActionBar` with Back (left) and Undo/Redo (right) buttons.
- ActionBar now includes a center spacer to properly separate left and right button groups.
- Right-click context menus fixed to reliably open across platforms (Windows, macOS, Linux).
- Task right-click now defaults to showing full ListItemPanel menu (move, remove, etc.), with fallback to
toggle-only menu if no parent menu exists.
- Goal item context menus updated to forward right-clicks to parent ListItemPanel menus for consistent
options.
- Cursor/hover detection improved on home goal list: listeners now attach recursively to all child
components for accurate selection and highlighting.
- Goal cards now use a lighter fill with a full shadow around borders, and hover/press only affect the card face.
- Header divider under “Goal Tracker” made thicker (4px) for stronger separation.
- Right-click menus refactored so Tasks build their own menu and Goals build theirs, preventing duplicate/unusable items.
- ActionBar spacing refined between Redo and Export buttons to prevent overlap and fit Import button.
- Plugin startup now triggers item icon warm-up so icons are ready before login.
- “+ Add goal” and “Add from Preset…” buttons now stacked vertically in the Goal Tracker panel header for cleaner layout.
- Goal card progress text (e.g., “1/10”) reserved fixed width and no longer clips; typography is consistent and does not shrink.
- Task rows updated with consistent styling and ellipsis/edit behavior, matching Goal cards for a unified UI.

### Fixed
- Home panel Undo/Redo buttons removed; these controls now exist only in Goal view.
- ActionBarButton painting fixed: clears background correctly, text always drawn on top, and hover state no longer causes overlapping artifacts.
- GoalTrackerPanel `home()` method fixed so returning from Goal view refreshes and displays the goal list instead of a blank panel.
- ListPanel `refresh()` updated to rebuild list before refreshing children, preventing stale or empty views.
- Improved accuracy of mouse selection in home goal list; click/hover listeners now consistently cover the entire item area.
- Goal name input now fully supports keyboard shortcuts (Ctrl/Cmd+C, V, X, A, Insert/Delete variants) and right-click context menu for copy/paste across all platforms.
- Empty goals (0/0 tasks) created via **+ Add goal** are now automatically removed when backing out without adding tasks, preventing clutter in saved goal lists.
- Fixed visual refresh issue where quest task statuses didn’t show correctly on login unless re-entering the goal.
- Fixed child task refresh issues after parent complete/incomplete cascades by recursively refreshing all descendants.
- Fixed blank panel issue when switching from Home to Goal view by only using inner card body for Goal rows.
- Fixed completion chat message not appearing; now delivered as a proper `GAMEMESSAGE` with customizable config color.
- Export/Import buttons previously non-functional; now wired to save/load JSON correctly.
- Item icons not appearing until entering a goal; fixed by warming icons at startup/login and after import.
- Home panel not refreshing after task completion; fixed with GoalsChangedListener refresh hook.
- Overlapping UI issue around Export button resolved by adjusting panel borders and layout.
Loading