Skip to content

Messages

Pavel Erokhin edited this page Nov 9, 2026 · 2 revisions

Each file in plugins/MoJoins/lang/ holds every message in one language. Messages use MiniMessage. Run /mojoins reload after a change.

Join and quit lines

Key Who reads it When
join Everyone online A player comes back
first_join The newcomer only Their first join
first_join_broadcast Everyone else Someone’s first join
quit Everyone else A player leaves
silent_join The player only They join in silent mode

These lines take these placeholders, all about the player who joined or left:

Placeholder Shows
<player> Their name
<display_name> Their display name, with the colors other plugins give it
<online> Players online, without vanished ones
<papi:name> PlaceholderAPI’s %name%, see PlaceholderAPI
MiniPlaceholders tags Like <luckperms_prefix>, see MiniPlaceholders

A multi-line message uses YAML’s |-, as first_join does in the bundled files.

Command replies

Key Placeholders
reloaded, reload_failed none
usage none
locale_info <player>, <language>, <country>, <client>
player_not_found <player>
no_permission, players_only none
silent_on, silent_off none
language_list <language> (the current one), <languages> (the clickable list)
language_auto_name none: the word for “automatic” in the list
language_set, language_auto <language>
language_unknown <code> (what the player typed), <languages>

Rules

  • A key missing from a file comes from the bundled text of that language, then from locales.default, then from English.
  • An empty string turns a message off for that language.
  • A player’s name goes in as plain text, so a name can’t inject tags.
  • The console gets join and quit lines in locales.default only when broadcast.vanilla_log is off. Otherwise it gets the vanilla “joined the game” line.

Next: Configuration

Clone this wiki locally