❗️The plugin remains fully compatible with data from version 3.0.4 and earlier. Before making any modifications, a backup is automatically created, ensuring a seamless and secure migration to the latest version without data loss.
New Features & Improvements
Rewards based on join streaks are here!
Players can now earn custom rewards by logging in across
configurable time windows — whether daily, weekly, or any schedule you define using cron expressions.
This join streak system supports
looping reward cycles and lets you attach messages, commands, sounds, permission grants, and GUI icons to each reward milestone.
Everything you need to get started — including setup instructions, configuration tips, and a ready-to-use 30-day template — can be found here.
New commands and permissions
- /playtimejoinstreak -> Opens the join streak rewards management GUI, requires the permission playtime.joinstreak
- /playtimejoinstreak seeplayer <playername> -> Opens the same visual GUI as /claimrewards, but viewed from the perspective of the target player. This GUI is read-only when viewing another player’s rewards. Admins cannot claim or modify rewards through this interface. Requires permission playtime.joinstreak.seeplayer
- /claimrewards -> Opens the GUI to claim available rewards. Requires the permission playtime.joinstreak.claim, which is enabled by default.
Alternatively, players with the playtime.joinstreak.claim.automatic permission will automatically receive their rewards without needing to use the command.
New Placeholders
- %PTM_joinstreak% -> Displays the current player's absolute join streak
- %PTM_joinstreak_<nickname>% -> Displays the absolute join streak for a specific player
New aliases for commands
New aliases for commands are available:
- /playtimeaverage -> /ptavg
- /playtimepercentage -> /ptpercent
- /playtimetop -> /pttop
- /playtimegoal -> /ptgoal
- /playtimereload -> /ptreload
- /playtimebackup -> /ptbkp
- /playtimejoinstreak -> /ptjsk
Both complete commands and relative aliases are present in tab completion.
New translation options
This is part of the full-customization process this plugin aims to achieve. A new folder has been created called
Translations which currently contains 2 subfolders:
- Commands -> This contains a config which will be used to translate command output of the plugin.
- GUIs -> This contains a config which will be used to translate each player-facing GUI of the plugin.
This is the first step — more will come in the future.
New option in playtime reset command
Now you can reset player's join streaks with:
playtime <playername>|* reset joinstreak -> This will reset both absolute and relative join streak of the specified player.
New custom chat input system
A new system to get input from users via chat messages has been implemented. This was necessary to configure certain parameters for join streak rewards — and it also benefits goal tracking!
Bug Fixes
- Fixed wrong visualization of refresh rate in console.
- Various wrong instructions corrected in config files.
- Fixed spam of errors when updating from 3.0.4 to newer versions.