Broadcast++ is the broadcasting plugin you actually want to live in your plugins/ folder long-term. Chat, titles, action bars, boss bars, and multi-channel scenes — all driven by a single readable config that’s identical whether you’re on Paper, Spigot, or Velocity. Move between platforms without rewriting a line.
Multi-platform, one config
| Your server | Jar |
|---|---|
| Paper 1.20.1 – 26.x (Purpur, Pufferfish, any Paper fork) | paper build |
| Spigot 1.20.1 – 26.x | spigot build |
| Velocity 3.3+ (proxy) | velocity build |
The config.yml schema is identical across all three. Spin up a Velocity proxy with the same broadcasts you’ve been running on Paper for a year — no migration, no rewriting.
The mental model
Everything automated is a scene. A scene has a trigger (when), one or more steps (what to send), and optional filters (who sees it). That’s it.
welcome-sequence:
description: "Multi-channel welcome"
on-join: true
steps:
- { at: 0s, chat: welcome }
- { at: 1s, actionbar: tip-spawn }
- { at: 3s, title: welcome-back }
Triggers cover the obvious cases:
on-join: true— once per player, on first connectevery: 5m— every 5 minutes server-widedaily-at: "09:00"— once a day at 09:00 UTC (so schedules survive a host migration)daily-at: "09:00 local"or"09:00 America/Los_Angeles"— when you actually want a wall-clock time- (none) — manual only, fires via
/bc scene <name>
What you can broadcast
- Chat with auto-prefixed gradient branding (or your own
chat.prefix:) - Titles with timing controls
- Action bars for unobtrusive nudges
- Animated boss bars — static text or with
progress: { from: 1.0, to: 0.0 }for a draining countdown - Rotation mode (
cycle: true+every:) — round-robin tip lines - Scene filters — gate by minimum/maximum players, world, permission. Tighter range wins when both scene and preset filter.
Placeholders that just work
<player> recipient's in-game name
<online> current online player count
<server> server-name from config.yml
<time> server-side local time (HH:mm)
<date> server-side date (yyyy-MM-dd)
Combine with full MiniMessage:
welcome:
lines:
- "<gradient:#00C8FF:#5C78FF><bold>Welcome, <player></bold></gradient>"
- "<gray>You're player number <online> on <server>.</gray>"
Studio GUI
/bc studio opens an in-game inventory UI for browsing presets and previewing scenes — Paper and Spigot only (Velocity has no inventory concept). Run a preview to your own session before broadcasting to the whole server.
Migration safety
Upgrading from v1.x? Broadcast++ detects the old shape on first boot, backs the file up as config.yml.v1.bak, and writes a fresh default. The old top-level rotation: and join: sections still parse (synthesized into in-memory scenes with a deprecation log) so existing configs keep working while you port them.
What’s next
Folia region scheduling is on deck. File requests on the marketplace listing.