Download Styled Chat — Minecraft Mods — MetaMods
Styled Chat

Styled Chat

Active

Downloads

17

Last update

4 weeks ago

Versions

1.17 — 1.21.9
Server
Fabric
Quilt
Control
Social
Utils

Styled Chat

Logo

Transform Your Server's Chat Appearance

This mod gives Minecraft server administrators complete control over chat formatting. You can customize the display of all message types, creating a unique atmosphere for players.

Example design Another example

Advanced Formatting Capabilities

The mod supports modern text styling methods that are often ignored by other plugins. Integration with Placeholder API allows using dynamic data in messages.

Individual Styles for Players

Customize chat appearance for different user groups using the permission system. Supports LuckPerms and PlayerRoles for flexible access management.

Works exclusively on Fabric Mod Loader and compatible platforms.

Available Commands

  • /styledchat - Main command (permission styledchat.main, available by default)
  • /styledchat reload - Reloads configuration and styles (requires styledchat.reload)
  • /styledchat set <player> <type> <value> - Changes player's personal style (requires styledchat.set)
  • /styledchat get <player> <type> - Shows player's current style (requires styledchat.get)
  • /styledchat clear <player> <type> - Resets style settings (requires styledchat.clear)

Configuration Settings

Configuration file is located at ./config/styled-chat.json and uses simplified text format with placeholder support.

{
  "CONFIG_VERSION_DONT_TOUCH_THIS": 3,
  "_comment": "Before changing settings, read the documentation",
  "text_formatting": {
    // Enables link recognition in chat
    "parse_links": true,
    // Activates markdown support
    "markdown": true,
    // Allows using legacy codes (&x) in chat
    "legacy_formatting": false,
    // Supports formatting from other mods
    "formatting_from_other_mods": false
  },
  "chat_preview": {
    // Sends full message in preview
    "send_full_message": false,
    // Requires preview for formatting application
    "require_for_formatting": false
  },
  "auto_completion": {
    // Autocompletion for tags
    "tags": false,
    // Autocompletion for tag aliases
    "tag_aliases": false,
    // Autocompletion for emoticons
    "emoticons": false
  },
  // Default style settings
  "default": {
    "display_name": "${default}",
    "message_formats": {
      "chat": "<${player}> ${message}",
      "joined_the_game": "<yellow><lang:multiplayer.player.joined:'${player}'></yellow>",
      "joined_after_name_change": "<yellow><lang:multiplayer.player.joined.renamed:'${player}':'${old_name}'></yellow>",
      "joined_for_first_time": "<yellow><lang:multiplayer.player.joined:'${player}'></yellow>",
      "left_game": "<yellow><lang:multiplayer.player.left:'${player}'></yellow>",
      "base_death": "${default_message}",
      "advancement_task": "<lang:chat.type.advancement.task:'${player}':'${advancement}'>",
      "advancement_challenge": "<lang:chat.type.advancement.challenge:'${player}':'${advancement}'>",
      "advancement_goal": "<lang:chat.type.advancement.goal:'${player}':'${advancement}'>",
      "sent_team_chat": "<lang:'chat.type.team.sent':'<hover\:'<lang\:chat.type.team.hover>\'><suggest_command\:'/teammsg \'>${team}':'${displayName}':'${message}'>",
      "received_team_chat": "<lang:'chat.type.team.text':'<hover\:'<lang\:chat.type.team.hover>\'><suggest_command\:'/teammsg \'>${team}':'${displayName}':'${message}'>",
      "sent_private_message": "<gray><italic><lang:commands.message.display.outgoing:'${receiver}':'${message}'>",
      "received_private_message": "<gray><italic><lang:commands.message.display.incoming:'${sender}':'${message}'>",
      "say_command": "[${player}] ${message}",
      "me_command": "<lang:'chat.type.emote':'${player}':'${message}'>",
      "pet_death": "${default_message}"
    },
    "link_style": "<underline><c:#7878ff>${link}",
    "spoiler_style": "<gray>${spoiler}",
    "spoiler_symbol": "▌",
    "formatting": {
      "dark_red": true,
      "green": true,
      "underline": true,
      "dark_green": true,
      "black": true,
      "yellow": true,
      "bold": true,
      "italic": true,
      "dark_blue": true,
      "dark_purple": true,
      "gold": true,
      "red": true,
      "aqua": true,
      "gray": true,
      "light_purple": true,
      "blue": true,
      "white": true,
      "dark_aqua": true,
      "dark_gray": true,
      "spoiler": true,
      "strikethrough": true
    },
    "emoticons": {
      "potion": "🧪",
      "item": "[%player:equipmentslot mainhand%]",
      "trident": "🔱",
      "rod": "🎣",
      "shrug": "¯\_(ツ)/¯",
      "bow": "🏹",
      "bell": "🔔",
      "heart": "❤",
      "bucket": "🪣",
      "sword": "🗡",
      "shears": "✂",
      "pos": "%player:pos_x% %player:pos_y% %player:pos_z%",
      "fire": "🔥",
      "table": "(╯°□°)╯︵ ┻━┻",
      "$emojibase:builtin:joypixels": "${emoji}"
    }
  },
  "styles": [
    {
      "require": {
        "type": "..."
      }
    }
  ]
}

