XenoLevels
Experience Design
Plan EXP sources with events, conditions, and anti-abuse tools.
XenoLevels lets you award EXP from almost any activity. Map gameplay actions to expressions, then layer conditions and anti-abuse rules to keep the system fair.
Define your event sections
- Configure sections inside
exp-events.yml. - Reference the full Event Catalog for every expression, argument, and count policy.
- Expressions follow the pattern
EVENT[count]:ARG=value. Use::or&&for logical AND and||for OR segments. [count]requirements depend on the event policy (NORMAL, EXCESSIVE, IGNORED, or NO_ARGS). Events with the EXCESSIVE policy can pay partial rewards whenpartial-excessive: true.- Set
expto a single number or amin, maxrange, and toggle creative access withapply.on-creative.
Layer conditions
- Use
conditions.ymlto restrict EXP to specific worlds, times of day, permissions, or player states. - Combine economy requirements (
min-balance,cost-per-exp) with booster or reward systems for monetised progression. - Enable AFK detection by setting
player-states.afk-checkto the number of idle seconds allowed.
Prevent abuse
- Build targeted cooldowns and EXP caps in
anti-abuse.yml. - Group similar events (mining, combat, farming) into separate modules so you can tune their timers independently.
- Turn off
anti-abuse.player-placed-blocksor require natural blocks to stop farm loops.
Test and iterate
- Update the YAML files for the relevant system.
- Run
/xlv reloadto apply changes. - Monitor the console for syntax warnings and adjust expressions or filters as needed.
Pro tip
Keep your sections short and descriptive. It is easier to debug
dragon-slayer or mining-dailies than a single giant block that mixes unrelated activities.Last updated on