Admin & Meta
How claims are actually tracked, and every command you need to inspect or reset a player.
Why meta, not permissions
Most playtime configs track claims with permissions. That approach is broken by design: Bukkit grants OP players every permission, so any OP sees all 110 levels as already claimed — and there's no way to un-see it.
This pack uses LuckPerms meta instead. Meta is real stored data, not a permission check, so OP cannot bypass it:
# written when a player claims a level
/lp user <player> meta set ptclaimed<level> true
# read back by the menu
%luckperms_meta_ptclaimed<level>% → "true"
The three claim guards
A level can be claimed exactly once. Three independent checks make sure of it:
"true" — a claimed level physically isn't there to click.[close] fires before the reward commands, killing spam-click duplication at the source.Fail-safe behaviour
Every claimable item also verifies that the placeholder actually parsed. If LuckPerms or PlaceholderAPI goes missing, levels stay LOCKED instead of becoming infinitely claimable — the setup fails closed, not open.
Admin commands
| Task | Command |
|---|---|
| Reset one level for a player | /lp user <player> meta unset ptclaimed5 |
| Force-mark a level claimed (no rewards) | /lp user <player> meta set ptclaimed5 true |
| Check a player's playtime | /papi parse <player> %statistic_hours_played% |
| Set the default level meta | /lp group default meta set ptlevel 0 |
Reset a player's full progress
/lp user <player> meta clear
/lp user <player> meta set ptlevel 0
meta clear wipes all of that player's meta — including any set by your other plugins, not just playtime claims. Use it knowingly.