Messages & language
Editing messages, switching language, and adding your own translation.
Every message and menu text lives in the lang/ folder. English (en.yml) and French (fr.yml) ship with the plugin.
Switching language
Set the file name (without .yml) in config.yml:
general:
language: "fr"Then /rank admin reload. Menus, quest text, and chat messages all switch.
Editing messages
Open the active lang file and change any line. The files cover:
- Menu titles, buttons, and rank states.
- Quest objective templates per quest type (
Break {amount} {name},Catch {amount} fish, ...). - Progress and status lines.
- Claim button text, requirement lines, the promotion broadcast.
- Command feedback and error messages.
towertrials.gate-blocked, the line a party leader gets when a tower rank gate refuses them a floor ({rank}and{floor}work in it).
Placeholders in curly braces (like {amount}, {player}, {rank}) are filled by the plugin; keep them in your text wherever you want the value to appear.
A title per rank menu page
menu.rank-title is the title of the whole rank menu. To give one page its own title, or its own ItemsAdder title image, add a menu.rank-title-<page number> key next to it:
menu:
rank-title: "Ranks" # fallback for any page you do not list
rank-title-1: "&fPageOneImage"
rank-title-2: "&fPageTwoImage"rank-title-1 is the first page, rank-title-2 the second, and so on. Pages with no entry use the plain rank-title. Handy in manual layout when each page carries a different frame image.
A title per rank in the quest menu
menu.quest-title is the title of every quest menu, with {rank} filled in with the rank name. Same idea as above when one rank needs its own wording or its own ItemsAdder title image: add menu.quest-title-<rank number> (rank 1 is the first rank in ranks.yml) or menu.quest-title-<rank key>:
menu:
quest-title: "Quests - {rank}" # fallback for any rank you do not list
quest-title-1: "&fFirstRankImage" # by position: the first rank
quest-title-vip: "&fVipImage" # by key: the rank called "vip" in ranks.ymlThe key form wins when both exist. Ranks with no entry keep the plain quest-title.
Different page-button text per page
menu.previous-page and menu.next-page name the two page arrows. To make one page say something else, add the page number to the key, the number being the page the player is looking at:
menu:
previous-page: "&ePrevious page"
next-page: "&eNext page"
next-page-1: "&eOn to the high ranks" # only on page 1
previous-page-2: "&eBack to the first ranks" # only on page 2Both arrows can carry lore too. previous-page-lore / next-page-lore apply everywhere, and <button>-lore-<page number> overrides one page:
menu:
next-page-lore:
- "&7Click to see the next ranks"
next-page-lore-1:
- "&7Ranks IV to VI"
- "&8The hard ones"Colors and PlaceholderAPI placeholders (ItemsAdder images included) work in all of these.
ItemsAdder images in chat messages
Everything the plugin says in chat is worked out for the player who reads it, so a placeholder or an ItemsAdder image inside a message shows up properly, not as raw text. That covers images sitting inside a rank name: the promotion line and the broadcast show the picture, exactly like the menu does.
Both ways of writing an image work:
- the PlaceholderAPI way, for example
%img_myimage%(needs PlaceholderAPI and the ItemsAdder expansion), - the ItemsAdder way,
:myimage:(needs ItemsAdder, no PlaceholderAPI required).
The console line of the broadcast keeps the plain text, since a console cannot draw the image.
Item and mob names follow the player's client
On Paper servers, the block, item, and mob names inside quest menu icons and in chat messages (the {name} part of objectives, the delivery messages, the quest completed notice) render in each player's own game language. A French client sees "Pierre" where an English client sees "Stone", automatically. Nothing to configure.
- Needs Paper or a Paper fork. On plain Spigot the names show in English.
- Only the item, block, or mob name follows the client. The rest of the text (the "Break 500 ..." wording) still comes from the server's language file above.
Colors
Two formats work in every message: classic codes (&a, &6, &l, ...) and &#rrggbb hex colors. The full code tables are on the Colors page.
Adding your own language
Pick a name
Set general.language to something new, for example "de".
Reload once
Run /rank admin reload. The plugin creates lang/de.yml filled with the English defaults.
Translate
Edit the new file line by line, keep the {placeholders}, then reload again.
On plugin updates, new message keys are merged into your lang files automatically (driven by the lang-version key at the top; leave it alone). Your translated lines are kept, and so are keys you added yourself that the plugin does not ship, like menu.quest-title-1 or menu.next-page-2. Same for config.yml: your own decoration blocks and extra keys survive an update.