-
Notifications
You must be signed in to change notification settings - Fork 58
Milestones
Milestones turn the big moments in a player's progression into something the whole server notices — a title on their screen, a sound, a firework, a broadcast in chat, and any commands you want to run.
X-Prison already fires an event every time a player ranks up, prestiges, rebirths or levels their pickaxe. Milestones simply listen for the ones you care about. Nothing is added to the mining hot path: the lookup only runs when one of those events actually happens.
Everything lives in milestones.yml.
Each entry under milestones: has a name of your choosing and describes one moment:
milestones:
first-prestige:
type: prestige
at: 1
exact: true
title: '<gradient:#FFD700:#FFA500><bold>PRESTIGE</bold></gradient>'
subtitle: '<white>You prestiged for the first time!'
broadcast: '<gradient:#FFD700:#FFA500><bold>PRESTIGE</bold></gradient> <dark_gray>»</dark_gray> <yellow>%player%</yellow> <white>reached their first prestige!'
sound: ENTITY_PLAYER_LEVELUP
firework: true
commands: []| Option | Description |
|---|---|
type |
Which moment to watch: rank, prestige, rebirth or pickaxe-level
|
at |
The value that triggers it — a rank id, a prestige number, a pickaxe level |
exact |
true fires only when the player lands exactly on at. false fires whenever they are at or past it |
title |
Big text on screen. Optional |
subtitle |
Smaller text under the title. Optional |
message |
A chat message to the player alone. Optional |
broadcast |
A chat message to everybody online. Optional |
sound |
Any Bukkit sound name, e.g. ENTITY_PLAYER_LEVELUP. Optional |
firework |
true launches a firework where the player is standing |
commands |
Commands run from console. Optional |
Every text field and every command supports two placeholders:
| Placeholder | Returns |
|---|---|
%player% |
The player's name |
%value% |
The value they reached (the rank id, prestige number, pickaxe level) |
All text is raw MiniMessage, exactly like the rest of the plugin — hex colours, gradients and formatting all work.
This is the one option worth thinking about.
exact: true is what you want for a one-off celebration. at: 10 with exact: true fires the
moment a player hits prestige 10, and never again.
exact: false fires every time the event happens at or above that value. at: 10 with
exact: false fires at prestige 10, then 11, then 12, and so on forever. That is occasionally what
you want — "every prestige past 10 gets a firework" — but it will spam a broadcast if you are not
careful. When in doubt, use exact: true.
commands runs from console, so you can hand out anything your server already supports:
prestige-25:
type: prestige
at: 25
exact: true
title: '<gold><bold>PRESTIGE 25</bold></gold>'
broadcast: '<gold>%player% <white>reached prestige <gold>%value%<white>!'
firework: true
commands:
- 'crate give %player% legendary 1'
- 'tokens give %player% 5000000'
- 'lp user %player% permission set some.perk true'Add as many entries as you like — the names are yours, and nothing depends on the defaults shipped in the file. To watch the pickaxe ladder, for example:
pickaxe-level-5000:
type: pickaxe-level
at: 5000
exact: true
message: '<gradient:#FFD700:#FFA500><bold>PICKAXE</bold></gradient> <dark_gray>»</dark_gray> <white>Level <yellow>%value%</yellow>. Ridiculous.'
sound: ENTITY_ENDER_DRAGON_GROWL
firework: trueA milestone with an unknown type is skipped with a warning naming it, and the rest keep working.
That warning also shows up in the startup digest and in /xprison health.
Set enabled: false at the top of the file to switch the whole system off, or simply delete the
entries you do not want. Deleted entries stay deleted — the config updater will not put them
back on the next update.
- milestones.yml — the full default file
- Prestiges
- Rebirths
- Pickaxe Levels
- Currencies
- Ranks
- Prestiges
- Rebirths
- Mines
- AutoSell
- AutoMiner
- Enchants
- Pickaxe Levels
- Pickaxe Skins
- Pickaxe Quality
- Pickaxe Settings
- Gangs
- Multipliers
- Blocks
- Bombs
- History
- Mining Stats
- Nicknames
- Battle Pass
- Quests
- Daily Rewards
- Milestones
- config.yml
- autominer.yml
- autosell.yml
- block-rewards.yml
- enchants.yml
- currencies.yml
- multipliers.yml
- ranks.yml
- prestiges.yml
- pickaxe-levels.yml
- pickaxe-skins.yml
- pickaxe-quality.yml
- gangs.yml
- mines.yml
- bombs.yml
- blocks.yml
- history.yml
- logging.yml
- mining-stats.yml
- rebirths.yml
- battlepass.yml
- quests.yml
- dailyrewards.yml
- milestones.yml
- efficiency.json
- fortune.json
- unbreaking.json
- haste.json
- speed.json
- fly.json
- nightvision.json
- jumpboost.json
- autosell.json
- tokenfinder.json
- gemfinder.json
- salary.json
- charity.json
- blessing.json
- gangvaluefinder.json
- prestigefinder.json
