Docs
Levels
levels.yml defines independent leveling tracks, as many as you want: player level, mining mastery, event level. Each track has its own experience, formula, sources and rewards.
| Configuration | levels.yml |
| Command | /levels (aliases /level, /lvl, /niveles) |
| Module | always on |
Configuration
yaml
tracks:
player:
enabled: true
name: "Player Level"
color: "&b"
max-level: 500
permission: "" # permission to earn experience, empty = everyone
announce-level-up: true
exp-multiplier: 1.0
formula:
type: exponential # exponential, linear or polynomial
base: 250
growth: 1.08
step: 100
sources:
blocks:
default: 1 # experience per mined block
materials:
DIAMOND_ORE: 10
EMERALD_ORE: 15
currencies:
tokens: 0.05 # experience per token earned while mining
rewards:
levels:
"10":
- "[give] tokens 1000"
- "[title] &b&lLEVEL 10;&7You earned 1,000 tokens"
"50":
- "[give] gems 25"
- "[broadcast] &b{player} &7reached player level &f50&7!"
every:
"5":
- "[give] shards 5"
- "[sound] ENTITY_PLAYER_LEVELUP 1 1.2"Formulas
Experience to go from level N to N+1:
| Type | Formula | Use |
|---|---|---|
exponential | base × growth ^ (N - 1) | Every level costs a percentage more |
linear | base + step × (N - 1) | Every level costs the same plus a fixed extra |
polynomial | base × N ^ growth | Smooth growth, like the pickaxe |
Experience sources
- Blocks:
sources.blocks.defaultand per material values. Extra blocks from enchants, bombs and drills count. - Currencies:
sources.currenciesgives experience per unit of currency earned while mining. - Custom enchants: the
level-expeffect. - Actions:
[exp] <track> <amount>from any reward. - Command:
/levels give.
Experience is multiplied by exp-multiplier and by the level-exp and level-exp:<track> stats.
Rewards
rewards.levels: actions when reaching an exact level.rewards.every: actions every N levels.
Placeholders: {player}, {level}, {track} and {track_name}. When several levels are gained at once, the rewards of each one run.
Commands
| Command | Permission | Does |
|---|---|---|
/levels [player] | everyone | Level and progress in every track |
/levels top [track] | everyone | Leaderboard |
/levels give <player> <track> <amount> | pulseprison.levels.admin | Gives experience |
/levels set <player> <track> <level> | pulseprison.levels.admin | Sets a level |
/levels reload | pulseprison.levels.admin | Reloads levels.yml |
Placeholders
| Placeholder | Returns |
|---|---|
%pulseprison_level_<track>% | Level |
%pulseprison_level_<track>_exp% | Current experience |
%pulseprison_level_<track>_required% | Experience for the next level |
%pulseprison_level_<track>_progress% | Percentage |
%pulseprison_level_<track>_bar% | Progress bar |
%pulseprison_level_<track>_max% | Max level |
%pulseprison_level_<track>_name% | Name with color |
Milestones can require levels with type: level:<track>. Event for addons: PlayerLevelUpEvent.