XenoLevels
System Management
Build, adjust, and retire XenoLevels systems from scratch.
XenoLevels can run multiple leveling systems side by side. Use this guide to create new systems, reshape existing ones, or safely remove them without breaking player progression.
Create a new system (from zero)
- Duplicate the template – Copy
plugins/XenoLevels/systems/maininto a new folder (for example,systems/mining). - Register the system – Add the new key under
systems/systems.ymland setenabled: true. Optionally setdefault-systemif it should replace the primary track. - Define its identity – Update
system.ymlwith a uniquename, scoreboard colors, combo timing, and any prestige or requirement toggles. - Shape the level curve – Configure baseline and milestone requirements in
levels.yml. Keep ranges reasonable so the first sessions feel rewarding. - Attach EXP events – Map gameplay triggers in
exp-events.yml. Reuse filters and categories from the Event Catalog to keep the file readable. - Wire optional modules – Add payouts in
rewards.yml, time-limited boosts inboosters.yml, UI tweaks ingui.yml, and protections inanti-abuse.yml. - Localise messages – Extend
lang.ymlwith system-specific titles, buttons, and confirmation text so players see consistent branding. - Reload and test – Run
/xlv reloadfollowed by/xlv info <player> <system>to confirm the system loads, then trigger a few events to verify EXP, rewards, and permissions.
ListChecks
Keep systems tidy
Document new system IDs, formulas, and reward policies in your admin runbook so future changes stay consistent.
Modify a live system
- Safe edits – Adjust configuration files directly, then
/xlv reloadduring low-traffic windows. For deeper formula changes, announce downtime and back up player data. - Reward and booster updates – Whenever you change
rewards.ymlorboosters.yml, test with a non-admin alt to ensure permissions and GUI links behave correctly. - Event tuning – Use conditions and anti-abuse modules to soften spikes instead of deleting events outright. This keeps progress smooth across playstyles.
- Audit visibility – Verify PlaceholderAPI outputs on scoreboards after edits so players always see accurate levels and progress bars.
Remove or archive a system
- Communicate the change – Let players know you are sunsetting a system and whether progress will migrate elsewhere.
- Disable safely – Set the system entry to
enabled: falseinsystems/systems.ymland reload. This stops further EXP without deleting data. - Retire files – Once disabled, delete or archive the system folder under
plugins/XenoLevels/systems/<id>/. Keep backups if you plan to reintroduce it later. - Clean references – Remove related GUI buttons, placeholder usages, or reward commands that targeted the retired system to avoid missing target errors.
- Validate player data – Spot-check a few player records with
/xlv infoto confirm the remaining systems still report correct levels and prestiges.
Advanced workflows
- Seasonal rotations – Keep multiple systems configured and toggle them with
enabledflags to run seasonal ladders without rewriting configs. - Entry requirements – Combine
conditions.ymland booster requirements to gate systems behind permissions, balances, or regions. - Prestige ladders – Use
prestiges.ymlto offer long-term resets. Pair them with unique rewards and booster unlocks so prestige choices feel meaningful. - Data migrations – Before structural changes, back up the
plugins/XenoLevelsfolder. If you reorganize events or requirements, keep identifiers stable so existing progress maps cleanly onto the new structure.
Last updated on