Background

HeroChat | Chat Channels, Formatting, Colors & More

ModsHeroChat | Chat Channels, Formatting, Colors & More
HeroChat | Chat Channels, Formatting, Colors & More

HeroChat | Chat Channels, Formatting, Colors & More

CurseForge
MiscellaneousQuality of LifeUtility

The modern chat solution for your server. Custom chat channels, proximity chat, gradients, anti-spam filters, and a sleek GUI for player chat settings and configuration.

HeroChat Icon

HeroChat

GitHub stars
GitHub issues
GitHub last commit
GitHub last commit
GitHub Tag
Discord

A simple and customizable chat plugin for Hytale servers.

image

Features

  • [x] Infinite configurable channels
  • [x] Proximity channels
  • [x] Private chat with other players
  • [x] Focus on a specific channel or private chat
  • [x] Mute a channel as a player to avoid unwanted chat spam
  • [x] Colors, gradients & formatting with bold, italic and monospaced
  • [x] Customizable player nicknames with permissions to limit usage of colors and style
  • [x] Support for Minecraft color codes(e.g. &a, &l, etc.)
  • [x] Chat spy, see all messages on all channels from the server
  • [x] Custom UI for players to easily manage their chat settings
  • [x] Custom UI for server admins to customize the plugin with ease
  • [x] Permissions to let the players use colors & style on chat messages
  • [x] Custom components to allow for reusable placeholders and better organization
  • [x] Multiple spam checks including repeated messages & capslock spam
  • [x] Chat cooldown configurable per channel
  • [x] Chat auto-mod with support for regex
  • [x] Players can ignore other players
  • [x] Support for PlaceholderAPI everywhere in the plugin
  • [ ] Player mention system
  • [ ] Discord integration & sync
  • [ ] URL filter to prevent ads on chat
  • [ ] Chat logging to see a player/server history of chat messages

Commands

  • /chat - Opens the chat customization menu;
  • /chat settings - Opens the user settings menu;
  • /chat spy - Toggle chat spy;
  • /ignore <player> - Ignore a player, hiding their messages;
  • /unignore <player> - Unignore a player, showing their messages again;
  • /tell <player> - Change the default chat to this private channel;
  • /tell <player> <message> - Sends a private message;
  • /nickname set <nickname> - Changes your nickname;
  • /nickname clear - Clears your nickname;
  • /<channel-id> - Change the default chat to this channel;
  • /<channel-id> <message> - Sends a message in a specific channel

Permissions

  • herochat.commands.chat - Permission for player to use the /chat command
  • herochat.commands.nickname - Permission for player to use the /nickname command
  • herochat.commands.nickname.set - Permission for player to use the /nickname set command
  • herochat.commands.nickname.clear - Permission for player to use the /nickname clear command
  • herochat.commands.ignore - Permission for player to use the /ignore command
  • herochat.commands.unignore - Permission for player to use the /unignore command
  • herochat.nickname.style.colors - Permission to use colors on the nickname
  • herochat.nickname.style.rainbow - Permission to use rainbow on the nickname
  • herochat.nickname.style.gradient - Permission to use gradient on the nickname
  • herochat.nickname.style.bold - Permission to use bold on the nickname
  • herochat.nickname.style.italic - Permission to use italic on the nickname
  • herochat.nickname.style.monospaced - Permission to use monospaced on the nickname
  • herochat.chat.mute-channels - Permission for player to mute channels
  • herochat.chat.style.colors - Permission to use colors on the chat
  • herochat.chat.style.rainbow - Permission to use rainbow on the chat
  • herochat.chat.style.gradient - Permission to use gradient on the chat
  • herochat.chat.style.bold - Permission to use bold on the chat
  • herochat.chat.style.italic - Permission to use italic on the chat
  • herochat.chat.style.monospaced - Permission to use monospaced on the chat
  • herochat.chat.message.colors - Deprecated - Will be removed soon! Permission for player to use colors on chat
  • herochat.chat.message.formatting - Deprecated - Will be removed soon! Permission for player to use formatting tags on chat
  • herochat.chat.message-color - Permission for player to change the default message color on chat
  • herochat.bypass.cooldown - Permission to bypass the cooldown checks
  • herochat.bypass.spam - Permission to bypass the spam checks
  • herochat.bypass.capslock - Permission to bypass the capslock spam checks
  • herochat.bypass.automod - Permission to bypass the auto-mod
  • herochat.admin.spy - Permission to enable chat spy
  • herochat.admin.settings - Permission to open the admin settings menu

