Messages Customization
Messages Customization
Section titled “Messages Customization”Journey allows full customization of all in-game messages through the messages.json file. Customize text, colors, and formatting for tasks, parties, global events, contracts, and more.
Overview
Section titled “Overview”The messages system provides:
- Full Customization - Change any message text
- Color Support - MiniMessage formatting with colors
- Placeholders - Dynamic values like player names, amounts, times
- Localization Ready - Easy translation support
- Server-Sync - Distributed to all clients automatically
Configuration File
Section titled “Configuration File”Location: config/journey/messages.json (server-side)
The messages file is automatically synced to all clients when they connect.
File Structure
Section titled “File Structure”{ "tasks": { /* Task-related messages */ }, "party": { /* Party system messages */ }, "globalTasks": { /* Global event messages */ }, "bountyBoard": { /* Bounty board messages */ }, "contracts": { /* Contract system messages */ }, "levelables": { /* XP and leveling messages */ }, "general": { /* Generic messages */ }, "guiTitles": { /* GUI title messages */ }}Color Formatting
Section titled “Color Formatting”Journey uses MiniMessage formatting for colors and styles.
Basic Colors
Section titled “Basic Colors”<red>Red text<green>Green text<blue>Blue text<yellow>Yellow text<gold>Gold text<gray>Gray text<dark_gray>Dark gray text<white>White textHex Colors
Section titled “Hex Colors”<#FF5555>Custom red<#00FF00>Custom green<color:#FF00FF>Custom magentaFormatting Styles
Section titled “Formatting Styles”<bold>Bold text<italic>Italic text<underlined>Underlined text<strikethrough>Strikethrough text<obfuscated>Obfuscated textCombining Formats
Section titled “Combining Formats”<green><bold>Bold Green Text<yellow><italic>Italic Yellow<gold><underlined>Underlined GoldGradients
Section titled “Gradients”<gradient:red:blue>Rainbow text!<gradient:#FF0000:#0000FF>Custom gradientPlaceholder System
Section titled “Placeholder System”Messages support dynamic placeholders that are replaced with actual values at runtime.
Common Placeholders
Section titled “Common Placeholders”| Placeholder | Description | Example |
|---|---|---|
{player} | Player name | Notch |
{amount} | Numeric amount | 42, $500 |
{time} | Formatted time | 5m 30s, 2h |
{percentage} | Percentage value | 75% |
{count} | Count/quantity | 3 |
System-Specific Placeholders
Section titled “System-Specific Placeholders”{task_name}- Task display name{task_id}- Task identifier{subtask_name}- Subtask display name{objective_name}- Objective display name{progress}- Current progress{target}- Target amount{max_tracked}- Max trackable tasks
{party_name}- Party display name{player}- Player name
Global Tasks
Section titled “Global Tasks”{task_name}- Global task name{progress}- Total progress{target}- Target amount{percentage}- Completion percentage{subtask_name}- Subtask name
Bounty Board
Section titled “Bounty Board”{board_name}- Bounty board name{board_id}- Board identifier{task_name}- Task name{count}- Number of tasks{time}- Time remaining
Contracts
Section titled “Contracts”{contract_name}- Contract name{subtask_name}- Subtask name{progress}- Current progress{target}- Target amount{item}- Item name{amount}- Amount/money
Levelables
Section titled “Levelables”{levelable_name}- Levelable display name{levelable_id}- Levelable identifier{level}- Level number{amount}- XP amount
General
Section titled “General”{argument}- Command argument{message}- Warning message{item}- Item name
Task Messages
Section titled “Task Messages”Configure all task-related messages.
{ "tasks": { "trackSuccess": "<green>Now tracking: <yellow>{task_name}", "trackAlreadyTracked": "<yellow>This task is already being tracked", "trackMaxReached": "<red>You have reached the maximum number of tracked tasks ({max_tracked})", "trackNotActive": "<red>You don't have this task active", "untrackSuccess": "<yellow>No longer tracking: <gray>{task_name}", "taskStarted": "<green>Task started: <yellow>{task_name}", "taskCompleted": "<gold>✔ Task completed: <green>{task_name}", "taskFailed": "<red>✘ Task failed: <gray>{task_name}", "subtaskCompleted": "<gold>▸ Subtask completed: <green>{subtask_name}", "subtaskProgress": "<blue>▸ {subtask_name}: <yellow>{progress}/{target}", "objectiveCompleted": "<gray>[<green>✔<gray>] {objective_name}", "objectiveProgress": "<gray>[<yellow>{progress}/{target}<gray>] {objective_name}", "objectiveLocked": "<dark_gray>[<gray>✘<dark_gray>] {objective_name}", "taskNotFound": "<red>Task not found: {task_id}", "taskAlreadyActive": "<yellow>You already have this task active", "taskRequirementsNotMet": "<red>You don't meet the requirements for this task" }}Example Customizations
Section titled “Example Customizations”Minimal Style:
{ "taskCompleted": "✓ {task_name}", "taskFailed": "✗ {task_name}", "subtaskProgress": "{subtask_name} ({progress}/{target})"}Verbose Style:
{ "taskCompleted": "<gold><bold>QUEST COMPLETED!</bold> <yellow>{task_name}", "taskStarted": "<green>You have begun the quest: <yellow><italic>{task_name}", "subtaskCompleted": "<green>→ You completed: <yellow>{subtask_name}"}Emoji Style:
{ "taskCompleted": "🎉 <gold>{task_name} <green>complete!", "taskFailed": "❌ <red>{task_name} failed", "subtaskProgress": "📊 {subtask_name}: {progress}/{target}"}Party Messages
Section titled “Party Messages”Configure party system messages.
{ "party": { "created": "<green>Party created: <yellow>{party_name}", "disbanded": "<red>Party disbanded", "joined": "<green>{player} joined the party", "left": "<yellow>{player} left the party", "youJoined": "<green>You joined <yellow>{party_name}", "youLeft": "<yellow>You left the party", "kicked": "<red>You were kicked from the party", "playerKicked": "<red>{player} was kicked from the party", "youNowLeader": "<gold>You are now the party leader", "leaderChanged": "<gold>{player} is now the party leader", "inviteSent": "<green>Party invitation sent to <yellow>{player}", "inviteReceived": "<yellow>{player} <green>invited you to join their party", "inviteAccepted": "<green>Invitation accepted", "inviteDeclined": "<red>Invitation declined", "inviteExpired": "<gray>Party invitation expired", "inviteAlreadyInParty": "<red>{player} is already in a party", "inviteNoPermission": "<red>Only the party leader can invite players", "settingsUpdated": "<yellow>Party settings updated", "visibilityPublic": "<green>Party is now public", "visibilityPrivate": "<yellow>Party is now private", "invitesEnabled": "<green>Members can now invite others", "invitesDisabled": "<yellow>Only the leader can invite players", "notInParty": "<red>You are not in a party", "alreadyInParty": "<red>You are already in a party", "partyFull": "<red>This party is full", "notLeader": "<red>Only the party leader can do this", "partyNotFound": "<red>Party not found", "cannotKickSelf": "<red>You cannot kick yourself from the party" }}Example Customizations
Section titled “Example Customizations”RPG Style:
{ "created": "⚔️ <gold>Your fellowship has been formed: <yellow>{party_name}", "joined": "🛡️ <green>{player} <yellow>has joined your fellowship!", "youNowLeader": "👑 <gold>You are now the leader of this fellowship"}Modern Style:
{ "inviteReceived": "📨 <yellow>{player} <green>wants you to join their squad", "youJoined": "✅ <green>You're now part of <yellow>{party_name}", "left": "👋 {player} left"}Global Task Messages
Section titled “Global Task Messages”Configure global event messages.
{ "globalTasks": { "started": "<gold>⚡ Global Event Started: <yellow>{task_name}", "completed": "<green>✔ Global Event Completed: <yellow>{task_name}", "failed": "<red>✘ Global Event Failed: <gray>{task_name}", "progress": "<blue>Global Progress: <yellow>{progress}/{target} <gray>({percentage}%)", "contributed": "<green>+{amount} contribution to <yellow>{task_name}", "subtaskCompleted": "<green>Subtask completed: <yellow>{subtask_name}", "rewardClaimed": "<gold>✔ Reward claimed for <yellow>{task_name}", "rewardAvailable": "<green>You have unclaimed rewards! Use <yellow>/journey rewards", "notParticipated": "<red>You did not participate in this event", "alreadyClaimed": "<yellow>You already claimed this reward", "noRewards": "<gray>No rewards available" }}Example Customizations
Section titled “Example Customizations”Server-Wide Announcements:
{ "started": "<gold><bold>═══════════════════════════════</bold>\n<yellow>⚡ GLOBAL EVENT: {task_name}\n<gold><bold>═══════════════════════════════</bold>", "completed": "🎉 <gold><bold>EVENT COMPLETE!</bold> <green>Everyone contributed to: <yellow>{task_name}", "contributed": "✨ <green>+{amount} <gray>points added!"}Bounty Board Messages
Section titled “Bounty Board Messages”Configure bounty board messages.
{ "bountyBoard": { "rotationAnnouncement": "<gold>⚡ Bounty Board Rotated: <yellow>{board_name}", "newTasksAvailable": "<green>{count} new tasks available on <yellow>{board_name}", "taskAccepted": "<green>Task accepted: <yellow>{task_name}", "taskAlreadyAccepted": "<yellow>You already have this task", "taskOnCooldown": "<red>This task will be available again in {time}", "taskAvailableAgainAt": "<gray>Available again when board rotates in {time}", "boardEmpty": "<gray>No tasks available on this board", "boardOnCooldown": "<yellow>This board will refresh in {time}", "boardNotFound": "<red>Bounty board not found: {board_id}", "noPermission": "<red>You don't have permission to use this board" }}Contract Messages
Section titled “Contract Messages”Configure contract system messages.
{ "contracts": { "started": "<green>Contract started: <yellow>{contract_name}", "accepted": "<green>Contract accepted: <yellow>{contract_name}", "completed": "<gold>✔ Contract completed: <green>{contract_name}", "failed": "<red>✘ Contract failed: <gray>{contract_name}", "expired": "<red>⏱ Contract expired: <gray>{contract_name}", "expiredCannotClaim": "<red>This contract has expired and cannot be claimed", "abandoned": "<yellow>Contract abandoned: <gray>{contract_name}", "alreadyAccepted": "<red>This contract has already been accepted", "cannotAcceptOwn": "<red>You cannot accept your own contract", "subtaskCompleted": "<blue>▸ {subtask_name} completed", "subtaskProgress": "<gray>▸ {subtask_name}: <yellow>{progress}/{target}", "rewardsClaimed": "<gold>✔ Rewards claimed!", "rewardsMoneyReceived": "<green>+{amount}", "rewardsItemReceived": "<green>+{count}x {item}", "rewardsExpReceived": "<green>+{amount} XP", "notComplete": "<red>This contract is not complete yet", "alreadyClaimed": "<yellow>Rewards already claimed", "inventoryFull": "<red>Your inventory is full", "claimFailed": "<red>Failed to claim rewards. Make sure you have inventory space.", "itemNotFound": "<red>Contract item not found in inventory", "noContract": "<red>You don't have a contract" }}Levelable Messages
Section titled “Levelable Messages”Configure XP and leveling messages.
{ "levelables": { "levelUp": "<gold>★ Level Up! <yellow>{levelable_name} <green>is now level {level}", "expGained": "<green>+{amount} {levelable_name} XP", "maxLevel": "<yellow>You have reached the maximum level for {levelable_name}", "levelableNotFound": "<red>Levelable not found: {levelable_id}", "cannotLevel": "<red>You cannot level up {levelable_name} yet" }}Example Customizations
Section titled “Example Customizations”Classic RPG:
{ "levelUp": "🌟 <gold>LEVEL UP! <yellow>{levelable_name} <green>→ Level {level}", "expGained": "<green>+{amount} EXP <gray>({levelable_name})"}Modern Gaming:
{ "levelUp": "⬆️ <gradient:green:gold>{levelable_name}</gradient> <white>reached <yellow>Lv.{level}", "expGained": "<green>+{amount} <gray>XP"}General Messages
Section titled “General Messages”Generic messages used across Journey.
{ "general": { "success": "<green>✔ Success!", "saved": "<green>✔ Saved successfully", "deleted": "<yellow>✔ Deleted", "error": "<red>✘ An error occurred", "notFound": "<red>Not found", "noPermission": "<red>You don't have permission to do this", "invalidArgument": "<red>Invalid argument: {argument}", "playerNotFound": "<red>Player not found: {player}", "playerOffline": "<yellow>Player is offline: {player}", "warning": "<yellow>⚠ Warning: {message}", "cooldown": "<yellow>Please wait {time} before doing this again", "confirmAction": "<yellow>Are you sure? Type <gold>/confirm <yellow>to proceed", "actionCancelled": "<gray>Action cancelled", "actionConfirmed": "<green>Action confirmed", "loading": "<gray>Loading...", "pleaseWait": "<gray>Please wait...", "inventoryFull": "<red>Your inventory is full", "itemReceived": "<green>Received: {item}", "itemRemoved": "<yellow>Removed: {item}" }}GUI Titles
Section titled “GUI Titles”Titles for GUI windows.
{ "guiTitles": { "contractView": "{contract_name}" }}Complete Examples
Section titled “Complete Examples”Minimal Style
Section titled “Minimal Style”Clean, no-nonsense messages:
{ "tasks": { "taskCompleted": "✓ {task_name}", "taskFailed": "✗ {task_name}", "taskStarted": "→ {task_name}" }, "party": { "joined": "{player} joined", "left": "{player} left", "youJoined": "Joined {party_name}" }, "levelables": { "levelUp": "{levelable_name}: Lv.{level}", "expGained": "+{amount} XP" }}Verbose RPG Style
Section titled “Verbose RPG Style”Immersive fantasy messages:
{ "tasks": { "taskCompleted": "<gold><bold>⚔ QUEST COMPLETED ⚔</bold>\n<yellow>You have successfully finished: <green>{task_name}", "taskStarted": "<green>You have embarked upon a new quest:\n<yellow><italic>{task_name}", "subtaskCompleted": "<gold>→ <green>You completed a quest objective: <yellow>{subtask_name}" }, "party": { "created": "⚔️ <gold>Your fellowship has been formed: <yellow>{party_name}", "joined": "🛡️ <green>{player} <yellow>joins your fellowship!", "youNowLeader": "👑 <gold>You now lead this band of adventurers" }, "levelables": { "levelUp": "🌟 <gradient:yellow:gold>ASCENSION!</gradient>\n<yellow>{levelable_name} <white>has reached <gold>Level {level}", "expGained": "✨ <green>+{amount} <yellow>{levelable_name} <gray>experience" }}Modern Gaming Style
Section titled “Modern Gaming Style”Contemporary game aesthetics:
{ "tasks": { "taskCompleted": "🎯 <gradient:green:blue>COMPLETE</gradient> <white>» {task_name}", "taskFailed": "❌ <red>FAILED <dark_gray>» {task_name}", "subtaskProgress": "📊 {subtask_name} <gray>[<yellow>{progress}<dark_gray>/<white>{target}<gray>]" }, "party": { "inviteReceived": "📨 <gradient:aqua:blue>{player}</gradient> <white>invited you to their squad", "youJoined": "✅ <green>Joined <gradient:yellow:gold>{party_name}</gradient>", "left": "👋 <gray>{player} disconnected" }, "globalTasks": { "started": "⚡ <gradient:gold:yellow>LIVE EVENT</gradient>\n<white>» {task_name}", "contributed": "✨ <green>+{amount} <gray>contribution" }}Localization
Section titled “Localization”The messages system is perfect for creating translated versions:
English (messages.json)
Section titled “English (messages.json)”{ "tasks": { "taskCompleted": "<gold>✔ Task completed: <green>{task_name}" }}Spanish (messages_es.json)
Section titled “Spanish (messages_es.json)”{ "tasks": { "taskCompleted": "<gold>✔ Tarea completada: <green>{task_name}" }}Japanese (messages_ja.json)
Section titled “Japanese (messages_ja.json)”{ "tasks": { "taskCompleted": "<gold>✔ タスク完了: <green>{task_name}" }}Note: Server administrators would need to manually swap message files or implement a locale system.
Best Practices
Section titled “Best Practices”Message Design
Section titled “Message Design”✅ Keep it concise - Players should understand messages at a glance
✅ Use consistent colors - Same colors for similar message types
- Success:
<green> - Errors:
<red> - Warnings:
<yellow> - Info:
<gray>or<blue>
✅ Include context - Use placeholders to show relevant data
✅ Test readability - Ensure colors work with different backgrounds
Color Schemes
Section titled “Color Schemes”Success Messages:
"success": "<green>✔ Success!","completed": "<gold>✔ Completed: <green>{task_name}","saved": "<green>✔ Saved successfully"Error Messages:
"error": "<red>✘ An error occurred","notFound": "<red>Not found","noPermission": "<red>You don't have permission to do this"Warning Messages:
"warning": "<yellow>⚠ Warning: {message}","cooldown": "<yellow>Please wait {time} before doing this again","alreadyTracked": "<yellow>This task is already being tracked"Info Messages:
"progress": "<blue>Progress: <yellow>{progress}/{target}","loading": "<gray>Loading...","pleaseWait": "<gray>Please wait..."Placeholder Usage
Section titled “Placeholder Usage”✅ Always include placeholders when dynamic data is available
"taskCompleted": "<gold>✔ Task completed: <green>{task_name}" // Good"taskCompleted": "<gold>✔ Task completed!" // Missing context✅ Format numbers consistently
"contributed": "<green>+{amount} contribution""expGained": "<green>+{amount} XP""rewardsMoneyReceived": "<green>+${amount}"Reloading Messages
Section titled “Reloading Messages”After editing messages.json, reload with:
/journey reload messagesOr restart the server to apply changes.
Related Documentation
Section titled “Related Documentation”- Task System - Task configuration
- Party System - Party mechanics
- Global Tasks - Global events
- Bounty Boards - Bounty board system
- Levelables - XP systems