XAnnounce
Announcements, TabList, Scoreboards, Titles & Actionbars, Conditions & Custom Join / Quit
Built on XCore — The modular Minecraft server framework
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
XAnnounce broadcasts automated messages through BossBars, Titles, ActionBars, Chat and Scheduled time-based messages, drives a tab-list and scoreboards (packet-based, anti-flicker, Folia-safe), and fully customizes your join, first-join and quit messages with conditional variants. Add reusable display conditions, text animations, full PlaceholderAPI support, per-player toggles and a web config editor — everything customizable from A to Z.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Multiple BossBars — Create as many independent bossbars as you want
- Cycling titles — Each bossbar cycles through multiple titles at a configurable frequency
- Colors & styles — Per-title colors (BLUE, GREEN, PINK, PURPLE, RED, WHITE, YELLOW) and styles (SOLID, SEGMENTED_6/10/12/20)
- Progressive animations — Bar fills up or drains over the display time, reverse mode supported
- Time ranges — Only display during specific time windows (e.g. night-only bossbars)
- Title + Subtitle — Full-screen titles with configurable fade-in, display time and fade-out
- ActionBar — Quick info messages above the hotbar, with per-entry display time
- Cycling — Rotate through multiple entries at a configurable frequency
- Chat announcements — Automated multi-line messages with MiniMessage
<click>/<hover>events - Scheduled — Fire messages once per day at a specific real-world time (e.g. 19:30, 08:00)
- Multiple types — Scheduled messages display as chat, title or actionbar
- Live tab-list — One header/footer refreshed continuously, with any PlaceholderAPI placeholder
- Live scoreboards — Define several sidebars; each player sees the first one whose condition matches (config order = priority)
- Packet-based (Folia-safe) — Works on Folia
- Anti-flicker — Optimized scoreboard anti flickering
- Conditional lines — A line that resolves to empty is hidden, so a line can appear/disappear on its own
- Up to 15 lines — Configurable global refresh rate
- Named & reusable — Define a condition once, reference it everywhere with
condition: <name> - AND / OR — Combine multiple sub-conditions
- Operators —
=!=>=<=><contains!contains(numeric or text) - Use anywhere — Gate any message, scoreboard, tab-list, single line, or join/quit variant
- As a value —
%xannounce_condition_<name>%prints the condition's yes/no output
- Animated text — A list of frames cycled at a custom interval
- Use everywhere — Drop
%animation:<name>%into any text (tab-list, scoreboard, bossbar, title, chat, join/quit…) - Placeholder-aware — Frames may contain placeholders; every player sees the same frame at the same moment
- Custom broadcasts — Replace or hide the vanilla join, first-join and quit messages
- Conditional variants — Multiple join/quit messages per group; the first variant whose condition passes is used (e.g. a different welcome for VIPs)
- First-join welcome — A dedicated message the very first time a player connects
- Rich join effects — Add a sound, a title/subtitle, an action bar, a temporary boss bar and a private chat message
- Placeholders —
%player%works out of the box; PlaceholderAPI, built-ins and animations supported
- Conditions — Show a message only when a named condition or inline expression (e.g.
%player_level% >= 10) passes - Permission-based — VIP-only / staff-only announcements
- Per-world — Restrict to specific worlds with
worlds - Per-message disabled worlds — Each message can override the global
disabled-worldslist for full control - Time ranges — BossBars can be limited to a window (cross-midnight supported, e.g.
20:00-06:00)
- Sequential or random — Ordered cycling or random selection per group
- Weighted random — Assign weights so some messages appear more often than others
- Web config editor — Edit, validate and save the whole config from XCore's web dashboard; invalid YAML is rejected before anything changes, then the addon reloads automatically
- Per-player toggles — Each player enables/disables each type with
/xannounce toggle - Optimized refresh — Static lines resolved once and shared; only changed lines re-sent — light on the server even with many players
- Folia compatible — Full support for Folia's regionized multithreading
- Cross-server sync — Player preferences shared across your network via XCore
- MiniMessage — Gradients, hover and click events everywhere
- PlaceholderAPI — Full placeholder support in all message types + own expansion placeholders
Code:
%xannounce_bossbar_enabled% — true/false if player has bossbars enabled
%xannounce_title_enabled% — true/false if player has titles enabled
%xannounce_actionbar_enabled% — true/false if player has actionbars enabled
%xannounce_chat_enabled% — true/false if player has chats enabled
%xannounce_condition_<name>% — a named condition's yes/no output for the player
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Player Commands
Code:
/xannounce toggle bossbars — Toggle bossbar messages on/off
/xannounce toggle titles — Toggle title messages on/off
/xannounce toggle actionbars — Toggle actionbar messages on/off
/xannounce toggle chats — Toggle chat messages on/off
/xannounce toggle tablists — Toggle the tab-list on/off
/xannounce toggle sidebars — Toggle the scoreboard on/off
Admin Commands
Code:
/xannounce reload — Reload the full configuration and restart schedulers
/xannounce test <name> — Preview a configured message on yourself
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Code:
xannounce.admin — Access to /xannounce reload and test
xannounce.update — Receive update notifications on join
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☐ Paper 1.21.1+ (Folia compatible)
☐ Java 21+
☐ XCore (framework)
☐ PlaceholderAPI (optional)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Place
XCore.jar in plugins/2. Place
XAnnounce.jar in plugins/XCore/addons/3. Start the server
4. Configure
plugins/XCore/addons/XAnnounce/config.yml (or edit it from the web dashboard)5. Customize messages in
plugins/XCore/addons/XAnnounce/lang.yml━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made with