Config

You can create as many chat components as you want and need. You can also create components available only on a
specific channel. A channel ID is its file name.

Global config

{
  "DefaultChat": "global",
  "enableMinecraftColors": false, // Enable &a, &4, etc colors as in minecraft
  "NicknameMaxLength": 16,
  "Components": {
    "prefix": {
      "Text": "{#555555}[{#55FFFF-#FF55FF}HeroChat{#555555}] "
    },
    "component_with_permission": {
      "Text": "{#00AAAA}[Admin]",
      "Permission": "tag.admin" // Optional
    }
  }
}

Private channel config

{
  "Name": "Whisper",
  "Commands": [
    "tell",
    "w",
    "whisper"
  ],
  "SenderFormat": "Message to {target_username}{#555555}{bold}> {#aaa}{message}",
  "ReceiverFormat": "Message from {player_username}{#555555}{bold}> {#AAAAAA}{message}",
  "Permission": "chat.tell", // Optional
  "CapslockFilter": {
    "enabled": true,
    "percentage": 50,
    "minLength": 5
  },
  "Cooldowns": {
    "chat.member": 1000, // Cooldown in miliseconds
    "chat.vip": 300,
    "chat.admin": 0
  },
  "Components": {}
}

Channel config

{
  "Name": "Local",
  "Commands": [
    "l",
    "local"
  ],
  "Format": "{color}[Local] {#DDDDDD}{player_username}{#555555}{bold}> {color}{message}",
  "Permission": "chat.local", // Optional
  "Distance": 60, // Optional
  "CrossWorld": false, // Optional
  "CapslockFilter": {}, // Optional - defaults to disabled
  "Cooldowns": {},
  "Components": {
    "color": {
      "Text": "{#FFFF55}"
    }
  }
}

Auto-Mod Config

{
  "Enabled": true,
  "DefaultBlockMessage": "&cYour message contains forbidden content.",
  "Rules": [
    {
      // Words to block/replace
      "Patterns": [ "badword", "word" ],
      // If not set, the message is BLOCKED and the player receives the BlockMessage 
      // or the DefaultBlockMessage if not set.
      // If set (e.g., "***"), the pattern is replaced by this.
      "Replacement": "***"
    },
    {
      "Patterns": [ "\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b" ],
      // Tell the plugin this is a regex pattern
      "IsRegex": true,
      "BlockMessage": "&cPlease do not share IP addresses!"
    },
    {
      "Patterns": [ "\\b(https?://|www\\.)\\S+\\b" ],
      "IsRegex": true,
      "BlockMessage": "&cPlease do not advertise!"
    }
  ]
}

Messages Config

