v0.2.4 Patch Notes

What's new in v0.2.4

New Features

  • Localization System - Full i18n support for all UI text
  •     Players can select their preferred language in Settings
  •     Language preference saved per-player in SkillComponent
  •     Auto-generated English, Spanish, and French language files
  •     Users can add custom messages-{lang}.json files for additional languages
  • Language Selector - New section in Settings page
  •     6 language button slots in 2 rows of 3
  •     Currently selected language highlighted in green
  •     Disabled style for unavailable language slots
  •     Instant language switching without restart
  • Auto-Generated Language Files - Located in mods/mmoskilltree/localization/
  •     messages-en.json - English (auto-generated)
  •     messages-es.json - Spanish (auto-generated)
  •     messages-fr.json - French (auto-generated)
  •     Files auto-update with new keys on server start
  • Localized Reward Text - Skill tree rewards fully localized
  •     Reward type names (e.g., "Max Health" → "Santé Max" in French)
  •     Formatted values with localized patterns (+5%, +10, +3 blocks)
  •     Reward claimed notifications use localized text
  • Hot-Reload Support - /mmoconfig reloadlang command
  •     Reload language files without server restart
  •     New translations take effect immediately

Message Key Structure

{
  "language.name": "English",
  "ui.button.close": "CLOSE",
  "ui.button.back": "< BACK",
  "ui.viewxp.title": "Skill Overview",
  "ui.viewxp.level_prefix": "Lv. {0}",
  "ui.settings.language": "Language",
  "notify.xp_gain": "+{0} {1} XP",
  "notify.level_up": "LEVEL UP! {0} is now Level {1}!",
  "skill.mining": "Mining",
  "reward.stat_health": "Max Health",
  "reward.bonus_xp": "Bonus XP",
  "reward.format.percent": "+{0}%",
  "reward.format.flat": "+{0}"
}

Adding Custom Languages

1. Create mods/mmoskilltree/localization/messages-{code}.json

2. Copy structure from messages-en.json

3. Translate values (keys must remain the same)

4. Run /mmoconfig reloadlang or restart server

5. Language appears in Settings selector

Looking for technical details? View full developer changelog for v0.2.4