Fixed /playtime reload causing tracking to stop in some cases.
Fixed AFK recovery so players are no longer stuck as AFK after moving, chatting, using commands, or interacting.
Fixed milestone GUI issues with player heads/custom heads on older versions.
Improved MySQL/MariaDB support and fixed connection/table/index issues on newer database versions.
Added SQLite driver bundling so SQLite works out of the box.
Added daily / weekly / monthly playtime tracking:
# Daily = today
# Weekly = last 7 days
# Monthly = last 30 days
New placeholders:
# Current server
%playtime_daily%
%playtime_weekly%
%playtime_monthly%
# Specific server
%playtime_prison_daily%
%playtime_prison_weekly%
%playtime_prison_monthly%
# Global across all servers
%playtime_global_daily%
%playtime_global_weekly%
%playtime_global_monthly%
These also support time unit formats like the existing placeholders:
%playtime_daily_seconds%
%playtime_weekly_minutes%
%playtime_monthly_hours%
%playtime_global_daily_seconds%
%playtime_global_weekly_minutes%
%playtime_global_monthly_hours%
The default /playtime message now includes:
Added daily streak minimum playtime requirement:
- "&3⋗ &bToday: &f%daily_time%."
- "&3⋗ &bLast 7 Days: &f%weekly_time%."
- "&3⋗ &bLast 30 Days: &f%monthly_time%."
Streak:
Rewards:
Min-Playtime-Required: 30
Set it to 30 to require 30 minutes of counted playtime today before the daily streak reward is given.
Set it to 0 to give the streak reward just for logging in after the configured delay.
YAML:# Works in any configurable GUI item: # shop.yml, rotatingshop.yml, leaderboard.yml, milestones.yml # Vanilla / normal resource pack custom model data Example-Vanilla-CMD: Material: PAPER Custom-Model-Data: 123 Name: "&aCustom Model Data Item" # Modern 1.21.4+ item model component Example-Item-Model: Material: PAPER Item-Model: "minecraft:example_model" Name: "&bItem Model Component Item" # Nexo custom item by item ID Example-Nexo: Material: "nexo:my_custom_item" # Also supported: "nexo-my_custom_item" Name: "&dNexo Item" # Nexo 1.21.4+ item model component Example-Nexo-Item-Model: Material: PAPER Item-Model: "nexo:my_custom_item" Name: "&dNexo Item Model" # Oraxen custom item by item ID Example-Oraxen: Material: "oraxen:my_custom_item" # Also supported: "oraxen-my_custom_item" Name: "&6Oraxen Item" # ItemsAdder custom item by namespace:id Example-ItemsAdder: Material: "ia:namespace:item_id" # Also supported: "itemsadder:namespace:item_id" Name: "&eItemsAdder Item" # String-based custom model data for modern packs Example-String-CMD: Material: PAPER Custom-Model-Data: "my_model_id" Name: "&aString Custom Model Data"
- Updated multiple configs for cleaner customization and smoother upgrades.
- Improved command/message handling and overall plugin consistency.
- Added standalone aliases: /milestones and /rewards (toggleable in config).
- Added one-time milestones system with claim states (locked/unlocked/claimed) and GUI.
- Added AFK tracking/statistics with new AFK placeholders.
- Added first-join tracking and session-start tracking placeholders.
- Added self-rank leaderboard placeholders (including global rank-self support).
- Added permission-based playtime tracking (playtime.track).
- Added message display-type support (chat/actionbar/title/bossbar).
- Added bossbar action support for supported versions.
- Added keep-total-playtime behavior on server reset.
- Fixed a small issue with inventories.
- Plugin remains compatible across 1.8.8 to 1.21.11 .
![]()
- Fixed a small issue with inventories
- Added placeholder: %playtime_top_{rank}_hours%
- Added placeholder: %playtime_global_top_{rank}_hours%
- Fixed an issue with player heads on 1.21
- Added placeholders:
- %playtime_global_top_{rank}_seconds%
- %playtime_global_top_{rank}_minues%
- %playtime_global_top_{rank}_hours%
- %playtime_global_top_{rank}_days%
- %playtime_global_top_{rank}_weeks%
