Add Life Tracker - #14894
Draft
WoodyCode23 wants to merge 4 commits into
Draft
Conversation
|
New plugin |
|
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Life Tracker, a personal activity tracker for your account.
It records what you actually did while playing and shows it over time: tiles walked, ran and sailed; potion doses and foods by individual type; calories; prayer uptime per prayer; playtime split into active and idle; and damage, deaths, kills, specials and alchemy. Everything is broken down by day, week, month, year and all time, with best-day records, login streaks and milestone messages.
The panel has two pages: a summary of colour-coded category cards, and a tracking page for choosing which stats appear on it.
Repository: https://github.com/WoodyCode23/runelite-life-tracker
Notes for review
No network access whatsoever. The plugin makes no HTTP calls and has no server component. Nothing about the player leaves the machine.
Storage is a RuneLite config value rather than a file, which I want to flag up front as the least conventional thing here. History is serialised to JSON, gzipped and base64'd into one config key per character. A file under
~/.runelite/would be the more usual choice, but config values are what profile sync carries between machines, and following your own account's stats across installs is the point of the plugin. To keep that value a sane size, per-day detail is pruned after 90 days while monthly totals and lifetime totals are kept exactly and forever.Characters are keyed by display name, not account hash, so no identifier is derived or stored beyond the name already visible in game.
Heal values come from the client's own
ItemStatChanges, injected directly rather than throughItemStatChangesService, since that interface is bound inside the Item Stats plugin's own injector and is not available to an external plugin.There is an optional support link at the bottom of the second page. It is a plain
LinkBrowser.browsecall, sends nothing, and is easy to drop if you would rather it were not there.BSD 2-Clause licensed,
icon.pngat the repository root,build=standard.