zArrowChat

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.

KeyWhat it controlsDefault
chat.send-permissionPermission needed to send public chatzarrowchat.chat
chat.formatThe overall chat layout<prefix><player><suffix> <separator> <message>
chat.prefixOptional text before the nameblank
chat.suffixOptional text after the nameblank
chat.separatorDivider between name and message<dark_gray>»</dark_gray>
chat.player-nameHow the name renders<white><player></white>
chat.player-click-commandCommand suggested on name click/msg <player_name>
chat.message-colorBase color for message text<gray>
chat.send-to-consoleAlso print a rendered copy to the console (ignored in compatibility mode)true
chat.allow-message-placeholdersRun PlaceholderAPI on a player's own message textfalse
chat.allow-message-formattingLet trusted players use a safe MiniMessage tag set in their messagefalse
chat.exclusive-modeLet zArrowChat fully own chat rendering. Set false to run alongside another chat plugintrue

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.

KeyWhat it allowsPermissionDefault
chat.allow-message-placeholdersThe player's own message text is run through PlaceholderAPIzarrowchat.chat.placeholdersfalse
chat.allow-message-formattingThe player may use a safe MiniMessage tag set in their messagezarrowchat.chat.formatfalse

With allow-message-formatting on, a permitted player can use a limited, safe tag set:

  • color tags
  • decorations: bold, italic, underline, strikethrough, obfuscated
  • gradient and rainbow
  • hover with show_text or show_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.
KeyWhat it controlsDefault
chat.exclusive-modetrue = zArrowChat owns chat rendering; false = share chat with another plugintrue

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.

KeyToken it controlsDefault
share-previews.enabledMaster switch for all built-in preview tokenstrue
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.

KeyWhat it controlsDefault
clear-chat.blank-linesBlank rows sent by /clearchat300
clear-chat.bypass-enabledHonor the clear-chat bypassfalse
clear-chat.respect-bypassKeep the view for players with the bypassfalse

admin

Messages tied to the admin command.

KeyWhat it controlsDefault
admin.reload-messageShown after a successful reload<green>zArrowChat reloaded.
admin.no-permissionShown 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.

On this page