messages.yml
Every message lives in messages.yml. Each supports legacy & codes, &#hex, MiniMessage and (with
PlaceholderAPI) %...%. After editing, run /cosmeticsadmin reload.
Messages: MARKET-BOUGHT: Message: Enabled: true Value: - "&5[&d&lCosmetics&5] &7You bought &f{cosmetic} &7for &f{price}&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.
Any message can also flash a title and subtitle on the playerโs screen. Add a Title: block next
to Message::
Messages: CASE-WON-LIMITED: Message: Enabled: true Value: - "&5[&d&lCosmetics&5] &7You won the &c&lLIMITED &f{cosmetic} &7as the &f{position} &7of &f{max} &7winners!" Title: Enabled: true Title: "&5&mโโ&r &c&lLIMITED &f&l{cosmetic} &5&mโโ&r" Sub-Title: "&7You are the &f{position} &7of &f{max} &7winners!"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, with a fixed 0.5s fade in, 3s hold, 0.5s fade out.
CASE-WON-LIMITED ships with this title enabled so limited wins land on screen. 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-COSMETIC, COSMETIC-LOCKED,
ALREADY-HAVE-COSMETIC, COSMETIC-ALREADY-UNLOCKED, COSMETIC-LISTED, COSMETIC-NOT-UNLOCKED.
Give / remove / equip: COSMETIC-GIVEN, COSMETIC-REMOVED, COSMETIC-GIVEALL,
COSMETIC-REMOVEALL, COSMETIC-EQUIPPED, COSMETIC-UNEQUIPPED.
Market: MARKET-SELL-PROMPT, MARKET-SELL-CANCELLED, MARKET-SELL-INVALID-NUMBER,
MARKET-SELL-INVALID-PRICE, MARKET-SELL-NOT-OWNED, MARKET-SELL-LISTED, MARKET-LISTING-REMOVED,
MARKET-ECONOMY-UNAVAILABLE, MARKET-INSUFFICIENT-FUNDS, MARKET-ALREADY-SOLD, MARKET-BOUGHT,
MARKET-SOLD, MARKET-PRICE-TOO-LOW, MARKET-PRICE-TOO-HIGH, MARKET-TOO-MANY-LISTINGS,
MARKET-LISTING-FEE-INSUFFICIENT, MARKET-LISTING-EXPIRED, MARKET-SEARCH-PROMPT,
MARKET-SEARCH-CANCELLED.
Vouchers: VOUCHER-GIVEN, VOUCHER-RECEIVED, VOUCHER-REDEEMED, VOUCHER-ALREADY-OWNED,
VOUCHER-LISTED, VOUCHER-INVALID, VOUCHER-NOT-CONFIGURED.
Cases: CASE-INVALID, CASE-GIVEN, CASE-PLACED, CASE-REMOVED, CASE-WON, CASE-WON-LIMITED,
CASE-WON-VOUCHER, CASE-SOLD-OUT, CASE-INSUFFICIENT, CASE-ECONOMY-UNAVAILABLE, CASE-EMPTY.
Admin: MAX-LISTINGS-SET, MAX-LISTINGS-RESET, RELOAD, COSMETICS-ADMIN-HELP.
Common tokens
Section titled โCommon tokensโ{player}, {cosmetic}, {cosmetic-type}, {price}, {amount}, {min}, {max}, {fee},
{buyer}, {case}, {position}, {ms} (reload time). Each messageโs default text shows which
tokens it uses; a token only resolves in the messages that provide it.
