A clean, fully configurable prestige system with multiple tracks, level-based requirements driven by any PlaceholderAPI placeholder, automatic reward commands, and a polished GUI. Paper and Folia 1.21 - 26.x
Support
Report bugs and get support here: https://discord.gg/VvM6k2eBDa
Features
• Folia support – Region-aware scheduling on Folia and Paper out of the box
• Multiple prestige tracks – Run unlimited parallel tracks (e.g. MVP, Combat, Builder) with optional per-track permission gates
• PlaceholderAPI-driven requirements – Any placeholder works as a requirement source (kills, votes, playtime, money, custom stats)
• Shared requirement-types – Define placeholder, display-name and singular/plural suffix once per track, then just set the target amount per level
• Configurable GUI – Material, slot, color, name and lore per level/status (locked/available/unlocked), MiniMessage formatting, custom-model-data support, player-head skin owner
• Status-based rendering – Distinct visuals for locked / available / already-unlocked levels
• Reward commands per level – Run any list of console commands when a player prestiges, with {player} placeholder
• Smart suffix handling – Automatic singular/plural switch ({playtime_suffix} for required, {playtime_suffix_current} for current value)
• Admin tools – Set, reset, inspect and remotely open prestige GUIs for any player (online or offline)
• MySQL or SQLite storage – HikariCP-pooled, WAL-mode SQLite by default; MySQL ready out of the box
• Fully async progress loading – No main-thread DB stalls when opening the GUI or saving prestiges
• MiniMessage messages – All player-facing text editable in messages.yml with hex colors and gradients
• Config versioning – Built-in config-version checks so updates never silently break setups
Commands
/prestige [track] – Open the prestige GUI, optionally for a specific track (perfprestige.use)
/prestiges [track] – Alias of /prestige (perfprestige.use)
/perfprestige reload – Reload config, gui and messages (perfprestige.admin)
/perfprestige help – Show admin command usage (perfprestige.admin)
/perfprestige open (player) [track] – Force-open the prestige GUI for another player (perfprestige.admin)
/perfprestige set (player) (track) (level) – Set a player's prestige level on a track (perfprestige.admin)
/perfprestige reset (player) [track] – Reset all or a specific track's progress for a player (perfprestige.admin)
/perfprestige info (player) [track] – Show stored prestige progress for a player (perfprestige.admin)
Database
• SQLite
• MySQL
