Bubble 
Module responsible for overhead messages
Idea taken from LightChatBubbles
Duration Formula 
long duration = (countWords + handicapChars) / readSpeed * 60;🌍 Localization 
📂 Path localizations → language.yml → message.bubble
⚖️ Default 
bubble:
  format: "<fcolor:3><message>"bubble:
  format: "<fcolor:3><message>"format 
Format of the overhead message
⚙️ Setting 
📂 Path message.yml → bubble
⚖️ Default 
bubble:
  enable: true
  max_count: 3
  max_length: 30
  elevation: 1
  distance: 30.0
  read_speed: 90.0
  handicap_chars: 10.0
  word_break_hint: "‑"
  interaction:
    enable: true
    height: 0.4
  modern:
    enable: true
    has_shadow: false
    animation_time: 5
    scale: 1.0
    background: "#00000040"
    billboard: "CENTER"enable 
Enables or disables the functionality of the module
max_count 
Maximum number of overhead messages displayed simultaneously
max_length 
Maximum length of a single overhead message. If the text is longer, it will be split into multiple parts
elevation 
How high overhead will the message be
distance 
How far away a player's overhead message can be seen
read_speed 
Reading speed in words per minute
handicap_chars 
Additional time for short messages
word_break_hint 
A hint symbol placed when a word breaks across two lines
interaction 
Allows adjusting the spacing between messages or legacy area effect cloud is used
WARNING
This will only be used for servers running version 1.21.3 or higher.
modern 
Overhead messages via Text Display
WARNING
This will only be used for servers running version 1.19.4 or higher
CONFIGURATION
enable 
Enables functionality
has_shadow 
Enables text shadow
scale 
Scales the size of the message
background 
Background color of the message, including transparency (alpha channel) Color picker website
billboard 
| Type | Explanation | 
|---|---|
FIXED | Position remains unchanged | 
VERTICAL | Position adjusts relative to the vertical axis | 
HORIZONTAL | Position adjusts relative to the horizontal axis | 
CENTER | Position adjusts relative to both horizontal and vertical axes | 
🔐 Permissions 
📂 Path permission.yml → message.bubble
⚖️ Default 
bubble:
  name: "flectonepulse.module.message.bubble"
  type: "TRUE"name 
Permission name
type 
Permission type
| Type | Explanation | 
|---|---|
TRUE | Available to any player | 
FALSE | Not available to anyone, must be granted separately (e.g., using LuckPerms) | 
OP | Available to server operators | 
NOT_OP | Available to not server operators | 
