🌐Messages & Localization

Complete guide to customizing messages and adding multi-language support.

Overview

BlackMarket supports two message systems:

  1. Legacy Mode: Single messages.yml file

  2. Localization Mode: Multiple language files in lang/ folder


Configuration

Enable/Disable Localization

# config.yml
messages:
  # Use MiniMessage for modern formatting
  use-minimessage: true
  
  # Enable localization system
  localization: false  # true = use lang/ files
  
  # Active language (only if localization enabled)
  lang: "EN_US"  # Filename without .yml

Message Formatting

When use-minimessage: true:

Common Tags:

  • Colors: <red>, <blue>, <green>, <yellow>, <gold>, <aqua>, <white>, <gray>, <dark_gray>, <black>

  • Formatting: <bold>, <italic>, <underlined>, <strikethrough>, <obfuscated>

  • Special: <gradient:#START:#END>, <rainbow>, <reset>

Legacy Color Codes

When use-minimessage: false:

Color Codes:

  • &0-9, a-f - Colors

  • &l - Bold

  • &o - Italic

  • &n - Underline

  • &m - Strikethrough

  • &k - Obfuscated

  • &r - Reset

Note: Both formats work together when MiniMessage is enabled!


Legacy Mode (messages.yml)

File Location

Structure

Using the Prefix

The %prefix% placeholder automatically includes your configured prefix:


Localization Mode (lang/ files)

Enable Localization

File Location

Creating Language Files

  1. Copy default language:

  1. Translate messages:

  1. Switch language:

  1. Reload:


Complete Message Reference

General Messages

Purchase Messages

Available Placeholders:

  • %price% - Item price

  • %time% - Cooldown remaining

  • %player% - Player name

Admin Messages

Help Messages

Info Messages

Error Messages

Action Bar Messages

GUI Messages


Creating Custom Languages

Example: Spanish (ES_ES.yml)

Example: French (FR_FR.yml)


Best Practices

1. Consistent Formatting

Keep consistent styling throughout:

2. Use Placeholders

Always use placeholders for dynamic content:

3. Clear Messages

Make messages clear and actionable:

4. Organize by Category

Group related messages:


Testing Messages

1. Reload Messages

2. Trigger Messages

Test each message type:

  • Buy an item → Purchase messages

  • Run admin commands → Admin messages

  • View help → Help messages

3. Check Formatting

Verify colors and formatting appear correctly in-game.


Common Issues

Issue 1: Colors Not Showing

Problem: Messages appear without colors

Solution: Check MiniMessage setting

Issue 2: Prefix Not Working

Problem: %prefix% shows literally

Solution: Ensure prefix is defined

Issue 3: Language File Not Loading

Problem: Messages don't change after switching language

Solution:

  1. Check filename matches exactly (case-sensitive)

  2. Verify file is in lang/ folder

  3. Reload: /bma reload messages

Issue 4: Quotes in YAML

Problem: YAML errors with special characters

Solution: Quote strings with %:


Multi-Language Setup Example

Step-by-Step

1. Enable localization:

2. Create language files:

3. Configure per-player (with permission plugin):

4. Switch server language:

5. Reload:


Advanced: Unicode Characters

Symbols

Emojis

Box Drawing


Message Validation

Checklist

  • [ ] All placeholders are correct

  • [ ] Color codes work

  • [ ] Quotes around messages with %

  • [ ] No YAML syntax errors

  • [ ] Tested in-game

  • [ ] Consistent formatting

  • [ ] Clear and actionable

Validation Tool

Use YAML Lintarrow-up-right to check syntax.


Next Steps

Last updated