Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for TheGabro

PlayTimeManager is a playtime tracker that monitors player activity with extensive customization and automated rewards.

Report PlayTimeManager?

Release
3.5

TheGabro released PlayTimeManager version 3.5 on Wed 8:53 AM

❗️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 support for custom playtime formats

Introduced a comprehensive playtime format system enabling the possibility to create personalized time display formats through YAML configuration files stored in the Customization/PlaytimeFormats directory.

The system supports both internal plugin placeholders and PlaceholderAPI (PAPI) placeholders by appending the custom format name after a colon (e.g., %PLAYTIME:custom% or %PTM_playtime:custom%) at the end of the placeholders.

The system features automatic zero-value hiding and singular/plural unit selection, it also provides configurable labels for all time units with advanced formatting options using time value and unit label placeholders. For more info, take a look at the new wiki page!

New /playtimereset subcommands

Enhanced the /playtime <target> reset command with expanded reset options providing more granular control over player data management. The updated system replaces the previous limited parameters (all, db, stats, joinstreak) with a comprehensive set of specific reset types, allowing you to target exact data components without affecting unrelated information.

New reset types:

  • server_playtime - Resets only server statistics (PLAY_ONE_MINUTE)
  • playtime - Resets database playtime records (artificial and actual)
  • last_seen / first_join - Individual timestamp data management
  • joinstreak: Resets both absolute and relative join streak records
  • joinstreak_rewards - Resets reward progress and tracking separately from streak counts
  • goals - Targets completed goals data specifically
  • everything - Complete reset (replaces old all parameter) with clearer scope definition

New /playtimeattribute command

Added a new /playtimeattribute <attribute> [true|false] command (alias: /ptattr) for managing internal player attributes within PlayTimeManager.

  • Requires the permission with playtime.others.attributes
  • Currenlty only 1 attribute supported as argument: hidefromleaderboard
  • Directly modifies a new config field: placeholders.playtime-leaderboard-blacklist

Folders organization and configs updater

The "Translations" folder has been renamed to "Customizations" to better reflect its expanded purpose beyond just language files.

  • Relocated command messages - playtime-self-message and playtime-others-message moved from main config to Customizations/Commands/commands-config.yml

Completely rewritten config file versioning system for better performance and usability, now before updating the updater will create a complete backups of the entire PlayTimeManager folder instead of database-only entries.

More caching!

Enhanced performance through the implementation of a dedicated cache system for commands and GUIs configuration files. This optimization reduces file I/O operations by storing frequently accessed configuration data in memory, resulting in less server overhead.

Bug Fixes

  • Fixed not-in-leaderboard-message: now if a player isn't in the leaderboard the correct config message is displayed whe using PTM_rank PAPI placeholder.
  • Fixed playtime leaderboard player hiding mechanism: replaced permission-based system with a config-based one. See /playtimeattribute command in the wiki for more info.

Information

Published onJuly 23, 2025
Downloads0

Platforms

Paper Paper (1.19-1.21.8)

Dependencies

Paper Paper
Edit Plugin Dependencies: Paper