messages.yml
Every message lives in messages.yml. Each supports legacy & codes, &#hex, MiniMessage and (with
PlaceholderAPI) %...%. After editing, run /milestonesadmin reload.
Messages: MILESTONE-CLAIMED: Message: Enabled: true Value: - "&5[&d&lMilestones&5] &7You claimed the rewards of &f{category} Milestone {milestone}&7."Enabled: falsesilences a message entirely.Valueis a list - every line is sent (used for the multi-line admin help panel).- Keep the
{tokens}intact; donโt rename the message keys.
Missing keys are re-added with their defaults the next time the file loads, so you can delete a block to reset it.
Any message can also flash a title and subtitle on the playerโs screen. Add a Title: block next to
Message::
Messages: MILESTONE-UNLOCKED: Message: Enabled: true Value: - "&5[&d&lMilestones&5] &7You can now claim &f{category} Milestone {milestone} &7in &f/milestones&7!" Title: Enabled: true Title: "&2&mโโโ&r &a&l{category} Milestone &f&l{milestone} &a&lUnlocked &2&mโโโ&r" Sub-Title: "&7Claim your reward in &f/milestones&7!"Titleis the large centre line,Sub-Titlethe smaller line beneath it. Either can be left''.- The same
{tokens}the message uses resolve in the title and subtitle. Enabled: falsehides only the title, leaving the chat message untouched.- The
Titleblock and the chatMessageare independent - keep both, or disable one and show the other. - Titles only show to players.
MILESTONE-UNLOCKED ships with this title enabled. Add a Title: block to any other key the same
way.
Message keys
Section titled โMessage keysโErrors: PLAYER-ONLY, NO-PERMISSION, INVALID-PLAYER, INVALID-NUMBER, INVALID-CATEGORY,
CATEGORY-NOT-TRACKED, MILESTONE-LOCKED, ALREADY-CLAIMED.
Milestones: MILESTONE-CLAIMED, MILESTONE-UNLOCKED.
Admin: PROGRESS-GIVEN, PROGRESS-TAKEN, PROGRESS-SET, MILESTONES-RESET, RELOAD,
MILESTONES-ADMIN-HELP.
Tokens per message
Section titled โTokens per messageโ| Message | Tokens |
|---|---|
MILESTONE-CLAIMED, MILESTONE-LOCKED, MILESTONE-UNLOCKED |
{category}, {milestone} (Roman), {number} (arabic), {progress}, {required} |
INVALID-CATEGORY, CATEGORY-NOT-TRACKED |
{category} |
PROGRESS-GIVEN / -TAKEN / -SET |
{player}, {category}, {amount} |
INVALID-PLAYER, MILESTONES-RESET |
{player} |
INVALID-NUMBER |
{input} |
RELOAD |
{ms} (reload time in milliseconds) |
ALREADY-CLAIMED takes no tokens. A token only resolves in the messages that provide it.
CATEGORY-NOT-TRACKEDis the answer when/milestonesadmin progresstargets aPLACEHOLDERcategory. Those have no counter to change - edit whatever feeds the placeholder instead.NO-PERMISSIONis the pluginโs own denial for/milestonesadmin. The command deliberately declares no permission inplugin.ymlso Bukkit doesnโt intercept it with its own message; see Information.MILESTONE-UNLOCKEDfires from the notify timer, not from opening the menu. Its cadence isSettings.Notify-Intervalin config.yml. Disabling the message and its sound makes unlocks silent.- Console-sent admin messages skip PlaceholderAPI;
%...%is only resolved for player targets.
