Skip to content

messages.yml

Edit, disable and translate every message OptimalMiracleCubes sends, plus optional screen titles and action bars.

Every message lives in messages.yml. Each supports legacy & codes, &#hex, MiniMessage and (with PlaceholderAPI) %...%. After editing, run /miraclecubeadmin reload.

Messages:
REWARD-SELECTED:
Message:
Enabled: true
Value:
- '&5[&d&lCubes&5] &7You selected &f{reward}&7, find it hidden on the miracle board&7!'
  • Enabled: false silences the chat message.
  • Value is a single string or a list. Every line of a list is sent (the admin help panel uses this).
  • Start a line with [center] to centre it in chat.
  • Keep the {tokens} intact, and don’t rename the message keys.

Missing keys are written back with their defaults the next time the file loads, so you can delete a block to reset it.

Any message can also show a title, an action bar, or both. Add the blocks next to Message::

Messages:
REWARD-WON:
Message:
Enabled: true
Value:
- '&5[&d&lCubes&5] &7You found &f{reward} &7and advanced to &fStage {stage}&7.'
Title:
Enabled: true
Title: '&2&m━━━&r &a&lReward &f&lFound &2&m━━━&r'
Sub-Title: '&7You advanced to &fStage {stage}&7!'
Fade-In: 10
Stay: 60
Fade-Out: 10
Key Default Description
Title.Enabled true Shows the title. Without a Title: block there is no title.
Title.Title '' The large centre line.
Title.Sub-Title '' The smaller line beneath it.
Title.Fade-In 10 Fade-in time in ticks.
Title.Stay 60 Time on screen in ticks.
Title.Fade-Out 10 Fade-out time in ticks.

The shipped file leaves out the three timing keys, so the defaults apply. An action bar is one line above the hotbar (Action-Bar.Enabled defaults to true once the block exists):

Messages:
FRAGMENTS-FOUND:
Message:
Enabled: false
Value:
- '&b&l+ {amount} Fragments &3(/mcube)'
Action-Bar:
Enabled: true
Value: '&b&l+ {amount} Fragments &3(balance: {fragments})'
  • The same {tokens} the message uses resolve in the title, subtitle and action bar.
  • Chat, title and action bar toggle independently. Disabling the chat message keeps the others.
  • Titles and action bars only show to players, never to the console.

REWARD-WON ships with its title enabled. Add a Title: or Action-Bar: block to any other key the same way.

Errors: PLAYER-ONLY, NO-PERMISSION, INVALID-PLAYER, INVALID-NUMBER, PROFILE-LOAD-FAILED, REWARD-LOCKED, INSUFFICIENT-FRAGMENTS, DECRYPTION-PENDING.

Gameplay: FRAGMENTS-FOUND, REWARD-SELECTED, RANDOM-REWARD-WON, REWARD-WON.

Admin: FRAGMENTS-GIVEN, FRAGMENTS-TAKEN, FRAGMENTS-SET, STAGE-SET, BOARD-RESET, RELOAD, MIRACLE-ADMIN-HELP.

Key Sent when
PLAYER-ONLY The console runs /miraclecube.
NO-PERMISSION The sender lacks the command’s permission.
INVALID-PLAYER An admin command names a player the server has never seen.
INVALID-NUMBER An amount is not a whole number, is negative, or a stage is below 1.
PROFILE-LOAD-FAILED The player’s data could not be loaded. Shown as the login refusal (or kick) text, not in chat.
FRAGMENTS-FOUND Fragments drop from any source.
REWARD-SELECTED A reward is selected in the select menu.
REWARD-LOCKED A locked reward is clicked.
INSUFFICIENT-FRAGMENTS A cube is clicked without enough fragments.
DECRYPTION-PENDING A cube is clicked while a winning reveal is still playing.
RANDOM-REWARD-WON A consolation prize is revealed.
REWARD-WON The hidden reward is revealed.
FRAGMENTS-GIVEN, FRAGMENTS-TAKEN, FRAGMENTS-SET The matching fragments admin command finished.
STAGE-SET /miraclecubeadmin stage finished.
BOARD-RESET /miraclecubeadmin resetboard finished.
RELOAD /miraclecubeadmin reload finished.
MIRACLE-ADMIN-HELP /miraclecubeadmin with no or wrong arguments.
Message Tokens
FRAGMENTS-FOUND {amount}, {fragments} (new balance, comma-grouped)
REWARD-SELECTED {reward}
REWARD-LOCKED {required}, {stage}
INSUFFICIENT-FRAGMENTS {price}, {fragments} (plain number)
RANDOM-REWARD-WON {reward} (the consolation prize’s display name)
REWARD-WON {reward}, {stage} (the new stage)
FRAGMENTS-GIVEN, FRAGMENTS-TAKEN, FRAGMENTS-SET {player}, {amount}
STAGE-SET {player}, {stage}
BOARD-RESET, INVALID-PLAYER {player}
INVALID-NUMBER {input}
RELOAD {ms} (reload time in milliseconds)

The other keys take no tokens. A token only resolves in the messages that provide it.

  • FRAGMENTS-FOUND fires on every drop. At a high Fragments.Chance that is a lot of chat. Disable the chat line and use an action bar (example above), and blank the FRAGMENT-FOUND sound in config.yml if you want drops silent.
  • RANDOM-REWARD-WON and REWARD-WON fire at the reveal, not on the click, so they line up with the icon landing. If the menu is closed mid-spin they are sent right away.
  • Messages sent to the console skip PlaceholderAPI; %...% is only resolved for players.