
A lightweight Leaf/Paper plugin that duplicates a player's chat message above their head using a TextDisplay entity — with smooth appear/idle/disappear animations
OverHeadMessage is a lightweight Leaf/Paper plugin that mirrors a player's chat message right above their head using a modern TextDisplay entity — complete with smooth animations, hex/group colors, and a built-in AFK system.
When a player types in chat, their message smoothly appears over their head, rides along with them as they walk, gently bobs while it lingers, then flies up and fades away. No ArmorStands, no NMS hacks, no lag.
TextDisplay, attached as a passenger so it follows the player perfectly.& legacy codes and inline #RRGGBB hex. Starting a message with ! switches it to a separate color (and the ! itself is hidden).30s → 1m → 1h 2m) appears over the head. Any movement, interaction, or chat clears it instantly.Set a default color and a separate with_exclamation color (used when a message begins with !). If LuckPerms is present, group_priority decides which rank wins, and group_overrides lets each group define its own colors. Players outside those groups simply use the defaults.
When PlaceholderAPI is installed, OverHeadMessage registers these placeholders:
%ohm_afk% — the colorized AFK tag while the player is AFK, empty otherwise%ohm_afk_time% — adaptive AFK time such as 1h 2m%ohm_afk_state% — true or falseThe plugin never edits the tab list on its own — just place %ohm_afk% wherever you like.
/ohm reload — reload the configuration/ohm status — show the current settingsoverheadmessage.admin (default: op)Built for Leaf/Paper 1.21.x on Java 21, using the stable Bukkit/Paper API. LuckPerms and PlaceholderAPI are optional soft-dependencies — the plugin runs fine without them and prints a clear console notice (with download links) if they are missing.
plugins/ folder.config.yml, and run /ohm reload.Made by ZiTr_.