messages.yml
Every message lives in messages.yml. Each supports legacy & codes, &#hex, MiniMessage and (with
PlaceholderAPI) %...%. After editing, run /giftsadmin reload.
Messages: GIFT-CLAIMED: Message: Enabled: true Value: - "&5[&d&lGifts&5] &7You opened the &f{gift} &7and received &f{reward}&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: GIFT-UNLOCKED: Message: Enabled: true Value: - "&5[&d&lGifts&5] &7You can now claim &fGift #{number} &7in &f/gifts&7!" Title: Enabled: true Title: "&2&mโโโ&r &a&lGift &f&l#{number} &a&lUnlocked &2&mโโโ&r" Sub-Title: "&7Claim your reward in &f/gifts&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, with the clientโs default fade timings.
GIFT-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-DURATION, GIFT-LOCKED,
GIFT-ALREADY-CLAIMED.
Gifts: GIFT-CLAIMED, GIFT-UNLOCKED.
Admin: GIFTS-RESET, PLAYTIME-ADDED, RELOAD, GIFTS-ADMIN-HELP.
Tokens per message
Section titled โTokens per messageโ| Message | Tokens |
|---|---|
GIFT-LOCKED |
{gift}, {number}, {unlocks-in} |
GIFT-ALREADY-CLAIMED |
{gift}, {number}, {refreshes-in} |
GIFT-CLAIMED |
{gift}, {number}, {reward} |
GIFT-UNLOCKED |
{gift}, {number} |
INVALID-PLAYER, GIFTS-RESET |
{player} |
PLAYTIME-ADDED |
{player}, {playtime} |
INVALID-DURATION |
{duration} |
RELOAD |
{ms} (reload time in milliseconds) |
A token only resolves in the messages that provide it - {refreshes-in} in GIFT-CLAIMED, for
example, is left as literal text.
GIFT-UNLOCKEDis sent by a global one-second timer the moment a gift crosses its requirement, not when the menu is opened. Disabling it (and itsGIFT-UNLOCKEDsound in config.yml) makes unlocks silent.- Console-sent admin messages skip PlaceholderAPI;
%...%is only resolved for player targets.
