# New features
## New join streak rewards repeatability option
Streak rewards can now be configured as non-repeatable, meaning they will only be granted to a player once even if their streak resets and they reach the required join count again. Note that this option is only available for single-join rewards, range rewards are always repeatable.
## New PAPI placeholders
- New PAPI placeholders have been added for join streak rewards, allowing you to query reward state and metadata directly, including whether a reward is pending collection, expired, or already received. A `repeatable` property is also exposed.
- New PAPI placeholders have been added for goals, letting you check goal completion status and completed goal counts for the current player or by nickname.
See the refactored [Placeholders](https://github.com/TheGaBr0/PlayTimeManager/wiki/Placeholders) page index for the full references.
## Claimrewards GUI overhaul
All GUI slot positions (filter buttons, pagination, claim-all, no-rewards indicator) are now configurable from `GUIs-config.yml` rather than hardcoded. Border material and visibility, filter button materials, and sound effects for claim success, errors, and permission denials are likewise config-driven. PlaceholderAPI placeholders are now resolved in all GUI strings if PAPI is installed. Reward items now support PLAYER_HEAD as available icon material, same with the stats GUI.
# Improvements
Nickname lookups for premium servers are no longer case-sensitive across all plugin features. You can now reference a player as `Steve`, `steve`, or `STEVE` and the plugin will resolve them correctly. On cracked (offline-mode) servers, the player's original casing is still required.
# Bug fixes
- Fixed a display bug in the goal settings GUI where the repeatability toggle was showing the wrong label. [@MM4096, [#23](https://github.com/TheGaBr0/PlayTimeManager/pull/23)]
- Fixed an issue where using `/playtime reset` on a currently online player would not correctly clear their playtime data.
- Fixed a desync issue affecting join streak reward processing on servers with low TPS. If a player who had not finished loading disconnected and reconnected repeatedly, the plugin could grant streak rewards out of order, bypassing the normal join streak schedule. This has been corrected.
- Various improvements all around.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }