Bubble
Module responsible for messages above the head

Duration formula
long duration = (countWords + handicapChars) / readSpeed * 60;Localization
Pathlocalizations → language.yml → message.bubble
bubble:
format: "<fcolor:3><message>"format
Format of the message above the head
Setting
Pathmessage.yml → bubble
bubble:
enable: true
destination:
type: "HEAD_TEXT"
visible_to_self: true
hide_when_sneaking: false
filter_ignores: false
movable: true
row: 0
max_count: 3
distance: 50.0
life_time: 0
modern:
enable: true
has_shadow: true
see_through: false
disable_see_through_when_sneaking: true
background: "#00000040"
animation_time: 5
offset_x: 0.0
offset_y: 1.8
offset_z: 0.0
scale: 1.0
scale_with_player: true
space: 0.25
billboard: "CENTER"
disallowed_input: ""
max_length: 30
read_speed: 90.0
handicap_chars: 10.0
hint_buffer_length: 7
word_break_hint: "-"enable
Enables or disables the functionality of the module
disallowed_input
A regular expression to prevent showing messages. For example, disallowed_input: "^!.*" will block messages that start with the ! character
max_length
Maximum length of a single overhead message. If the text is longer, it will be split into several
read_speed
Reading speed in words per minute
handicap_chars
Additional time for short messages
hint_buffer_length
Buffer length that determines how many characters to check before and after the end of a line to correctly wrap to the next line without cutting off short words. This value allows dynamic line breaking, much like in Word
word_break_hint
Overhead messages only work with type: "HEAD_TEXT". If life_time: 0, the message duration is calculated using the formula above, and the number of overhead messages at the same time is set via max_count
A hint symbol placed when a word is broken into two lines
destination
Where the message will be sent
| Type | Explanation | Requires additional configuration? |
|---|---|---|
ACTION_BAR | Message above the player's inventory | Yes |
CHAT | Message to chat | No |
HEAD_TEXT | Message above the player's head | Yes |
TITLE | Fullscreen message | Yes |
SUBTITLE | Fullscreen message (top line) | Yes |
TOAST | Notification in the bottom right corner | Yes |
Permissions
Pathpermission.yml → message.bubble
bubble:
name: "flectonepulse.module.message.bubble"
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 |