Skip to content

Overview ​

AnnouncementGUI is a Paper plugin for creating, editing, scheduling, and broadcasting announcement panels through an in-game inventory GUI. Instead of managing flat chat messages in config files, staff can operate the plugin directly inside Minecraft and keep the output structured.

What the Plugin Does ​

AnnouncementGUI combines five responsibilities:

  • create announcements from an inventory-based menu
  • edit or delete announcements without restarting the server
  • schedule automatic broadcasts using a per-announcement interval
  • render the message as a styled panel, not just plain chat lines
  • optionally sync changes across multiple Paper servers through Redis

Who It Is For ​

The plugin fits best when you want any of the following:

  • a staff-friendly announcement workflow
  • a cleaner panel presentation than standard prefix-and-message chat
  • different announcements per server, per server group, or for an entire network
  • a way to update announcements from inside the game instead of manually editing files

Core Capabilities ​

Inventory GUI management ​

The plugin ships with a main menu for create, edit, and delete flows. Each editor action is exposed through clickable inventory items, and text input is collected through chat prompts.

Structured panel output ​

Each announcement can contain:

  • an internal name
  • a panel title
  • description lines
  • body lines
  • an interval in seconds
  • target type and target values
  • enabled or disabled status

Network-aware targeting ​

The source code supports these target modes:

  • LOCAL
  • SERVER
  • SERVERS
  • GROUP
  • GLOBAL

Those modes decide where the announcement is allowed to broadcast.

Redis-based sync ​

When sync.enabled is true and Redis is configured, the plugin can publish and receive these remote events:

  • upsert announcement
  • delete announcement
  • force broadcast request

This allows multiple servers to stay aligned without manually copying files after each change.

Platform Requirements ​

  • Paper 1.21.x
  • Java 21
  • Maven for local builds
  • Redis only if you want cross-server sync

Files You Should Expect ​

After the plugin is installed, the main files are:

text
plugins/AnnouncementGUI/config.yml
plugins/AnnouncementGUI/announcements.yml

config.yml stores server identity, sync, scheduler, panel format, and GUI titles. announcements.yml stores the actual announcement records.

If you are setting up the plugin for the first time, use this order:

  1. Installation
  2. GUI Workflow
  3. Configuration
  4. Targets & Sync
  5. Panel Formatting

If the plugin is already running and you only need an exact command or permission, jump to Commands & Permissions.

Built with Vue.js and VitePress