Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buyOn this page, you will find how to configure the milestone tiers.
Every tier lives under milestones in milestones.yml. A tier is unlocked once the player's opening count on its track reaches required-openings.
milestones:
'0':
identifier: first_steps
display-item:
material: DIAMOND
display-name: '&aFirst Steps'
amount: 1
crate: '*'
required-openings: 10
win-items: {}
win-commands:
- 'crate giveKey vote %player% 3'
win-message:
- '&aYou reached the &f%milestone%&a milestone!'
broadcast-message:
- '&e%player% &areached the &f%milestone%&a milestone!'
required-permissions: []
auto-claim: false
broadcast: false
max-win-item-amount: -1
max-win-command-amount: -1
Tiers are stored as a numbered section rather than a YAML list, which is the same shape the crate rewards use. The numbers are positions only, so they have to stay unique inside the section, and reordering them changes the order shown in the menu but nothing else.
| Option | What it does |
|---|---|
identifier |
The name the tier is stored under. Renaming it makes every player able to claim the tier again, so treat it as permanent. |
display-item |
The item shown in the milestones menu. |
crate |
Which openings are counted. A crate identifier counts only that crate; * counts every crate together. |
required-openings |
How many openings unlock the tier. |
win-items |
Items handed to the player. |
win-commands |
Commands run when the tier is claimed. Prefix a command with * to run it as the player instead of the console. |
win-message |
Sent to the player who claimed the tier. |
broadcast-message |
Sent to every online player, only when broadcast is on. |
required-permissions |
The player needs at least one of these to see or claim the tier. Leave empty for everyone. |
auto-claim |
Hands the reward over the moment the tier unlocks instead of waiting for a click. |
broadcast |
Announces the tier to the whole server. |
max-win-item-amount |
How many of the win items are given, -1 for all of them. |
max-win-command-amount |
How many of the win commands are run, -1 for all of them. |
Tiers are grouped by the crate they watch, and each group runs its own ladder. A tier on vote and a tier on * are on separate ladders, so a player can be part way through both at once.
The menu lists every tier in ascending order of required-openings, whichever track it belongs to.
crate is matched against the crate identifier, not its display name. A tier pointing at a crate that no longer exists simply never unlocks.
win-message and broadcast-message accept:
| Placeholder | Value |
|---|---|
%player% |
The player who claimed the tier. |
%milestone% |
The display name of the tier. |
%openings% |
The tier's required-openings. |
The locked-milestone, claimable-milestone and claimed-milestone entries in menus/default_crate_milestones.yml accept:
| Placeholder | Value |
|---|---|
%milestone% |
The display name of the tier. |
%item_name% |
The name of the configured display item. |
%progress% |
Openings on this track, capped at the requirement. |
%total_progress% |
Openings on this track, uncapped. |
%required% |
Openings needed to unlock the tier. |
%percent% |
Progress as a whole number out of 100. |
%crate% |
The crate identifier, or the "Any Crate" label for a * tier. |
Oops... looks like the spiders padded through here
Add products to your cart and remove them from here Lets buy