Skip to main content

Messages and Language

Every message players see lives in a language file you can edit or translate.

Picking a language​

Set the language in config.yml:

language: english

The plugin loads the matching file from the lang/ folder. Built-in files are:

ValueFile
englishlang/english.yml
frenchlang/french.yml
spanishlang/spanish.yml
italianlang/italian.yml
germanlang/german.yml

After changing the language, run /collection reload.

Editing messages​

Open the language file for your language and edit the text. The file has a prefix, a list of messages, and a few placeholder words.

prefix: '&8[&#FFD700zCollections&8]&r '

messages:
no-permission: '{prefix}&cYou don''t have permission.'
reload-success: '{prefix}&aPlugin reloaded.'
discovered-chat: '{prefix}&aOh! &f{resource} &adiscovered.'
tier-up-chat: '{prefix}&6{resource} &7reached &eTier {tier}&7!'
PartWhat it is
prefixThe tag shown before most messages. Reused with {prefix}
messagesEvery line the plugin sends
placeholdersShort words used in menu lore, like the max-tier and none labels
menuAll the menu wording: titles, button names, lore, and tier labels
category-names and resource-namesOptional name overrides, used by translated files

Message placeholders​

Some messages accept placeholders that the plugin fills in:

PlaceholderUsed inShows
{prefix}Any messageThe prefix above
{resource}Discovery, tier-up, and claim-all-lineThe resource name
{tier}Tier-up and claim-all-lineThe tier number
{target}Reset messagesThe affected player
{category}Reset and error messagesThe collection name
{reward}reward-receivedA short label for the reward, like 3x diamond or 500 XP
{count}claim-success and claim-all-headerHow many tiers were just claimed

Claiming messages​

When reward mode is claim (see Configuration), the plugin sends one of these after a claim:

MessageWhen
claim-successThe player claimed a single tier. {count} and {resource} are filled in.
claim-noneThe player clicked claim but had nothing waiting.
claim-autoThe player tried to claim while reward mode is auto, where rewards pay instantly.
claim-all-headerThe header sent once when Claim All grants something. {count} is the total.
claim-all-lineSent once per unlocked tier, under the header. {resource} and {tier} are filled in, and the tier's rewards are appended to the end of the line.
island-lockedThe player clicked a tier held back by an island membership wait. {resource}, {required} (the wait) and {remaining} (time left) are filled in.
island-locked-noneSame, for a player who has no island at all.

When the player presses Claim All and it grants at least one tier, the plugin sends claim-all-header followed by one claim-all-line for every tier it unlocked, each line ending with that tier's rewards, so they see exactly what was claimed. If nothing was waiting, it sends claim-none instead.

All menu text lives under the menu section of the language file: the menu titles, button names, and the lore for each tier state. The layout (slots, materials, rows) stays in menus.yml; only the wording is here, so it follows the language and can be translated.

menu:
resource-menu:
tier:
claimable:
name: '&aTier {tier} &2(Ready to claim!)'
lore:
- '&7Progress: &f{current}&8/&f{threshold}'
- '&aClick to claim!'

Menu lore can use {tier}, {max-tier}, {current}, {threshold}, and {rewards} (the list of reward lines for that tier). The island-locked tier state also gets {required} and {remaining} for the island membership wait. The time units those print with (d, h, m) are the time-day, time-hour, and time-minute words under placeholders, next to the no-island label.

Translating collection and resource names​

Collection and resource display names come from categories.yml, which is in English by default. The translated language files (French, Spanish, Italian, German) add category-names and resource-names sections that override those names so the whole menu shows in one language:

category-names:
mining: '&#FFAA00Estrazione'
resource-names:
mining:
stone: '&7Pietra'

The English file leaves these out on purpose, so an English server keeps categories.yml as the single source of names. If you rename a collection or resource in categories.yml while using a translated language, edit or remove the matching entry here too, otherwise the override wins.

Reward lines on a tier-up​

When a player tiers up and tier-up chat is on, the plugin first sends tier-up-chat, then one reward-received line for each reward that tier gives. Blank the reward-received value if you do not want those extra lines.

The action bar​

Discovery and tier-up can also show above the hotbar. They are off by default; turn them on with send-actionbar in config.yml. These two do not have their own text: discovery reuses discovered-subtitle and tier-up reuses tier-up-chat.

The gathering action bar​

progress-actionbar is a separate line, shown every time the player gathers something while progress-actionbar.enabled is on in config.yml:

progress-actionbar: '&6Collection &7- &e[&f{current} {bar} &f{next}&e] &f{resource} &a+{amount}'
progress-actionbar-jobs: '&b{job-display} &7- &a+{job-xp}xp &2+{job-money}$ &6Collection &7- &e[&f{current} {bar} &f{next}&e] &f{resource} &a+{amount}'

progress-actionbar-jobs replaces progress-actionbar for that moment when Jobs Reborn just paid the player for the same action. Without Jobs installed it is never used. See Jobs Reborn.

PlaceholderShows
{resource}The resource name
{category}The collection name
{current}The player's total for this resource
{next}The total needed for the next tier, or MAX
{amount}How much was just gained
{tier}The tier reached so far
{max-tier}The last tier of this resource
{percent}How far the current tier has come, 0 to 100
{bar}The progress bar drawn from the bar settings in config.yml
{balance}The player's Vault balance
{job}Jobs only: the internal job name, safe to feed into a Jobs placeholder
{job-display}Jobs only: the job name as Jobs shows it
{job-xp}Jobs only: the job xp just earned
{job-money}Jobs only: the money just earned
{job-points}Jobs only: the job points just earned

PlaceholderAPI placeholders (%...%) work in both lines. They are read after the {...} placeholders above, so %jobs_uxp_{job}% becomes %jobs_uxp_Woodcutter% before PlaceholderAPI sees it. Set a line to '' to show nothing.

The locked label​

The "locked" look of an undiscovered resource comes from the locked-icon block in categories.yml, which you can set per collection.

Color codes​

Text uses the & color code format. A quick taste:

  • Standard colors use a single character, like &c for red or &a for green.
  • Hex colors use &# followed by six characters, like &#FFD700 for gold.
  • A reset code &r clears formatting.

To write a real apostrophe inside a quoted line, double it, as in don''t, which is normal YAML.

Full color reference

Hex, gradients, formatting codes, and a big list of named colors all live on the Colors page. This plugin does not use MiniMessage.

Adding your own language​

Copy an existing file in lang/, rename it (for example lang/portuguese.yml), translate the values, then set language: portuguese in config.yml and reload. Keep the lang-version line and all the keys the same, only change the text on the right.