
BetterPlaytime 1.1.2
A simple but powerful plugin to view players in-game playtime and other time-related statistics.
BetterPlaytime
BetterPlaytime is a simple but powerful plugin to view players in-game playtime, times played, join date, and last played time.
BetterPlaytime is a simple but powerful plugin to view players in-game playtime, times played, join date, and last played time.

Features
- Easily migrate your existing Minecraft player statistics into the playtime database.
- Fully customizable in every single way.
- Configurable command prefix.
- Check offline player's playtime, join date, times played, and last played time.
- Beautiful multi-page leaderboard with JSON hovers.
- Full PlaceholderAPI support.
- Powerful message formatting using MineDown.
- Full Hex Color support.
- Toggle player's visibility on the leaderboard.
- Supports SQLite and MySQL.
- Lightning fast and efficient with HikariCP.
- Made with love.
Installation
- Install BetterPlaytime.jar into your plugins folder.
- Load the plugin to generate configs.
- Optionally, if you are using MySQL, configure the database details in config.yml.
- If you changed your database type, restart the server.
- Run /playtime migrate from console to migrate existing Minecraft player playtime statistics.
Commands / Permissions
- /playtime
Get your in-game playtime statistics.
playtime.use - /playtime <player>
Get the specified player's in-game playtime statistics.
playtime.use.other - /playtime top [page]
View the playtime leaderboard.
playtime.top - /playtime hide <player>
Toggle the specified player's visibility on the leaderboard.
playtime.admin - /playtime migrate
Migrate Minecraft player statistics to the playtime database.
playtime.admin - /playtime reload
Reload the plugin configuration.
playtime.admin - /playtime help
View the plugin help.
Placeholders
- %playtime_name%
The player's name. - %playtime_time%
The player's playtime. - %playtime_time_days%
The player's playtime in days. - %playtime_time_hours%
The player's playtime in hours. - %playtime_time_minutes%
The player's playtime in minutes. - %playtime_join_count%
The player's join count. - %playtime_join_date%
The player's join date. - %playtime_last_played%
The player's last played time.
Each placeholder has a leaderboard variation by suffixing _# or _playername at the end of the placeholder.
For example, %playtime_time_1% would get the playtime of the player ranked first place on the leaderboard and %playtime_time_Log1xx% would get the playtime for me (if applicable).
Configuration
config.yml
command: playtime
update-interval: 300
leaderboard:
show-per-page: 10
max-pages: 5
database:
driver: sqlite
host: localhost:3306
database: playtime
username: root
password: ''
prefix: playtime_
pooling:
min-idle-connections: 3
max-connections: 5
messages.yml
messages:
generic:
prefix: '&a&lPlay&ftime &8> &f'
date: MM/dd/yyyy
format: '{days} {hours} {minutes}'
day: day
days: days
hour: hr
hours: hrs
minute: min
minutes: mins
ago: ' ago'
online: Now
less-than-day: '>1'
less-than-hour: '>1'
less-than-minute: '>1'
unknown: N/A
playtime:
format:
- '&a&m+&8&m &r&a {player}''s&f Playtime &8&m &a&m+'
- '&8➝ &aPlaytime:&f {playtime}'
- '&8➝ &aTimes played:&f {joinCount}'
- '&8➝ &aJoin date:&f {joinDate}'
- '&8➝ &aLast seen:&f {lastPlayed}'
not-found: The player &a{player}&f could not be found.
no-permission: You are not &aallowed&f to view other player's &aplaytime&f.
console: Console must specify a &aplayer&f.
description: View you or another player's playtime.
top:
header: '&a&m+&8&m &f Top &a&lPlay&ftime &8&m &a&m+'
format: '&a{count}. &f{player} &7- &a{playtime}'
hover:
- '&8➝ &aPlayer:&f {player}'
- '&8➝ &aPlaytime:&f {playtime}'
- '&8➝ &aTimes played:&f {joinCount}'
- '&8➝ &aJoin date:&f {joinDate}'
- '&8➝ &aLast seen:&f {lastPlayed}'
footer: '&a&m+&8&m &a&m+'
invalid-page: Page number must be between &a1&f and &a{maxPages}&f.
empty: The leaderboard has not &aupdated&f yet.
description: View the playtime leaderboard.
hide:
hidden: '&a{player}&f is now &chidden&f on the leaderboard.'
visible: '&a{player}&f is now &avisible&f on the leaderboard.'
not-found: '&a{player}&f could not be found.'
description: Toggle the specified player's visibility on the leaderboard.
migrate:
starting: Starting playtime &amigration&f. This may take a &aminute&f but should
not affect server performance.
finished: Successfully migrated &a{count}&f players into the playtime database.
console: This &acommand&f can only be executed by &aconsole&f.
description: Migrate Minecraft player statistics to the playtime database.
reload:
success: Plugin has been &asuccessfully&f reloaded.
failed: Plugin &cfailed&f to reload. Check console for details.
description: Reload the plugin configuration.
help:
header: '&a&m+&8&m &a&l Play&ftime &8&m &a&m+'
format: '&8➝ &a/{command} &7{parameters} &f- {description}'
footer: '&a&m+&8&m &a&m+'
description: View the plugin help.
Support / Feature Requests
- Add Log1x on Discord
- Message me on Polymart