Theme
Configuration ​
AnnouncementGUI reads its settings from:
text
plugins/AnnouncementGUI/config.ymlThe plugin parses that file into a PluginSettings object during startup and reload.
Full Example ​
yml
server:
id: "lobby-1"
groups:
- "lobby"
- "network"
storage:
file: "announcements.yml"
sync:
enabled: true
type: "REDIS"
redis:
uri: "redis://127.0.0.1:6379/0"
channel: "announcementgui:sync"
scheduler:
check-interval-ticks: 20
formats:
panel:
top-border: "&6&m------------------------------------------------"
body-divider: "&6&m------------------------------------------------"
bottom-border: "&6&m------------------------------------------------"
body-separator-mode: "DIVIDER"
gui:
titles:
main: "&0Announcement Manager"
create: "&0Create Announcement"
edit: "&0Edit Announcement"
edit-list: "&0Edit Announcements"
delete-list: "&0Delete Announcements"
delete-confirm: "&0Confirm Deletion"server.id ​
server.id is the unique identifier for one Paper instance.
Use values such as:
lobby-1survival-1survival-2minigame-1
This value matters for:
LOCALownership matchingSERVERandSERVERStargets- sync event origin tracking
%server%placeholder rendering
server.groups ​
server.groups is a logical list of categories that the current server belongs to.
Example:
yml
groups:
- "lobby"
- "network"GROUP announcements match against this set.
storage.file ​
This is the YAML filename used inside the plugin data folder.
Default:
yml
storage:
file: "announcements.yml"Important runtime note from the source code:
- changing
storage.filewith/announcement reloadis not supported - the plugin keeps the original storage file until a full restart
If you really need a different storage filename, stop the server, change the config, and start again.
sync ​
sync.enabled turns cross-server sync on or off. sync.type currently supports REDIS or NONE.
Example:
yml
sync:
enabled: true
type: "REDIS"
redis:
uri: "redis://:password@redis.example.com:6379/0"
channel: "announcementgui:sync"If sync is disabled, Redis settings are ignored and the plugin stays local.
scheduler.check-interval-ticks ​
This controls how often the scheduler checks whether an announcement is due.
The source enforces a minimum of 20 ticks, which equals one second on a normal Paper server.
Example:
yml
scheduler:
check-interval-ticks: 20Use the default unless you have a very specific reason to check less often or more often.
formats.panel ​
These values define the visual shell around each broadcast:
top-borderbody-dividerbottom-borderbody-separator-mode
You can keep it as a border panel, insert a blank line instead of a divider, or remove the separator entirely.
gui.titles ​
The plugin allows you to rename inventory titles for:
- main menu
- create screen
- edit screen
- edit list
- delete list
- delete confirm
This is mostly useful if you want a different language or naming style for staff menus.
Reloading Changes ​
After editing the config, use:
text
/announcement reloadThat will:
- refresh config values
- reload stored announcements
- reconnect or disable sync depending on the new settings
- restart the scheduler
For sync and format changes, reload is usually enough. For storage.file, restart the server instead.
