-
Notifications
You must be signed in to change notification settings - Fork 1
Channel Configuration
Bruno Martins edited this page Mar 15, 2026
·
3 revisions
Each channel in HeroChat is defined by a configuration file (e.g., global.json, local.json). This document details all the available options for configuring a channel.
-
Type:
String -
Default:
"Global" - Description: The display name of the channel. This is used in messages and UI elements.
-
Type:
Array<String> -
Default:
["g", "global"] - Description: A list of commands that can be used to send messages to this channel or set it as the focused channel.
-
Type:
Array<String>(Optional) -
Default:
null - Description: A list of prefixes that, when used at the beginning of a message, will force the message to be sent to this channel, bypassing the focused channel.
-
Type:
String -
Default:
"{color}[Global] {#FFFFFF}{player_nickname}{#555555}{bold}> {color}{message}" -
Description: The format of the chat message. This string supports placeholders from PlaceholderAPI and custom components defined in the
Componentssection.
-
Type:
String(Optional) -
Default:
null - Description: A permission node required to send messages in this channel. If not specified, anyone can send messages.
-
Type:
Double(Optional) -
Default:
null - Description: If set, this channel becomes a proximity channel. Only players within this distance of the sender will receive the message.
-
Type:
Boolean(Optional) -
Default:
null -
Description: If
Distanceis set, this option determines if the proximity check should apply across different worlds.
-
Type:
Object -
Description: Configuration for the capslock filter.
-
Enabled:Boolean(Default:true) - Whether to enable the filter. -
Percentage:Integer(Default:50) - The minimum percentage of uppercase characters in a message to trigger the filter. -
MinLength:Integer(Default:5) - The minimum message length to which the filter should apply.
-
-
Type:
Map<String, Long> -
Default:
{} -
Description: A map of permission nodes to chat cooldowns in milliseconds. The key is the permission (e.g.,
herochat.cooldown.chat.default), and the value is the cooldown duration.
-
Type:
Map<String, Object> -
Default:
{} -
Example:
{"color": {"Text": "{#DDDDDD}"}} -
Example2:
{"color_admin": {"Text": "{#DDDDDD}", "Permission": "herochat.admin.color"}} -
Description: Defines custom components that can be used in the
Formatstring. Each key is the component name (e.g.,{color}). The permission field is optional, if the sender does not have that permission then the component text won't be shown.
{
"Name": "Global",
"Commands": [
"g",
"global"
],
"ShoutCommands": [
"!"
],
"Format": "[G] {luckperms_prefix} {player_username} {luckperms_suffix} &8> {message}",
"Permission": "chat.global",
"CapslockFilter": {
"Enabled": true,
"Percentage": 50,
"MinLength": 5
},
"Cooldowns": {
"chat.default": 3000,
"chat.vip": 1000,
"chat.admin": 0
},
"Components": {}
}{
"Name": "Local",
"Commands": [
"l",
"local"
],
"Format": "{chColor}[L] {luckperms_prefix} {player_username} {luckperms_suffix} &8> {chColor}{message}",
"Distance": 60,
"CrossWorld": false,
"CapslockFilter": {
"Enabled": true,
"Percentage": 50,
"MinLength": 5
},
"Cooldowns": {},
"Components": {
"chColor": {
"Text": "{#555555}"
}
}
}