-
Notifications
You must be signed in to change notification settings - Fork 58
milestones.yml
Jan Kluka edited this page Sep 7, 2026
·
4 revisions
# ----------------------------------------------------------------------------
# Milestones
# ----------------------------------------------------------------------------
# Turns the big moments in a player's progression into something they notice -
# a title, a sound, a firework, a server-wide broadcast, or any commands you
# like. Every entry below is optional; delete the ones you don't want.
#
# type: rank | prestige | rebirth | pickaxe-level | blocks | playtime
# blocks and playtime are counters that climb in jumps, so they fire
# once when the threshold is crossed and ignore 'exact'.
# Another plugin can register a track of its own, and its key
# works here exactly like the ones above.
# at: the value that triggers it (rank id, prestige number, and so on)
# exact: true = fires only when the player lands exactly on 'at'
# false = fires every time they are at or past 'at'
# title / subtitle / message / broadcast : raw MiniMessage, all optional
# sound: any Bukkit sound name, optional
# firework: launch a firework at the player
# commands: run from console, optional
#
# Placeholders in every text field and command: %player%, %value%
# ----------------------------------------------------------------------------
enabled: true
# ----------------------------------------------------------------------------
# The /milestones menu
# ----------------------------------------------------------------------------
# Every value here is optional - delete any of them and the menu falls back to
# the default. Slots are inventory slots, 0-53.
#
# A milestone item is ORANGE while claimed and RED while locked, so a player
# scanning a page sees where they stand before reading a line.
# ----------------------------------------------------------------------------
# The /milestones menu
# ----------------------------------------------------------------------------
# Everything here is optional - delete any value and the menu falls back to the
# default shown. Slots are inventory slots, 0-53.
#
# Placeholders, in the track lines:
# %track% %description% %value% %level% %total% %progress_bar% %percent% %status%
# Placeholders, in the milestone lines:
# %level% %track% %requirement% %value% %progress_bar% %percent%
# %status% %status_suffix% and %rewards%, which expands to one line per reward
#
# Any icon takes a material, or a base64 head 'texture', plus optional
# custom-model-data for a resource pack.
# ----------------------------------------------------------------------------
gui:
title: '<blue><bold>MILESTONES</bold></blue>'
rows: 6
filler: BLACK_STAINED_GLASS_PANE
# Cosmetic frame drawn under everything else. Each entry is a normal item at a
# single 'slot' or a list of 'slots' - delete an entry to drop that piece.
decorations:
tab-row:
material: BLUE_STAINED_GLASS_PANE
name: ' '
slots: [0, 4, 8]
bottom-row:
material: BLUE_STAINED_GLASS_PANE
name: ' '
slots: [46, 47, 48, 50, 51, 52]
# Open on the page holding the milestone the player is working toward, rather
# than always on page one - a long ladder is tedious to click through.
open-on-next-unclaimed: true
aliases:
- milestones
- milestone
- ms
first-item-slot: 9
items-per-page: 36
claimed:
material: ORANGE_DYE
texture: ''
custom-model-data: 0
locked:
material: RED_DYE
texture: ''
custom-model-data: 0
progress-bar:
length: 20
symbol: '|'
format: '<gray>[%bar%<gray>] <green>(%percent%%)'
percent-format: '0.0'
format:
number: '#,##0'
# A zero leading unit is dropped, so 45 minutes reads as '45m'.
duration: '%days%d %hours%h %minutes%m'
buttons:
previous-page:
slot: 45
material: ARROW
name: '<yellow>Previous page'
lore: []
next-page:
slot: 53
material: ARROW
name: '<yellow>Next page'
lore: []
close:
enabled: true
slot: 49
material: BARRIER
name: '<red>Close'
lore: []
status:
viewing: '<green>(( Viewing this track ))'
click-to-view: '<gray>(( Click to view! ))'
claimed: '<green><bold>MILESTONE REDEEMED</bold></green>'
locked: '<dark_gray>(( You have not unlocked this yet ))'
claimed-suffix: '<green>(CLAIMED)'
locked-suffix: '<red>(LOCKED)'
track-name: '<blue><bold>Milestones</bold></blue> <dark_gray>|</dark_gray> <white>%track%'
track-lore:
- '<gray>Milestone Track'
- ''
- '<red><bold>Information:</bold></red>'
- '<white>%description%'
- ''
- '<red><bold>Statistics:</bold></red>'
- '<red>| <white>%track%: <aqua>%value%'
- '<red>| <white>Milestone: <aqua>%level%'
- '<red>| <white>Progress: %progress_bar%'
- ''
- '%status%'
milestone-name: '<light_purple><bold>Level %level%</bold></light_purple> %status_suffix%'
milestone-lore:
- '<gray>Milestone'
- ''
- '<red><bold>Information:</bold></red>'
- '<red>| <white>Milestone: <light_purple>%requirement%'
- '<red>| <white>Progress: %progress_bar%'
- ''
- '<red><bold>Rewards:</bold></red>'
- '%rewards%'
- ''
- '%status%'
reward-line: '<red>| <yellow>%reward%'
# One entry per track. 'permission' left empty means everyone sees the tab.
tracks:
prestige:
name: 'Prestige'
description: 'Prestige to unlock incredible rewards!'
slot: 1
permission: ''
icon:
material: PLAYER_HEAD
texture: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjlmY2JlOTQ1NTRmYjc0NDQ2MzFmYjVjOTgzZDI1Njg4YmIyNjdhMzdlYWE5YjY5Y2JlNTU5MWE2ZTllZTVmYiJ9fX0='
custom-model-data: 0
rebirth:
name: 'Rebirth'
description: 'Rebirth to claim the biggest rewards on the server!'
slot: 2
permission: ''
icon:
material: PLAYER_HEAD
texture: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTczM2ZkNDUxNmZlNGIyMjE5NDI0NzE1MGQ2YzA0YTE1MTk1OGQ3YzI2N2Q5OGQ5NDIzZDM0MmJlNmE0MDUwYiJ9fX0='
custom-model-data: 0
rank:
name: 'Rank'
description: 'Rank up to climb this track!'
slot: 3
permission: ''
icon:
material: NAME_TAG
texture: ''
custom-model-data: 0
blocks:
name: 'Blocks'
description: 'Break blocks to earn your way up the ladder!'
slot: 5
permission: ''
icon:
material: PLAYER_HEAD
texture: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzJlYzI2MmI1YzA4OTc0NjQwMGM1N2M2YjBiNGMzMzg1NTk5YjdiYjZkNGE5OGFiNGYwMWYyNmNiNmQ0Y2MzMyJ9fX0='
custom-model-data: 0
playtime:
name: 'Playtime'
description: 'Earn rewards by spending time on the server!'
slot: 6
permission: ''
icon:
material: PLAYER_HEAD
texture: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjhlYmI3NGY2NjUzZGZmMTI1NDgxNTkzZjc5ZjU3MzJmMjU2NzI5Y2MxNjQyNmE3MzAwNGNmMzc2OTdhMGRmZCJ9fX0='
custom-model-data: 0
pickaxe-level:
name: 'Pickaxe'
description: 'Level your pickaxe to climb this track!'
slot: 7
permission: ''
icon:
material: PLAYER_HEAD
texture: 'eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjZlYTIxMzU4Mzg0NjE1MzQzNzJmMmRhNmM4NjJkMjFjZDVmM2QyYzcxMTlmMmJiNjc0YmJkNDI3OTEifX19'
custom-model-data: 0
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: []
prestige-10:
type: prestige
at: 10
exact: true
title: '<gradient:#FFD700:#FFA500><bold>PRESTIGE 10</bold></gradient>'
subtitle: '<white>Ten prestiges deep.'
broadcast: '<gradient:#FFD700:#FFA500><bold>PRESTIGE</bold></gradient> <dark_gray>»</dark_gray> <yellow>%player%</yellow> <white>hit prestige <yellow>%value%</yellow>!'
sound: ENTITY_PLAYER_LEVELUP
firework: true
commands: []
first-rebirth:
type: rebirth
at: 1
exact: true
title: '<gradient:#FF7F50:#FF4500><bold>REBIRTH</bold></gradient>'
subtitle: '<white>A fresh start, with a permanent edge.'
broadcast: '<gradient:#FF7F50:#FF4500><bold>REBIRTH</bold></gradient> <dark_gray>»</dark_gray> <yellow>%player%</yellow> <white>was reborn for the first time!'
sound: ENTITY_ENDER_DRAGON_GROWL
firework: true
commands: []
pickaxe-level-100:
type: pickaxe-level
at: 100
exact: true
title: '<gradient:#FFD700:#FFA500><bold>LEVEL 100</bold></gradient>'
subtitle: '<white>Your pickaxe is coming along.'
message: '<gradient:#FFD700:#FFA500><bold>PICKAXE</bold></gradient> <dark_gray>»</dark_gray> <white>Your pickaxe reached <yellow>Level %value%</yellow>!'
sound: BLOCK_ANVIL_USE
firework: false
commands: []
pickaxe-level-300:
type: pickaxe-level
at: 300
exact: true
title: '<gradient:#FFD700:#FFA500><bold>LEVEL 300</bold></gradient>'
subtitle: '<white>Four digits.'
broadcast: '<gradient:#FFD700:#FFA500><bold>PICKAXE</bold></gradient> <dark_gray>»</dark_gray> <yellow>%player%</yellow><white>''s pickaxe reached <yellow>Level %value%</yellow>!'
sound: ENTITY_PLAYER_LEVELUP
firework: true
commands: []- 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