In-Chat Formatting

Players with appropriate permissions can use simplified text tags in their messages. Settings allow activating markdown and legacy formatting support.

Configuration Example

{
  "CONFIG_VERSION_DONT_TOUCH_THIS": 3,
  "_comment": "Server configuration example",
  "text_formatting": {
    "legacy_formatting": true,
    "parse_links": true,
    "markdown": true,
    "formatting_from_other_mods": true
  },
  "chat_preview": {
    "send_full_message": false,
    "require_for_formatting": false
  },
  "auto_completion": {
    "tags": false,
    "tag_aliases": false,
    "emoticons": true
  },
  "default": {
    "display_name": "${vanillaDisplayName}",
    "message_formats": {
      "chat": "${player} <dark_gray>»</dark_gray> ${message}",
      "joined_the_game": "<gray>✚</gray> <color:#85ff8f><lang:multiplayer.player.joined:'${player}'>",
      "joined_after_name_change": "<gray>✚</gray> <color:#85ff8f><lang:multiplayer.player.joined.renamed:'${player}':'${old_name}'>",
      "joined_for_first_time": "<yellow><lang:multiplayer.player.joined:'${player}'></yellow>",
      "left_game": "<gray>☁</gray> <color:#ff8585><lang:multiplayer.player.left:'${player}'>",
      "base_death": "<gray>☠</gray> <color:#d1d1d1>${default_message}",
      "advancement_task": "<lang:chat.type.advancement.task:'${player}':'${advancement}'>",
      "advancement_challenge": "<lang:chat.type.advancement.challenge:'${player}':'${advancement}'>",
      "advancement_goal": "<lang:chat.type.advancement.goal:'${player}':'${advancement}'>",
      "sent_team_chat": "<lang:'chat.type.team.sent':'<hover\:'<lang\:chat.type.team.hover>\'><suggest_command\:'/teammsg \'>${team}':'${displayName}':'${message}'>",
      "received_team_chat": "<lang:'chat.type.team.text':'<hover\:'<lang\:chat.type.team.hover>\'><suggest_command\:'/teammsg \'>${team}':'${displayName}':'${message}'>",
      "sent_private_message": "<gray>[<green>PM</green> → ${receiver}] <dark_gray>»<reset> ${message}",
      "received_private_message": "<gray>[<green>PM</green> ← ${sender}] <dark_gray>»<reset> ${message}",
      "say_command": "<red>[${player}] ${message}",
      "me_command": "<green>* ${player} ${message}",
      "pet_death": "Oh no! ${default_message}"
    },
    "link_style": "<underline><blue>${link}",
    "spoiler_style": "<dark_gray>${spoiler}",
    "spoiler_symbol": "▌",
    "formatting": {
      "dark_red": true,
      "underline": true,
      "yellow": true,
      "italic": true,
      "dark_blue": true,
      "dark_purple": true,
      "gold": true,
      "red": true,
      "aqua": true,
      "gray": true,
      "light_purple": true,
      "white": true,
      "pos": true,
      "dark_gray": true,
      "spoiler": true,
      "strikethrough": true,
      "st": true,
      "b": true,
      "item": true,
      "green": true,
      "dark_green": true,
      "black": true,
      "i": true,
      "bold": true,
      "blue": true,
      "darkaqua": true
    },
    "emoticons": {
      "potion": "🧪",
      "trident": "🔱",
      "rod": "🎣",
      "shrug": "¯\_(ツ)/¯",
      "bow": "🏹",
      "bell": "<yellow>🔔",
      "heart": "<red>❤",
      "bucket": "🪣",
      "sword": "🗡",
      "shears": "✂",
      "fire": "🔥",
      "table": "<rb>(╯°□°)╯︵ ┻━┻"
    }
  },
  "styles": [
    {
      "require": {
        "type": "permission",
        "permission": "group.admin",
        "operator": 4
      },
      "display_name": "<dark_gray>[<red>Admin</red>]</dark_gray> <c:#ffe8a3>${vanillaDisplayName}</c>",
      "message_formats": {
        "chat": "${player} <dark_gray>»</dark_gray> <orange>${message}",
        "base_death": ""
      },
      "formatting": {},
      "emoticons": {}
    },
    {
      "require": {
        "type": "permission",
        "permission": "group.default"
      },
      "display_name": "<dark_gray>[<aqua>Player</aqua>]</dark_gray> <dark_aqua>${vanillaDisplayName}</dark_aqua>",
      "message_formats": {},
      "formatting": {},
      "emoticons": {}
    },
    {
      "require": {
        "type": "permission",
        "permission": "group.vip",
        "operator": 3
      },
      "message_formats": {},
      "formatting": {},
      "emoticons": {
        "potato": "<rb>Potato"
      }
    }
  ]
}
Project members
Patbox

Patbox

Developer

Created: 12 Jun 2021

ID: 1644