Mcmmo Unofficial Docs
Administration

Localization

Translate or rewrite any mcMMO in-game text, change colors with three formats, and customize skill tooltips - without editing the jar.

Every piece of text mcMMO shows players - messages, skill names, tooltips, notifications - comes from a locale file. You can switch to a built-in translation, or override any individual line with your own wording and colors.

Choosing a language

mcMMO ships with many community translations. To switch, set General.Locale in config.yml and restart:

General:
    Locale: en_US

Common locale codes:

CodeLanguageCodeLanguage
en_USEnglish (default)ja_JPJapanese
deGermankoKorean
esSpanishplPolish
frFrenchpt_BRPortuguese (Brazil)
itItalianruRussian
fiFinnishzh_CNChinese (Simplified)
cs_CZCzechzh_TWChinese (Traditional)

The full set is in the locale folder on GitHub.

Community translations are volunteer-maintained and can lag behind new features. Any key a translation is missing automatically falls back to en_US, so you'll never see a blank.

Overriding individual text

Don't edit the language files inside the jar. Instead, mcMMO generates an override file:

plugins/mcMMO/locales/locale_override.properties

How lookups work, in order:

  1. The key in locale_override.properties (if you've defined it) - highest priority.
  2. Otherwise the active language set by General.Locale.
  3. Otherwise en_US.

This means you only copy the specific keys you want to change into the override file - never the whole file. Keys you don't override keep updating automatically with new mcMMO versions.

Don't paste an entire locale file into your override. If you do, you freeze every line at today's wording and silently miss all future text updates.

The master list of every key is the English file: locale_en_US.properties.

Applying changes: restart the server, or run /mcmmoreloadlocale (alias /mcreloadlocale, permission mcmmo.commands.reloadlocale). The reload command affects locale only - config files still need a full restart.

If you ever see literal text like !Some.Key.Name! in chat, that key is missing from your override and all locale files - usually a typo'd key in your override.

Colors and formatting

Locale values support three color formats, and you can freely mix them in one line.

1. Standard & codes

The familiar Minecraft codes:

CodeColorCodeColorCodeFormat
&0Black&8Dark Gray&lBold
&1Dark Blue&9Blue&nUnderline
&2Dark Green&aGreen&oItalic
&3Dark Aqua&bAqua&mStrikethrough
&4Dark Red&cRed&kObfuscated
&5Dark Purple&dLight Purple&rReset
&6Gold&eYellow
&7Gray&fWhite
mcMMO.Template.Prefix=&6(&amcMMO&6) &7{0}

2. [[NAME]] color tokens

mcMMO's readable token format - each maps to a & code, so use whichever you prefer:

Skills.Overhaul.Header=[[DARK_AQUA]][[BOLD]]{0}

Available tokens: [[BLACK]], [[DARK_BLUE]], [[DARK_GREEN]], [[DARK_AQUA]], [[DARK_RED]], [[DARK_PURPLE]], [[GOLD]], [[GRAY]], [[DARK_GRAY]], [[BLUE]], [[GREEN]], [[AQUA]], [[RED]], [[LIGHT_PURPLE]], [[YELLOW]], [[WHITE]], [[BOLD]], [[UNDERLINE]], [[ITALIC]], [[STRIKE]], [[MAGIC]], [[RESET]].

3. &#RRGGBB hex colors

Full 24-bit color. Prefix a standard web hex code with &#:

My.Key=&#FF5500Orange text
My.Key2=&lBold then &#FF0000red then &r reset

All three formats also work inside the JSON tooltip keys below.

Customizing skill tooltips

When a player runs a skill command (e.g. /mining), mcMMO shows rich hover tooltips driven by JSON.* keys. A few of the most useful:

KeyDefaultPurpose
JSON.Type.Passive&a&lPassive&r"Passive" sub-skill label
JSON.Type.Active&4&lActive&r"Active" sub-skill label
JSON.Type.SuperAbility&d&lSuper Ability&r"Super Ability" label
JSON.DescriptionHeader&5Description:Header above a description
JSON.Locked&8-=[LOCKED]=-Shown for not-yet-unlocked sub-skills
JSON.Hover.Rank&e&lRank:&r &f{0}Current rank ({0} = rank number)
JSON.Hover.NextRank&7&oNext upgrade at level {0}Next-unlock hint

Renaming a skill

Skill names actually live in two separate key families, and you need to override both to fully rename a skill:

Mining.SkillName=MINING              # stylized headers: skill command screens, guide
                                      # headers, scoreboards, and the actual skill command
                                      # itself (e.g. renaming this also changes what /mining
                                      # is called in-game)
Overhaul.Name.Mining=Mining          # everything else: level-up broadcasts, XP command
                                      # feedback, /mcrank, /mctop, ability cooldown notices

SkillName is all-caps by default and drives headers and command registration - overriding it renames the actual slash command for that skill (e.g. a German-locale server's Unarmed command is /faustkampf, not /unarmed). Overhaul.Name.<Skill> is the nicely-capitalized form used almost everywhere a skill name shows up in chat.

Overriding only SkillName renames headers and the command itself, but not the name players see in level-up messages, /mcrank, /mctop, or ability cooldown notices - those all read from Overhaul.Name.<Skill>. Override both keys together for a complete rename.

If you rename a skill's command via SkillName, whitelist or command-blocking plugins need to whitelist the new localized name exactly as players type it. English skill names still work as arguments to admin commands (/mmoedit, /xprate, etc.) even on a non-English locale, so admins don't need to relearn every renamed skill.

Per-sub-skill tip text

Each sub-skill's tooltip tip follows this pattern:

JSON.<Skill>.SubSkill.<SubSkill>.Details.Tips
JSON.Acrobatics.SubSkill.Roll.Details.Tips=Hold sneak while falling to prevent up to twice the normal damage!

Search the en_US file for the exact key of any sub-skill you want to reword.

On this page