Skip to content

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: false silences a message entirely.
  • Value is 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!"
  • Title is the large centre line, Sub-Title the smaller line beneath it. Either can be left ''.
  • The same {tokens} the message uses resolve in the title and subtitle.
  • Enabled: false hides only the title, leaving the chat message untouched.
  • The Title block and the chat Message are 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.

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.

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-UNLOCKED is sent by a global one-second timer the moment a gift crosses its requirement, not when the menu is opened. Disabling it (and its GIFT-UNLOCKED sound in config.yml) makes unlocks silent.
  • Console-sent admin messages skip PlaceholderAPI; %...% is only resolved for player targets.