FrontierAnnouncements
Rotating announcements, the Frontier Gazette, Market Day and the /help menu.
What it does
Every interval seconds the plugin broadcasts the next message from a configured list to everyone online (padded with a blank line above and below so it stands out from chat), then advances to the next one, looping back to the top when the list ends.
Two deliberate choices: the timer skips its slot without advancing when nobody is online, so an empty server never burns through the rotation; and any player can opt out for themselves with /muteannouncements, a choice that is saved to disk and survives relogs and restarts.
It also runs the Frontier Gazette — posts from other Frontier plugins (Reputation, Border, EndLock, Events) sent to a Discord webhook and kept as an in-game feed that FrontierStatsAPI serves on /api/gazette — plus a weekly Market Day window, and a clickable `/help` menu (alias /commands) listing every command the player can use.
Requires & integrates with
- Required
- Paper 26.3+, Java 25+
- Optional
- None.
- Used by
- FrontierReputation, FrontierBorder, FrontierEndLock and FrontierEvents (post to the Gazette) · FrontierStatsAPI (serves the feed on
/api/gazette)
Commands
| Command | Who | What it does |
|---|---|---|
| /help [section|command|word] [page] (also /commands) | Everyone | Clickable list of every command you can use; filter by section, command or keyword |
| /marketday [status] | Everyone | When the next (or current) Market Day is |
| /marketday force <open|close> | Admin | Force Market Day open or closed |
| /gazette status | test <trigger> | Admin | Gazette status, or send a test post for one trigger |
| /announcements reload | Admin | Re-read config.yml, restart the timer and rewind to message #1 (any other or omitted argument prints usage) |
| /muteannouncements | Everyone | Toggle whether you receive announcements (player-only). Aliases: /muteann, /mutebroadcasts |
Permissions
Player features default to true, staff features to op. Every node follows frontier.<plugin>.<action>, so a LuckPerms setup is e.g. lp group default permission set frontier.shop.use true. Wildcards work: frontier.reputation.*.
| Node | Default | Grants |
|---|---|---|
| frontier.announcements.help | true | /help, /commands |
| frontier.announcements.marketday | true | /marketday |
| frontier.announcements.marketday.admin | op | /marketday force |
| frontier.announcements.gazette.admin | op | /gazette |
| frontier.announcements.admin | op | /announcements reload |
| frontier.announcements.mute | true | /muteannouncements |
Config reference
File
plugins/FrontierAnnouncements/config.yml
To apply changes
/announcements reload
| Key | Default | What it controls |
|---|---|---|
| enabled | true | Master switch. false = the timer is never started |
| interval | 420 | Seconds between announcements (420 = 7 minutes). The first message goes out one full interval after boot or reload, not immediately |
| prefix | "&8[&6Server&8] &f" | Prepended to every broadcast; & colour codes are translated |
| messages | 20-entry example list | Sent in order, one per interval, looping. & colour codes are translated; the prefix is added automatically. Empty list = nothing is sent (mc.pvpers.us runs 28) |
| Key | Default | What it controls |
|---|---|---|
| gazette.* | mc.pvpers.us: on, with a role ping | The Frontier Gazette: Discord webhook, in-game feed, which triggers post, and gazette.timezone |
| Key | Default | What it controls |
|---|---|---|
| market-day.* | mc.pvpers.us: off (the market is a permanent stall area at spawn) | The weekly Market Day window and market-day.timezone (America/Phoenix on mc.pvpers.us) |
| Key | Default | What it controls |
|---|---|---|
| help.* | — | The /help menu |
Good to know
- +Replace the shipped
messages:list before going live — the defaults advertise the rest of the Frontier suite and a placeholderexample.com/…website; they show the intended tone, not text you want broadcast verbatim. - +Per-player mutes live in
plugins/FrontierAnnouncements/muted.yml(amuted:list of UUIDs). Deleting the file un-mutes everyone. - +Messages use legacy
&colour codes, not MiniMessage —<gold>style tags are sent literally.prefix:applies to broadcasts only; command replies use a fixed[Announcement]prefix. - +If nothing is broadcasting: check
enabled: true, a non-emptymessages:list, at least one player online, and remember the first message fires only after a full interval.
Looking for something specific? Search the whole suite.