Chat
Module responsible for messages sent by the player to the chat

How to disable local chat? Inside message.yml disable local using enable: false, and also set an empty trigger: "" for global
chat:
enable: true
mode: "BUKKIT"
priority: "NORMAL"
types:
local:
enable: false # set false
global:
enable: true
cancel: false
range: "PROXY"
priority: 5
trigger: "" # remove trigger
null_receiver:
enable: true
destination:
type: "ACTION_BAR"
times:
stay: 20
destination:
type: "CHAT"
cooldown:
enable: false
sound:
enable: falseHow to configure chat to work with other plugins?
For TownyChat:
- Open the ChatConfig.yml file (in the Towny folder)
- Under the modify_chat section, set
enable: false(this means it will not modify global type chats) - At the very end of the file, set allow_exclamation_point_to_shout to false (this is needed to avoid issues with the "!" character)
Inside FlectonePulse:
- Open message.yml
- In the
chatmodule, setmode: "BUKKIT"(ormode: "PAPER"for some plugins) andpriority: "HIGHEST"(so that FlectonePulse modifies the chat only at the very last moment)
This resolves issues with 99% of plugins that interact with chat. As a last resort, you can set mode: "PACKET" to have FlectonePulse process chat messages via PacketEvents
How to make your own chat? For example an admin chat that is visible on all servers and is read only by admins
In message.yml add a new chat to chat.types, here !! is what the message must start with
types:
admin:
enable: true
cancel: true
range: "PROXY"
priority: 10
trigger: "!!"
null_receiver:
enable: false
destination:
type: "CHAT"
cooldown:
enable: false
sound:
enable: falseIn localizations → language.yml add the format of this chat to message.chat.types
types:
admin: "<delete><color:#ff7171>[A] <display_name><fcolor:3>: <message>"In permission.yml add a permission to message.chat.types, otherwise the chat is available to everyone
types:
admin:
name: "flectonepulse.module.message.chat.admin"
type: "OP"Reload FlectonePulse with /flectonepulse reload and write !!hello
The chat name is used in other places too, for example for sending to Discord it will be MESSAGE_CHAT_ADMIN
Localization
Pathlocalizations → language.yml → message.chat
chat:
null_chat: "<color:#ff7171><sprite_or:⁉:gui:icon/chat_modified>Chat is disabled on this server"
null_receiver: "<color:#ff7171><sprite_or:⁉:gui:icon/chat_modified>Nobody heard you"
types:
global: "<delete><display_name> <world>»<fcolor:4> <message>"
local: "<delete><display_name><fcolor:3>: <message>"null_chat
Message if nothing could be sent to the chat
null_receiver
Message if no one saw the player's message
types
List of chats and their format
Setting
Pathmessage.yml → chat
chat:
enable: true
mode: "BUKKIT"
priority: "NORMAL"
types:
local:
enable: true
cancel: true
range: 100
priority: 0
trigger: ""
null_receiver:
enable: true
destination:
type: "ACTION_BAR"
times:
stay: 20
destination:
type: "CHAT"
cooldown:
enable: false
sound:
enable: false
global:
enable: true
cancel: false
range: "PROXY"
priority: 5
trigger: "!"
null_receiver:
enable: true
destination:
type: "ACTION_BAR"
times:
stay: 20
destination:
type: "CHAT"
cooldown:
enable: false
sound:
enable: falseenable
Enables or disables the functionality of the module
mode
Chat processing mode
| Type | Explanation |
|---|---|
PACKET | Chat messages are processed via packets (fully asynchronous) |
BUKKIT | Chat messages are processed via Bukkit (asynchronous, but only in one chat thread) |
PAPER | Chat messages are processed via Paper (asynchronous, but only in one chat thread) |
If you need another plugin to see chat messages, set mode: "BUKKIT". In rare cases, if the plugin works through Paper listeners, you should set mode: "PAPER"
priority
Priority of the chat message event. Change this value if there is a conflict with other plugins using the chat.
| Type | Explanation |
|---|---|
LOWEST | The chat message will be processed before all other plugins |
LOW | The chat message will be processed after plugins with LOWEST priority |
NORMAL | The chat message will be processed after plugins with LOW priority |
HIGH | The chat message will be processed after plugins with NORMAL priority |
HIGHEST | The chat message will be processed after plugins with HIGH priority |
MONITOR | The chat message will only be observed |
types
List of all chats with their settings. Any default chat looks like this, and you can add your own:
chat_name:
enable: true
cancel: true
range: PROXY
priority: number
trigger: "trigger"
null_receiver:
enable: true
destination:
type: "ACTION_BAR"
times:
stay: 20
destination:
type: "CHAT"
cooldown:
enable: false
sound:
enable: falsedestination
Where the message will be sent
| Type | Explanation | Requires additional configuration? |
|---|---|---|
ACTION_BAR | Message above the player's inventory | Yes |
BOSS_BAR | Message at the top of the screen | Yes |
BRAND | Message in F3 | No |
CHAT | Message in chat | No |
TEXT_SCREEN | Message anywhere on the screen | Yes |
TITLE | Full-screen message | Yes |
SUBTITLE | Full-screen message (bottom line) | Yes |
TAB_HEADER | Message in TAB (top) | No |
TAB_FOOTER | Message in TAB (bottom) | No |
TOAST | Message in the top right corner (achievement) | Yes |
cooldown
Usage delay
sound
Sound playback
Permissions
Pathpermission.yml → message.chat
chat:
name: "flectonepulse.module.message.chat"
type: "TRUE"
types:
local:
name: "flectonepulse.module.message.chat.local"
type: "TRUE"
cooldown_bypass:
name: "flectonepulse.module.message.chat.local.cooldown.bypass"
type: "OP"
sound:
name: "flectonepulse.module.message.chat.local.sound"
type: "TRUE"
global:
name: "flectonepulse.module.message.chat.global"
type: "TRUE"
cooldown_bypass:
name: "flectonepulse.module.message.chat.global.cooldown.bypass"
type: "OP"
sound:
name: "flectonepulse.module.message.chat.global.sound"
type: "TRUE"name
Permission name
type
Permission type
| Type | Explanation |
|---|---|
TRUE | Available to any player |
FALSE | Available to no one, must be granted separately (e.g., using LuckPerms) |
OP | Available to server operators |
NOT_OP | Available to NON-operators of the server |
types
List of chats and their permissions
cooldown_bypass
Permission to ignore the cooldown between uses
sound
Permission to use the sound