Configuration
A walkthrough of config.yml, the main zArrowChat settings file.
config.yml is the main settings file. It holds the chat format, the clear-chat behavior, and the admin messages. The other features have their own files: see Messages, Word filter, Mentions, and Share previews.
MiniMessage is supported in every format field. If PlaceholderAPI is installed, its placeholders work here too.
chat
Controls how public chat messages look. Covered in full on the Chat formatting page.
| Key | What it controls | Default |
|---|---|---|
chat.send-permission | Permission needed to send public chat | zarrowchat.chat |
chat.format | The overall chat layout | <prefix><player><suffix> <separator> <message> |
chat.prefix | Optional text before the name | blank |
chat.suffix | Optional text after the name | blank |
chat.separator | Divider between name and message | <dark_gray>»</dark_gray> |
chat.player-name | How the name renders | <white><player></white> |
chat.player-click-command | Command suggested on name click | /msg <player_name> |
chat.message-color | Base color for message text | <gray> |
chat.send-to-console | Also print a rendered copy to the console (ignored in compatibility mode) | true |
chat.allow-message-placeholders | Run PlaceholderAPI on a player's own message text | false |
chat.allow-message-formatting | Let trusted players use a safe MiniMessage tag set in their message | false |
chat.exclusive-mode | Let zArrowChat fully own chat rendering. Set false to run alongside another chat plugin | true |
Rich message text
By default, message text typed by players is escaped. Players control the words, your format controls the styling, and no tags in a message do anything. Two opt-in settings loosen that, and both are off out of the box and gated behind an op permission.
| Key | What it allows | Permission | Default |
|---|---|---|---|
chat.allow-message-placeholders | The player's own message text is run through PlaceholderAPI | zarrowchat.chat.placeholders | false |
chat.allow-message-formatting | The player may use a safe MiniMessage tag set in their message | zarrowchat.chat.format | false |
With allow-message-formatting on, a permitted player can use a limited, safe tag set:
- color tags
- decorations: bold, italic, underline, strikethrough, obfuscated
gradientandrainbowhoverwithshow_textorshow_item
Command-executing tags such as click, run_command, and insertion are never allowed, whatever the settings. With allow-message-formatting off, every tag in a message is escaped and shown as literal text.
Both settings are opt-in and op-gated on purpose. Only turn them on for players you trust, and grant zarrowchat.chat.placeholders or zarrowchat.chat.format deliberately. See Permissions.
Compatibility mode
chat.exclusive-mode decides how zArrowChat shares the chat with other plugins.
true(default) — exclusive. zArrowChat takes the message, formats it, and posts its own final version. This is required for the built-in share previews ([inv],[ec], …) to work. Any other plugin that also tries to fully rebuild chat is locked out.false— compatibility. zArrowChat stops taking over the message. It still applies your format, word filter, and @mentions, but it hands the message off through the platform's chat renderer so another chat plugin (for example, an item-showoff plugin) can do its part in the same message. In this mode zArrowChat does not turn its own share tokens into previews — it leaves that text for the other plugin to handle.
| Key | What it controls | Default |
|---|---|---|
chat.exclusive-mode | true = zArrowChat owns chat rendering; false = share chat with another plugin | true |
Two plugins cannot both fully own chat rendering. If another chat plugin behaves oddly after installing zArrowChat, set chat.exclusive-mode: false and let that plugin handle its own tokens. Only turn one plugin loose on item/inventory previews.
In compatibility mode the word filter still blocks banned messages and censors the plain text, but it cannot reach inside pieces another plugin inserts (such as a shared item). Console output is also handled by the platform in this mode, so chat.send-to-console is ignored.
share-previews
Per-token switches for the in-chat preview tokens. enabled is the master switch; each other key turns a single token on or off. Turning a token off leaves its text in the message as plain text so another plugin can own it. Full detail is on the Share previews page.
| Key | Token it controls | Default |
|---|---|---|
share-previews.enabled | Master switch for all built-in preview tokens | true |
share-previews.inventory | [inv] / [inventory] | true |
share-previews.enderchest | [ec] / [enderchest] | true |
share-previews.shulker | [shulker] / [box] | true |
share-previews.item | [item] / [hand] | true |
share-previews.offhand | [offhand] / [oh] | true |
share-previews.armor | [armor] | true |
clear-chat
Controls the /clearchat command. Covered on the Moderation page.
| Key | What it controls | Default |
|---|---|---|
clear-chat.blank-lines | Blank rows sent by /clearchat | 300 |
clear-chat.bypass-enabled | Honor the clear-chat bypass | false |
clear-chat.respect-bypass | Keep the view for players with the bypass | false |
admin
Messages tied to the admin command.
| Key | What it controls | Default |
|---|---|---|
admin.reload-message | Shown after a successful reload | <green>zArrowChat reloaded. |
admin.no-permission | Shown when permission is missing | <red>You do not have permission. |
Full default file
# config.yml
chat:
send-permission: "zarrowchat.chat"
format: "<prefix><player><suffix> <separator> <message>"
prefix: ""
suffix: ""
separator: "<dark_gray>»</dark_gray>"
player-name: "<white><player></white>"
player-click-command: "/msg <player_name> "
message-color: "<gray>"
send-to-console: true
allow-message-placeholders: false
allow-message-formatting: false
exclusive-mode: true
share-previews:
enabled: true
inventory: true
enderchest: true
shulker: true
item: true
offhand: true
armor: true
clear-chat:
blank-lines: 300
bypass-enabled: false
respect-bypass: false
admin:
reload-message: "<green>zArrowChat reloaded."
no-permission: "<red>You do not have permission."After editing any config file, run /zarrowchat reload to apply it. For every permission node, see Permissions.