Messages Customization
Messages Customization
Section titled “Messages Customization”Every message Journey sends can be customized through messages.json. Change text, colors, and formatting for tasks, parties, global events, bounty boards, levelables, and more.
File: config/journey/messages.json
Format
Section titled “Format”Journey uses MiniMessage for all text formatting.
Colors: <red>, <green>, <blue>, <yellow>, <gold>, <gray>, <dark_gray>, <white>
Hex colors: <#FF5555>, <color:#FF00FF>
Styles: <bold>, <italic>, <underlined>, <strikethrough>
Gradients: <gradient:red:blue>Text</gradient>
File Structure
Section titled “File Structure”{ "tasks": { }, "party": { }, "globalTasks": { }, "bountyBoard": { }, "contracts": { }, "levelables": { }, "general": { }}Task Messages
Section titled “Task 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>Done<gray>] {objective_name}", "objectiveProgress": "<gray>[<yellow>{progress}/{target}<gray>] {objective_name}", "objectiveLocked": "<dark_gray>[Locked] {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" }}Placeholders: {task_name}, {task_id}, {subtask_name}, {objective_name}, {progress}, {target}, {max_tracked}
Party Messages
Section titled “Party 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", "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" }}Placeholders: {party_name}, {player}
Global Task Messages
Section titled “Global Task 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" }}Placeholders: {task_name}, {progress}, {target}, {percentage}, {amount}, {subtask_name}
Bounty Board Messages
Section titled “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}", "boardEmpty": "<gray>No tasks available on this board", "boardNotFound": "<red>Bounty board not found: {board_id}" }}Placeholders: {board_name}, {board_id}, {task_name}, {count}, {time}
Contract Messages
Section titled “Contract 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}", "abandoned": "<yellow>Contract abandoned: <gray>{contract_name}", "subtaskCompleted": "<blue>{subtask_name} completed", "subtaskProgress": "<gray>{subtask_name}: <yellow>{progress}/{target}", "rewardsClaimed": "<gold>Rewards claimed!", "rewardsMoneyReceived": "<green>+{amount}", "rewardsItemReceived": "<green>+{count}x {item}" }}Placeholders: {contract_name}, {subtask_name}, {progress}, {target}, {amount}, {count}, {item}
Levelable Messages
Section titled “Levelable 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}" }}Placeholders: {levelable_name}, {levelable_id}, {level}, {amount}
General Messages
Section titled “General Messages”{ "general": { "success": "<green>Success!", "saved": "<green>Saved successfully", "error": "<red>An error occurred", "noPermission": "<red>You don't have permission to do this", "invalidArgument": "<red>Invalid argument: {argument}", "playerNotFound": "<red>Player not found: {player}", "cooldown": "<yellow>Please wait {time} before doing this again", "inventoryFull": "<red>Your inventory is full", "itemReceived": "<green>Received: {item}" }}Placeholders: {argument}, {player}, {time}, {message}, {item}
Style Examples
Section titled “Style Examples”Minimal
Section titled “Minimal”{ "tasks": { "taskCompleted": "{task_name}", "taskStarted": "{task_name}", "subtaskProgress": "{subtask_name} ({progress}/{target})" }}{ "tasks": { "taskCompleted": "<gold><bold>QUEST COMPLETED!</bold> <yellow>{task_name}", "taskStarted": "<green>You have embarked upon: <yellow><italic>{task_name}", "subtaskCompleted": "<gold>{subtask_name} <green>done!" }}Modern
Section titled “Modern”{ "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>]" }}Reloading
Section titled “Reloading”After editing messages.json:
/journey reload- Keep messages concise — players should understand them at a glance
- Use consistent colors: green for success, red for errors, yellow for warnings, gray for info
- Always include relevant placeholders so players know what happened
- Test your color choices against both light and dark backgrounds