Ultimate Broadcast
2.4.0High-performance announcements for Paper, Purpur & Folia: per-player subscriptions, Discord mirroring, scheduling, countdowns, 5 channels, MiniMessage and zero main-thread SQL. 1.21-26.3.
2.4.0latestUltimate Broadcast 2.4.0 - Subscriptions, Discord & True Folia2 days ago Ultimate Broadcast 2.4.0 — the rescue release
This update fixes the two reasons 2.1.0–2.3.0 lost most of their downloads: a broken default config that could stop the plugin from starting, and missing Minecraft version tags that hid the newest builds from 1.21.5+ servers. It also adds the features players and server owners actually asked for.
---Critical fixes
The plugin could fail to start on a fresh install
config.ymlshipped in 2.1.0–2.3.0 hadgui.titleindented with three spaces while its siblings used two. Bukkit refuses to parse that file, so the plugin could disable itself on first start — which is why 2.1.0 only ever reached a handful of downloads while 2.0.2 kept being downloaded. 2.4.0: * ships a valid configuration, * detects the exact broken layout on existing installs, * writes a timestamped backup (config.backup-<date>.yml), * repairs the indentation in place, * and starts normally. Your comments and custom values are preserved — the file is fixed, not replaced.The newest builds were invisible on modern Minecraft
2.3.0 was published withgame_versionsending at 1.21.4, even though 2.0.2 supported up to 1.21.11. Servers on 1.21.5–26.3 could not install the newer version at all. 2.4.0 is listed for every version from 1.21 through 26.3, verified on Paper 1.21.4, Paper 26.3 and Folia 26.3. ---
| Bug | Impact | Fix | | --- | --- | --- | |Other bugs fixed
Sound.valueOf(...)used at runtime | On 1.21.4+Soundbecame an interface, so the call throwsNoSuchMethodErrorand sounds break | Registry-based resolver with enum fallback and a per-name cache | | MySQL schema usedAUTOINCREMENTand SQLite-onlyON CONFLICT| "MySQL support" could never create its tables | Dialect-aware DDL, portable upserts, epoch-millis timestamps | | SQLite driver class pointed at a relocated package | Database could silently stay uninitialised | Storage rewritten without shading/relocation, verified on startup | | GUI listener cancelled every inventory click on the server | Players could not use any other plugin's GUI | Clicks are only handled when our ownInventoryHolderis open | | GUI item names wereComponent.toString()dumps | Menus displayedTextComponentImpl{...}garbage | Real Adventure components for titles, names and lore | | Scheduled entries were loaded from config and database | Every reload duplicated announcements | Config is the single source of truth | |random-messages.interval-minutesand per-messageweightignored | Random pool fired on the scheduler interval and picked uniformly | Dedicated weighted rotation on its own interval | | PlaceholderAPI only applied when a sender existed |%player%/PAPI placeholders were never resolved in scheduled messages | Rendered per recipient, for every source | | Countdown/actionbar required a player sender | Console could not start a countdown | Works from console | | Titles used legacy strings | Hex gradients turned into§xgibberish | AdventureTitlewith full RGB | | Network relay re-broadcast its own messages | Duplicate announcements across servers | Message IDs with a dedupe window | | SQL ran on the server thread | TPS spikes when history/preferences were written | Single background writer thread | ---New features
*Player subscription centre
/broadcast toggle— master opt-out. */broadcast toggle events— per-category opt-out. */broadcast settings— GUI with a toggle per category. * Configurable categories with display names, descriptions, default state and permission. * Preferences stored in SQLite/MySQL and loaded asynchronously on join. Filtering happens before* rendering, so opted-out players cost nothing.
* Webhook-based, runs on its own daemon thread. * Rate-limit aware, retries transient failures, respectsDiscord mirroring (no bot required)
429. * Choose which events mirror:manual,scheduled,random,countdown. * Configurable username, avatar, colour, footer and optional@everyonefor manual broadcasts. */broadcast discord testverifies the setup.Five delivery channels
/broadcast send <chat|actionbar|title|subtitle|bossbar> <message>— plus the legacy/broadcast title,/broadcast actionbarshortcuts.
* Runtime Folia detection. * Global region scheduler for timers, async scheduler for storage, per-entity scheduler for player messages. * Verified on Folia 26.3: timers fire on the region scheduler and messages are dispatched per player.True Folia support
* Duplicate window (proxy echo protection). * Hard per-second cap. * TPS-aware effects (chat still sends, sounds/particles pause). * Minimum-player rule. * Per-player cooldowns for scheduled entries.Delivery guard
*Operations
/broadcast stats— totals, players reached, duplicate drops, storage backend, Discord health, live TPS. */broadcast history— last 20 announcements from the database. */broadcast list— next run time for every scheduled entry. *settings.debug: truelogs exactly why an announcement was skipped. * Safe/broadcast reloadthat restarts schedulers without duplicating tasks.
New placeholders, all served from memory:PlaceholderAPI
%ultimatebroadcast_total%,%ultimatebroadcast_scheduled%,%ultimatebroadcast_delivered%,%ultimatebroadcast_duplicates%,%ultimatebroadcast_enabled%,%ultimatebroadcast_cooldown%,%ultimatebroadcast_subscribed_<category>%. ---
No SQL on the server thread.* History, stats and preferences are queued to a single daemon writer; SQLite runs in WAL mode with a single writer, eliminatingPerformance & reliability
database is lockedunder load. Messages without placeholders are parsed once per broadcast*, not once per player. One 1-second ticker* replaces one Bukkit task per scheduled entry; intervals no longer drift and/reloadcannot pile up duplicate tasks. Sound and particle lookups are cached* after the first resolve. Effects back off automatically* below your TPS threshold. History is pruned automatically* tosettings.history-limit. ---
| | | | --- | --- | | Minecraft | 1.21, 1.21.1–1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3 | | Platforms | Paper, Purpur, Folia | | Java | 21+ (26.x servers require Java 25, as always) | | Optional | PlaceholderAPI | Verified during this release: Paper 1.21.4 (Java 21), Paper 26.3 (Java 25), Folia 26.3 (Java 25) — plugin enabled, all five channels delivered, scheduler fired, database writes confirmed. Spigot/Bukkit are no longer listed. The plugin uses Adventure components for hex colours and titles, which Spigot does not provide; the 2.x Spigot listing could not actually enable. Listing only Paper/Purpur/Folia keeps the download button honest. ---Compatibility
1. Drop the new jar inUpgrading from 2.x
plugins/and restart. 2. Your config is migrated automatically: * invalid YAML is repaired (with a backup), *settings.database/countdown.databasemove to the new top-leveldatabasesection in memory, *settings.bungeecord-supportandsettings.cross-server-channelmap to the newnetworksection. 3. The oldminecraft.dbSQLite file is renamed tobroadcast.db— data is preserved. 4. Permission change:ultimatebroadcast.usenow defaults to op (2.x defaulted to true, letting any player broadcast). Grant it explicitly to staff or VIP ranks if needed. 5./broadcast enable|disableis now a runtime switch and no longer rewritesconfig.yml. No config keys were removed. Oldgui.items,scheduler.broadcasts,template,countdownanddefault-*sections keep working. ---
* Build: Java 21 target, Paper API 1.21, shaded SQLite + MySQL drivers, no external plugin dependencies. * Storage tables:Technical details
broadcast_history,broadcast_stats,broadcast_preferences. * All three tables are created automatically on both SQLite an2.3.0Broadcast 2.3.0 - Clickable Links & Alert System3 weeks ago
This major feature update transforms Ultimate Broadcast into a fully interactive communication suite for modern Minecraft networks.Ultimate Broadcast v2.3.0 — Clickable URLs, Hover Tooltips & Alert System!
- 🔗 Interactive Clickable Links & Hover Events: - Embed clickable URLs usingNew Features & Enhancements
[url=https://...]Text[/url]. - Embed clickable command executors using[run=/cmd]Text[/run]or suggestions using[suggest=/cmd]Text[/suggest]. - Add interactive tooltips on mouse hover using[hover=Tooltip Text]Text[/hover]. - Full native Adventure MiniMessage tag parsing. - 🔕 Player Broadcast Mute (`/ub mute`): - Players can now toggle automatic chat broadcast notifications on/off for themselves. - Persistent preference storage inmutes.yml. - 🚨 Emergency Server Alert (`/ub alert <message>`): - Staff emergency broadcast with audible alert chime and prominent warning border, bypassing player mutes. - 🗺️ Multi-World Filtering: - Targeted broadcasts now respect/ub send world <world> <message>. - 🛡️ Full Compatibility: - Tested and verified on Paper, Spigot, Purpur, and Folia 1.20 - 1.21.4 (verified on Paper 26.3).2.2.0Ultimate Broadcast v2.2.0 - Sound & History3 weeks ago
####Ultimate Broadcast v2.2.0 — Sound Alerts, Command Fixes & Broadcast History
What's New & Fixed in v2.2.0: - Audio Chime & Sound Broadcasts: - Configurable broadcast sound alert chime with toggle and custom sound key (
sound.enabled,sound.type: BLOCK_NOTE_BLOCK_BELL). - Added/ub send sound <sound> [volume] [pitch]to broadcast immersive audio events server-wide. - Broadcast History Tracking: - Added new in-memory broadcast history tracking (BroadcastHistoryManager). - Added/ub historyto inspect recent broadcasts with timestamps, sender, and broadcast type. - Fixed Missing Subcommands: - Fully implemented missing/ub send chat <msg>and/ub send actionbar <msg>subcommands in command dispatcher. - Modern HEX Color Parsing: - Enhanced&#RRGGBBand<#RRGGBB>regex color converter to guarantee seamless Adventure format rendering across modern Paper, Purpur, and Folia engines. - Minecraft 26.3 & Folia Verified: - Fully tested and verified on Paper 26.3 (Java 25 LTS).2.1.0Ultimate Broadcast v2.1.0 - Memory Leak Fix & Foli3 weeks ago
Performance & Modern Architecture Update - Memory Leak Fix: Implemented automatic BossBar and timer task cleanup upon player disconnect (PlayerQuitEvent), preventing memory bloat and stale bossbar references on long-running servers. - Enhanced Scheduling Stability: Refactored internal schedule & timer toggles with defensive null safety and explicit lifecycle cleanup on server shutdown/reload. - Minecraft 1.20 - 1.21.4 Compatibility: Fully verified across Bukkit, Spigot, Paper, Purpur, and Folia server environments. - Internal Optimization: Modernized GUI item meta builders and component parsing.Ultimate Broadcast v2.1.0 Release Notes
2.0.2Broadcast - Ultimate 2.0.2Dec 30, 2025 - letter A comming in starting is FIXED2.0.1Broadcast - Ultimate 2.0.1Dec 29, 2025 A small bug Fixed2.0.0Broadcast - Ultimate 2.0.0Dec 29, 2025
- Now you can start countdown timer with a message on players actionbar and bossbar - You can now remove any running countdown timer - Now you can send a broadcast to a world or a player separately - Now the plugin has it's gui with that you can enable or disable sheduled broadcasts or countdown timer and more things - Now you can Schedule broadcasts and countdown timer - Now you can preset Broadcasts and send them instantly - Now you can send Broadcasts on title and subtitle or You can use Preset to send both of them - Now there is a Welcome Broadcast when a player joins the server that welcome broadcast shows. You can enable or disable that in config - Many things are editable in the configChanges
1.0.1Broadcast-Ultimate-(1.0.1)Sep 29, 2025 - Now Supports colours in broadcast messages - Now you can start a count down timer1.0.0Broadcast-Ultimate-(1.0.0)Sep 28, 2025
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta