@@ -6,9 +6,9 @@ Messages can be sent server-wide or controlled by permissions after a delay and
66
77## Features
88
9- - Timed server-wide announcements/news messages
9+ - Timed server-wide announcements/news messages sent as either a chat message, boss bar, or title/subtitle
1010- Easily configurable
11- - Configure one-time or repeating messages
11+ - Configure one-time (per reload) or repeating/rotating messages
1212- Extensive Permissions support - configure messages to only send to users including or excluding certain permission nodes
1313- Optional debug mode to track down who is/isn't receiving messages and why
1414- Automatic config reloading to get new messages
@@ -17,66 +17,91 @@ Messages can be sent server-wide or controlled by permissions after a delay and
1717
1818## Configuration
1919
20- Format:
21- ``` yaml
22- config-version(int) : **DO NOT EDIT**, used to migrate configurations as the format changes
23- auto-reloadconfig(int) : <Time in minutes to check/reload config for message updates(0 for off)>
24- NOTE : When config is reloaded, will reset delays for messages and cause one-time messages to resend
25- debug-mode(boolean) : <Should we pring debug to server.log(true/false)?>
26- NOTE : Look for fine and finer level log messages in server.log
27- announcements : Add announcements below to this section
28- <message label>(String, must be unique) :
29- message(String, required) OR messages(String list, see sample config) : <Message to send>
30- random-order(boolean, optional) : <if list of messages should be sent in random order>
31- sender(String, optional) : <Message Sender(chat or boss, default: chat)>
32- bar(section, optional) :
33- hold(int, optional) : <Time in sections for bar to be displayed on announce>
34- color(String, optional) : <bar color(https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarColor.html)>
35- style(String, optional) : <bar style(https://hub.spigotmc.org/javadocs/spigot/org/bukkit/boss/BarStyle.html)>
36- animate(section, optional) :
37- enable(boolean, optional) : <if bar should animate hold time>
38- reverse(boolean, optional) : <if animation should be reversed>
39- delay(int, optional - default 0) : <Delay to send message on in seconds>
40- repeat(int, optional) : <time between repeat sendings of the message in seconds>
41- includesperms(String list, optional) :
42- - <only send to those with this perm>
43- - <and this one>
44- excludesperms(String list, optional) :
45- - <don't send to those with this perm>
46- - <and this one>
47- ` ` `
48- **Note**: For permissions, includes are applied first, then excludes are taken out
20+ - ` autoReload ` (duration* , optional): Time between automatically reloading plugin configuration, unset or ` 0m ` for off
21+ - ` announcements ` (Announcement list): list of announcement configurations, see below for detail
22+ - General announcement configuration:
23+ - ` type ` (Announcement type): Type of announcement: ` Chat ` , ` Title ` , or ` Boss `
24+ - ` messages ` OR ` message ` (Message list): Message(s) to send, depends on type (see sample and description below)
25+ - ` random ` (boolean, optional): if list of messages should be sent in random order
26+ - ` delay ` (duration* , optional - default 0): Delay after loading to send message
27+ - ` repeat ` (duration* , optional): time between sending/repeating each message
28+ - ` includesPermissions ` ** (String list, optional): Only send announcement to players with these permissions
29+ - ` excludesPermissions ` ** (String list, optional): Exclude players with these permissions from receiving the announcement
30+ - ` <additional options depending on announcement type> `
31+ - ` Chat ` type announcement:
32+ - ` messages ` (String list): Message(s) to send
33+ - ` Boss ` type announcement:
34+ - ` hold ` (duration* ): Time for boss bar to be on screen
35+ - ` color ` (BarColor): Color of bar, one of PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
36+ - ` style ` (BarStyle): Style of bar, one of SOLID, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20
37+ - ` animate ` (boolean): if bar should animate over hold time
38+ - ` reverseAnimation ` (boolean): if animation should be reversed
39+ - ` messages ` (BossBarMessage list):
40+ - ` message ` (string): message string
41+ - ...boss bar config overrides per message eg hold, color, style, animate, etc...
42+ - ` Title ` type announcement:
43+ - ` fadeIn ` (duration* ): Time it takes for title to fade in
44+ - ` stay ` (duration* ): Time for title to stay on screen
45+ - ` fadeOut ` (duration* ): Time it takes for title to fade out
46+ - ` messages ` (TitleMessage list):
47+ - ` title ` (string): title string
48+ - ` subtitle ` (string): subtitle string, appears below title slightly smaller
49+ - ...title config overrides eg fadeIn, stay, fadeOut...
50+ - ` config-version ` : ** Internal use for configuration migrations, do not edit**
51+
52+ <sub >
53+ * Durations are in the form '10s', '5m', '1h', or ISO-8601 duration. See [ parse] ( https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/-duration/-companion/parse.html ) .
54+
55+ ** For permissions, includes are applied first, then excludes are taken out
56+ </sub >
57+
4958
5059### Example
5160
5261``` yaml
53- config-version : 1
54- auto-reloadconfig : 20
55- debug-mode : false
62+ autoReload : 10m
5663announcements :
57- repeating-example :
58- messages :
59- - This is an automatically generated repeating message!
60- delay : 15
61- repeat : 60
62- permissions-example :
63- messages :
64- - This is another automatically generated repeating message for people with build permission!
65- delay : 30
66- repeat : 60
67- includesperms :
68- - permissions.build
69- one-time-example :
70- messages :
71- - This is an automatically generated one-time message!
72- delay : 45
73- message-group-example :
74- messages :
75- - This is an automatically generated sequential message group (1 of 3)!
76- - This is an automatically generated sequential message group (2 of 3)!
77- - This is an automatically generated sequential message group (3 of 3)!
78- delay : 30
79- repeat : 30
80- sender : bossbar
81- random-order : false
64+ - type : Chat
65+ delay : 30s
66+ repeat : 2m
67+ includesPermissions :
68+ - permissions.build
69+ - another.permission
70+ excludesPermissions :
71+ - permissions.admin
72+ messages :
73+ - hello
74+ - world
75+ - type : Chat
76+ repeat : 1m 40s
77+ messages :
78+ - abc
79+ - xyz
80+ - type : Title
81+ repeat : 30s
82+ messages :
83+ - title : Title!
84+ subtitle : Subtitle!
85+ - title : Title only custom durations
86+ fadeIn : 100ms
87+ stay : 10s
88+ fadeOut : 1s
89+ fadeIn : 500ms
90+ stay : 5s
91+ fadeOut : 500ms
92+ - type : Boss
93+ random : true
94+ repeat : 15s
95+ messages :
96+ - message : eyy
97+ - message : custom bar config
98+ hold : 10s
99+ color : GREEN
100+ style : SEGMENTED_20
101+ reverseAnimation : true
102+ hold : 5s
103+ color : PURPLE
104+ style : SOLID
105+ animate : true
106+ config-version : 1
82107` ` `
0 commit comments