❗️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
New goals requirements
Goals can now have customizable requirements that must be met to achieve them. A new "Requirements" section in the goals settings GUI allows you to configure:
- Time requirement – Previously mandatory, now optional and can be set to none
- Permission requirements – Set group or single permissions (e.g., group.newbie) that players must have
- Placeholder conditions – Create boolean conditions using PAPI placeholders from this plugin or others, supporting operators:
==, !=, >, <, >=, <=.
Includes special PLAYER_NAME placeholder for player-specific comparisons (e.g., %PTM_nickname_top_1% == PLAYER_NAME) for leaderboard-based goals
All configured requirements must be satisfied simultaneously to receive the reward.
New GUI sections for goals and join streaks rewards
Goals GUI has been redesigned with significant improvements:
- Removed Anvil-based GUIs – Replaced with more customizable chat-based input systems
- New goal creation method – Removed /playtimegoal set subcommand in favor of a "Create New Goal" button directly in the GUI for easier access
For both goals and join streak GUIs:
- Reorganized rewards section – Previous permissions and commands have been moved to a dedicated "Rewards" section within the goal/join streak reward settings GUI for better organization
Negative playtime values reverted
The restriction on negative playtime values has been removed. Players can now have their playtime reduced below 0 using the
/playtime remove command, with values going as low as
-Long.MAX() for maximum flexibility in playtime management.
New translation options
Added new customizable message configurations for
playtimetop command, namely:
- Permission denied messages – Custom message when players lack command permissions
- Page navigation messages – Error messages for invalid page numbers and non-existent pages
- Argument validation – Custom message for invalid command arguments
- Player data messages – Messages for when no players have joined and data loading errors
These lines will be automatically added into your
Translations/Commands/commands-config.yml without interfering with previous values of other fields.
New playtimejoinstreak set subcommand
A new
set subcommand for
/playtimejoinstreak has been added, syntax:
/playtimejoinstreak set <playername>|* <value>
This will set the target player's relative join streak to the specified value.
Bug Fixes
- /playtime remove subcommand now removes playtime correctly
- /playtime reset all subcommand now resets every database record as intended