Tags
Creators
Details
3.5.3
Compatibility
Changes
⚠️ WARNING FOR 3.5.2 USERS: A critical bug has been fixed where players’ AFK time was being subtracted twice when ignore-afk-time was enabled. This caused total playtime to be undercounted after players quit the server. Updating to this version is strongly recommended to ensure accurate playtime tracking.
❗️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
AFK detection system is here!
Introduced AFK detection capabilities with external plugins integration:
afk-detection-plugin– Configure which plugin will serve as the AFK detector that PTM will hook into (currently only EssentialsX is supported)ignore-afk-time– When enabled, AFK time is excluded from total playtime calculations used throughout the plugin (goals requirements, displays, etc.)- Enhanced player information display with dedicated AFK time tracking in the new stats GUI
- Added new PAPI placeholders for AFK time monitoring:
%PTM_afk_playtime%,%PTM_afk_playtime_#%,%PTM_afk_playtime_<nickname>%,%PTM_afk_playtime_<nickname>_#%
New customizable stats GUI system
Completely redesigned the stats display system with a flexible, view-based GUI:
- Command restructure:
/playtime <target> statshas been converted to/playtimestats <target>with enhanced functionality - View-based customization: GUI adapts based on the player accessing it and their permission level
- Owner view: Full access to personal statistics when players check their own stats
- Player view: Public statistics display when viewing other players
- Staff view: Enhanced administrative details for users with
playtime.others.stats.staffpermission
- New permission system: Updated permissions structure for granular access control
playtime.stats– Access to/playtimestats(/ptstats) | AKA access to personal statistics (enabled by default)playtime.others.stats– Access to/playtimestats <target>(/ptstats <target>) | AKA View other players' statistics (disabled by default)playtime.others.stats.staff– Enhanced staff view with administrative details
- Console compatibility: Text-based statistics output for console usage with detailed formatting instead of in-game GUI.
- Configuration location: The new stats GUI can be found in
Customizations/GUIs/GUIs-config.yml - Wiki documentation: A detailed guide on the views system and customization tutorial is available in the wiki
Internal placeholder format update
Updated internal placeholder formatting for improved consistency:
Format change: Internal placeholders have been converted from {placeholders} to %PLACEHOLDER%.
Do not confuse internal placeholders with PAPI placeholders, which maintain the format %PTM_PLACEHOLDER%.
Bug fixes
- Fixed
PTM_Rankplaceholder showing0instead ofplaceholders.not-in-leaderboard-messageconfig field (again) - Fixed a case where, if the
first_joindb field is null for a player, a double join streak increment is given. - Fixed tab completion for
/playtimecommand
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:OzCiibPq:kgrGNg2v"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:OzCiibPq:kgrGNg2v"
}

