Rebuilt Goal Tracker Plugin — New Features, Redesigned UI & Fixes#42
Rebuilt Goal Tracker Plugin — New Features, Redesigned UI & Fixes#42Toofifty merged 62 commits intoToofifty:masterfrom
Conversation
added color selector for goal completion message. added check upon goal set and login for completed goal.
…or, and login goal evaluation - Introduced right-click context menu handling in GoalPanel to allow toggling Task.Status for tasks created via presets - Updated Task model and TaskItemContent to support manual status toggling independent of task source - Added @Alpha color picker to GoalTrackerConfig for customizing chat message color on task completion (default: FF16ABE5) - Applied selected color in plugin logic where task completion messages are sent via chat - Hooked into GameState.LOGGED_IN to invoke goalManager.evaluateAllGoals(), checking for and marking completed tasks based on current game state - Amended README changelog to clarify new features vs previous "fix" label
…mark all child tasks as completed or incomplete - Add recursive task status update method to Goal model for batch completion toggling - Ensure goalTrackerPanel refreshes after task updates triggered by quest chat messages - Add quest task validation to onGameTick to auto-update completion status on login - Fix issue where quest task completions were not visually reflected until user re-entered the goal view
Quest pre recs
…e for improved readability. - ComboBox font scaling updated to use integer point sizes, preventing fuzzy text. - QuestTaskInput updated to rely on shared ComboBox styling for consistency.
…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.
…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.
…th a new action bar beneath it containing **+ Add goal**, **Move**, and **Bulk Edit** buttons (the latter two are placeholders marked "Coming soon").
Quest pre reqs fixes
Pinning new
…ack to the OG path and started removing any\all v2. Currently some stuff still lingers but it's running and working.
…ack to the OG path and started removing any\all v2. Currently some stuff still lingers but it's running and working.
…ack to the OG path and started removing any\all v2. Currently some stuff still lingers but it's running and working.
…ack to the OG path and started removing any\all v2. Currently some stuff still lingers but it's running and working.
…ences Clean up V2 and AhDoozy references
…ack to the OG path and started removing any\all v2. Currently some stuff still lingers but it's running and working.
Move back into og
Toofifty
left a comment
There was a problem hiding this comment.
Hey @AhDoozy! Thanks heaps for this, I've finally had some time to sit down and try out your changes.
All the new features you added look and work great - I'm not going to scrutinize the code too much since you're much more familiar with it than I am at the moment 😅 though I tried to leave some comments to improve the readme description.
I briefly got it running and did some testing, there's a few issues I think need to be addressed before we can release this:
- Empty state is cut off / does not wrap
- Adding pre-reqs adds one too many indents
- It's also a bit unclear at a glance what "pre-reqs" includes (especially when there is no quests in the list). Maybe the alert that shows could say something like "There are no quest pre-reqs to add"?
- Mark all as complete/incomplete can't be undone
- The pin/unpin options appear twice in the menu when right-clicking on the progress bar or number, and don't appear when clicking on the border of the goal elements
- Progress bars sometimes stretch too wide
- Can't re-order goals via the right-click options
- I've gotten into a state where the entire panel crashes when clicking a certain goal (maybe when it contains items?). I think the status might be null. Stacktrace:
java.lang.NullPointerException: Cannot invoke "Object.hashCode()" because "pk" is null
at java.base/java.util.ImmutableCollections$MapN.probe(ImmutableCollections.java:1321)
at java.base/java.util.ImmutableCollections$MapN.get(ImmutableCollections.java:1235)
at com.toofifty.goaltracker.ui.TaskItemContent.refresh(TaskItemContent.java:145)
at com.toofifty.goaltracker.ui.GoalPanel.lambda$new$5(GoalPanel.java:104)
at com.toofifty.goaltracker.ui.components.ListPanel.buildItemPanel(ListPanel.java:102)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at com.toofifty.goaltracker.ui.components.ListPanel.buildItemPanels(ListPanel.java:79)
at com.toofifty.goaltracker.ui.components.ListPanel.tryBuildList(ListPanel.java:162)
Let me know when you've got it into a state you're happy with, and I'll add you as a contributor and we can release this :)
README.md
Outdated
| ----- | ||
| <details> | ||
| <summary><span style="margin-left:8px;"><h3 style="display:inline;">📜 Original Goal Tracker v1 Readme & Documentation (created by dillydill123)</h3></span></summary> |
There was a problem hiding this comment.
Happy for you to remove the initial README content
README.md
Outdated
| > A 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. | ||
| > It is now faster, cleaner, and more reliable — introducing a Quest Requirements system, presets, improved visuals, and smoother task/goal management. |
There was a problem hiding this comment.
nit: this sounds very AI 😂 and I think a lot is unnecessary for regular users thinking of downloading the plugin. Maybe it could just be a brief overview of what the plugin does instead of how clean the UI is?
There was a problem hiding this comment.
Very Ai indeed 😉 🙃
runelite-plugin.properties
Outdated
| author=toofifty | ||
| support=https://github.com/toofifty/goaltracker |
There was a problem hiding this comment.
These should not be changed
| author=toofifty | |
| support=https://github.com/toofifty/goaltracker | |
| author=Toofifty | |
| support=https://github.com/Toofifty/rl-goal-tracker |
| /** | ||
| * Returns a human-readable name for the task. | ||
| */ | ||
| public abstract String getDisplayName(); |
README.md
Outdated
| ✨ New Features | ||
| - Shift+Click task removal for faster management | ||
| - Automatic goal status checks for real-time progress | ||
| - ActionBar & ActionBarButton UI components for navigation and bulk actions |
There was a problem hiding this comment.
Like above comment, this isn't really useful to most users (the changelog you added is great and where this technical stuff should be)
|
@Toofifty , thanks for the quick reply and going through that. I'll dive into those last few issues hopefully tonight. |
…rk all complete/incomplete is working.
- Rename box no longer stretches the card and only activates when it should - Added a right-click Rename option with proper commit/cancel (ESC to cancel) - Cleaned up Pin/Unpin so there’s only one menu item and unpin refreshes instantly - Move up/down/top/bottom now actually reorders cards; removed forced A–Z sorting - Export now asks before overwriting a file - Import now asks whether to Overwrite, Merge, or Cancel
|
@AhDoozy If you have time i'd love to be using this anytime soon! |
- Fixed issue in .properties
9-5-25 PR fixes
|
Alright, should be solid now.
|
|
@Toofifty How's it lookin? |
|
@Toofifty I would love to see this updated if possible |
|
Hey! Code changes LGTM - I'll do another round of QA tonight and get this merged in if all looks good :) |
Toofifty
left a comment
There was a problem hiding this comment.
Nice work! Give me a bit to submit it to plugin hub. I'll add you as a contributor so you're not blocked by me if you decide to add more features :)
very much appreciated! |
This PR delivers a rebuilt Goal Tracker plugin with new functionality, modernized UI, and critical fixes for smoother use.
This rebuild makes Goal Tracker faster, cleaner, and more reliable — introducing a Quest Requirements system, presets, improved visuals, and much smoother task/goal management.
✨ New Features
• Shift+Click task removal for faster management
• Automatic goal status checks for real-time progress
• ActionBar & ActionBarButton UI components for navigation and bulk actions
• Quest Requirements file built and integrated for quick access to quest pre-reqs
• Preset Goal Lists
• Export/Import goals to JSON with full UI refresh
• Inline editing for goal titles and manual tasks
• Long titles now ellipsized with hover-to-view full text
• Export/Import buttons
♻️ Redesigned
• Quest prerequisites button leveraging the new Quest Requirements file
• Cascading completion to auto-complete related tasks
• Dropdown quest selector for faster task addition
• Right-click menus streamlined for prerequisites and child task options
• Goal/task cards with lighter fills, shadows, hover/press effects, and clear header dividers
🐛 Fixes
• Undo/Redo functionality cleanup
• ActionBarButton painting glitches resolved
• Proper refresh handling in GoalTrackerPanel and ListPanel
• Fixed blank/refresh issues when switching panels or logging in
• Item icons preload correctly at startup/login/import
• Home panel refreshes immediately after task completion
• Layout fixes around Export button to avoid overlap
• Recursive refresh of child tasks ensures status consistency
Should fix issues #39 #33 #30 #31