← The Frontier Suite

FrontierAnnouncements

v1.2.3Ops

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

CommandWhoWhat it does
/help [section|command|word] [page] (also /commands)EveryoneClickable list of every command you can use; filter by section, command or keyword
/marketday [status]EveryoneWhen the next (or current) Market Day is
/marketday force <open|close>AdminForce Market Day open or closed
/gazette status | test <trigger>AdminGazette status, or send a test post for one trigger
/announcements reloadAdminRe-read config.yml, restart the timer and rewind to message #1 (any other or omitted argument prints usage)
/muteannouncementsEveryoneToggle 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.*.

NodeDefaultGrants
frontier.announcements.helptrue/help, /commands
frontier.announcements.marketdaytrue/marketday
frontier.announcements.marketday.adminop/marketday force
frontier.announcements.gazette.adminop/gazette
frontier.announcements.adminop/announcements reload
frontier.announcements.mutetrue/muteannouncements

Config reference

File

plugins/FrontierAnnouncements/config.yml

To apply changes

/announcements reload

KeyDefaultWhat it controls
enabledtrueMaster switch. false = the timer is never started
interval420Seconds 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
messages20-entry example listSent 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)
KeyDefaultWhat it controls
gazette.*mc.pvpers.us: on, with a role pingThe Frontier Gazette: Discord webhook, in-game feed, which triggers post, and gazette.timezone
KeyDefaultWhat 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)
KeyDefaultWhat 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 placeholder example.com/… website; they show the intended tone, not text you want broadcast verbatim.
  • +Per-player mutes live in plugins/FrontierAnnouncements/muted.yml (a muted: 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-empty messages: 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.