Skip to content

Update gemstone-crab-timer #8647

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Aug 2, 2025
Merged

Update gemstone-crab-timer #8647

merged 5 commits into from
Aug 2, 2025

Conversation

ShaneeexD
Copy link
Contributor

@ShaneeexD ShaneeexD commented Jul 29, 2025

Renamed to "Gemstone Crab" after merging and updating with 2 other contributors

Added:
Current Fight Session

  • XP Gained
  • Time Left (Estimated)

Kill Stats

  • KC Counter
  • Mining Attempts
  • Successful
  • Failed
  • Gems Mined

Gem Tracking

  • Tracks each gem count using icons

  • Kill Stats & Gem Tracking are saved and persistent, can be reset with !resetgemcrab command

Screen Pulse

  • Screen Pulse when fight is over
  • Colour can be configured
  • Added plugin icon

Changes:

  • Authors, Plugin name, More tags
  • Better configuration, each overlay section, feature and individual component can be toggled on or off, all sorted into sections
  • Player within area detection better improved and reliable

Note: We are planning on making optimizations and making code more readable/organized very soon, wanted the update out and it has been thoroughly tested with no issues

image image image

@runelite-github-app
Copy link

runelite-github-app bot commented Jul 29, 2025

@runelite-github-app
Copy link

runelite-github-app bot commented Jul 29, 2025

Internal use only: Reviewer details Maintainer details

@riktenx
Copy link
Member

riktenx commented Jul 31, 2025

  • Prefix any chat messages you emit with the name of your plugin e.g. [Gemstone Crab] <message>
  • FYI you probably want to use getRSProfileConfiguration / setRSProfileConfiguration for all of your tracked statistics because those will also automatically key by account.

@tylerwgrass
Copy link
Member

I recommend caching your config...() calls outside of your overlay render method as calling so many so regularly may cause degraded performance.

@ShaneeexD
Copy link
Contributor Author

Thanks, were on it

@raiyni raiyni added the waiting for author waiting for the pr author to make changes or respond to questions label Jul 31, 2025
@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Jul 31, 2025
Overlay rendering now uses the configuration store for cached values instead of pulling configuration manager each time
Added launch configuration without debug to not see all the debug messages
Added Timing helper which was used to get timings for the renders
Profiles are now taken into account for the different saving stats
Any existing counts will sadly be reset because of this
Render Timings in nanoseconds:

Before changes:
Average render time: 71183.08373205742 over a total of 41800.0 renders. Running total 2.9754529E9
Average render time: 71156.34844868735 over a total of 41900.0 renders. Running total 2.981451E9
Average render time: 71140.06190476191 over a total of 42000.0 renders. Running total 2.9878826E9

With new configuration store (about a ~10k nanosecond decrease on average):
Average render time: 61921.20574162679 over a total of 41800.0 renders. Running total 2.5883064E9
Average render time: 61899.178997613366 over a total of 41900.0 renders. Running total 2.5935756E9
Average render time: 61881.780952380956 over a total of 42000.0 renders. Running total 2.5990348E9

Added time left overlay to the tunnel
Added a couple of AFK checks for the screen pulsing
@ShaneeexD
Copy link
Contributor Author

Overlay rendering now uses the configuration store for cached values instead of pulling configuration manager each time

Added launch configuration without debug to not see all the debug messages

Added Timing helper which was used to get timings for the renders

Profiles are now taken into account for the different saving stats

Render Timings in nanoseconds:

Before changes:
Average render time: 71183.08373205742 over a total of 41800.0 renders. Running total 2.9754529E9
Average render time: 71156.34844868735 over a total of 41900.0 renders. Running total 2.981451E9
Average render time: 71140.06190476191 over a total of 42000.0 renders. Running total 2.9878826E9

With new configuration store (about a ~10k nanosecond decrease on average):
Average render time: 61921.20574162679 over a total of 41800.0 renders. Running total 2.5883064E9
Average render time: 61899.178997613366 over a total of 41900.0 renders. Running total 2.5935756E9
Average render time: 61881.780952380956 over a total of 42000.0 renders. Running total 2.5990348E9

Added time left text overlay on tunnel
Added a simple AFK check to make screen pulse more intuitive

@LlemonDuck
Copy link
Contributor

Rather than providing options for all the notification values, you can just make the config entry of type Notification to let users configure it themselves or default to RuneLite defaults

@LlemonDuck LlemonDuck added the waiting for author waiting for the pr author to make changes or respond to questions label Aug 1, 2025
@runelite-github-app runelite-github-app bot removed the waiting for author waiting for the pr author to make changes or respond to questions label Aug 1, 2025
Changed notification to built in type
@ShaneeexD
Copy link
Contributor Author

Changed notification to built in type :)

@riktenx riktenx merged commit f000497 into runelite:master Aug 2, 2025
3 checks passed
Moltenrain pushed a commit to Moltenrain/plugin-hub that referenced this pull request Aug 2, 2025
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.

5 participants