{
  "ChannelNoPermission": "{prefix}{#FF5555}You do not have permission to send messages in this channel.",
  "ChannelNotFound": "{prefix}{#FF5555}Channel not found.",
  "ChannelJoined": "{prefix}{#AAAAAA}You are now talking in {#FFFFFF}{channel}{#AAAAAA}.",
  "ChannelDisabled": "{prefix}{#FF5555}You have disabled this channel. Enable it again to be able to talk here.",
  "ChatNoRecipients": "{prefix}{#FF5555}No one hears you.",
  "ChatCooldown": "{prefix}{#FF5555}Please wait before sending another message.",
  "ChatSpamWarning": "{prefix}{#FF5555}Please do not spam.",
  "ChatCapslockWarning": "{prefix}{#FF5555}Please do not abuse capslock!"
  "IgnoreSelf": "{prefix}{#FF5555}You cannot ignore yourself.",
  "IgnoreSuccess": "{prefix}{#AAAAAA}You ignored {#FFFFFF}{player}{#AAAAAA}.",
  "IgnoreAlready": "{prefix}{#FF5555}You already ignored {#FFFFFF}{player}{#FF5555}.",
  "UnignoreSelf": "{prefix}{#FF5555}You cannot unignore yourself.",
  "UnignoreSuccess": "{prefix}{#AAAAAA}You unignored {#FFFFFF}{player}{#AAAAAA}.",
  "UnignoreNotIgnored": "{prefix}{#FF5555}{#FFFFFF}{player}{#FF5555} is not ignored.",
  "PrivateChatStarted": "{prefix}{#AAAAAA}You are now in a private conversation with {#FFFFFF}{target}{#AAAAAA}.",
  "PrivateChatPlayerNotFound": "{prefix}{#FF5555}The player is not online.",
  "PrivateChatSelf": "{prefix}{#FF5555}You cannot start a private conversation with yourself.",
  "PrivateChatNotActive": "{prefix}{#FF5555}You are not in a private conversation.",
  "SpyNoPermission": "{prefix}{#FF5555}You do not have permission to use chat spy.",
  "SpyToggle": "{prefix}{#AAAAAA}Chat spy has been {status}{#AAAAAA}.",
  "NicknameNoPermission": "{prefix}{#FF5555}You do not have permission to change your nickname.",
  "NicknameTooLong": "{prefix}{#FF5555}Nickname is too long.",
  "NicknameContainsSpaces": "{prefix}{#FF5555}Your nickname can not contain spaces.",
  "NicknameSet": "{prefix}{#AAAAAA}Your nickname has been set to {#FFFFFF}{nickname}{#AAAAAA}.",
  "NicknameReset": "{prefix}{#AAAAAA}Your nickname has been reset.",
  "MenuNickname": "Nickname",
  "MenuFocusedChannel": "Focused Channel",
  "MenuMutedChannels": "Muted Channels",
  "MenuMessageColor": "Message Color",
  "MenuSpyMode": "Spy Mode",
  "MenuSaveButton": "Save",
  "MenuCancelButton": "Close",
  "MenuSuccessNotificationTitle": "Settings Saved",
  "MenuSuccessNotificationDescription": "Your settings were successfully saved!"
}

Available placeholders

If you are using PlaceholderAPI in your server you can use all of its placeholders,
but using the format {placeholder}.

Default placeholders available:

  • {message} - The message to be sent by the player
  • {player_username} - The player username
  • {player_nickname} - The player nickname if set, or else defaults to the player username

Formatting placeholders

  • {#ffffff} - Hex color
  • {#ffffff-#aaffaa} - Gradient text color
  • {rainbow} - Raibow text color
  • {bold}
  • {italic}
  • {monospaced}

Plugin Compatibility

LuckPerms

To use this plugin with LuckPerms you must disable chat formatting on the LuckPerms config:

chat-formatter:
  enabled: false  # <== Change this to false
  message-format: "<prefix><username><suffix>: <message>"

Screenshots

{3EB12BE9-F0FE-4044-A973-B300883AD9BB}

User Settings Menu
Settings Menu
Private Chat Settings Menu
Chat Settings Menu
Add component Menu

📸Gallery

Captura de ecrã de 2026-02-20 19-20-42.png
Captura de ecrã de 2026-02-20 19-20-42.png
Captura de ecrã de 2026-01-29 19-29-53.png
Captura de ecrã de 2026-01-29 19-29-53.png
Captura de ecrã de 2026-01-29 19-30-07.png
Captura de ecrã de 2026-01-29 19-30-07.png
Captura de ecrã de 2026-01-29 19-30-25.png
Captura de ecrã de 2026-01-29 19-30-25.png
Captura de ecrã de 2026-01-29 19-30-53.png
Captura de ecrã de 2026-01-29 19-30-53.png

Information

577
Downloads
Version
v1.7.1 - Edit Reply Command & Shout Commands
Updated
Jan 23, 2026
Support
Early Access

Project Links

Help the community thrive by sharing your feedback and reporting issues on the official tracker.

HeroChat | Chat Channels, Formatting, Colors & More - Hytale Mod | Hytale Wiki