-
Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathchat.yml
238 lines (212 loc) · 11.3 KB
/
chat.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
#|-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|#
#|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|#
#| Chat |#
#|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|#
#|-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|#
# Kingdoms built-in chat system. Support hover messages as well.
# Permissions: kingdoms.chat.colors
# The channels section is only used for placeholders.
# Custom channels can be defined here.
# The permission for each channel is the equivalent of the command permission.
# To prevent users from using the channels in certain worlds, you can use LuckPerms contextual permissions.
# The mute permission for these channels are "kingdoms.channel.<id>.mute"
# Note that the entry name of each channel is important and should not be changed
# because it's the channel data name that is saved for players.
channels:
# WARNING: DO NOT change the IDs of default channels.
global: # this is the channel's ID
# You can also use LuckPerms contextual permissions to disable these in certain worlds.
# Conditions the player must have in order to use this channel.
color: '&f'
# This is used for console and DiscordSRV.
# The colors are obviously ignored for DiscordSRV.
# This option is also used for that chat event's formatting (only used when cancel option is set to false)
admin-formats:
kingdoms_has_kingdom: &standard-admin-format '{$channel}&7|{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ {$groupColor}%message%'
else: '{$channel} %displayname% &7≫ {$groupColor}%message%'
# This is the formats used for the chat. The entries are the conditions.
# To make conditions less confusing you can also use "placeholder formats" check them on the Wiki.
formats:
kingdoms_has_kingdom: "{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ {$groupColor}%message%"
else: "hover:{%displayname%;&2Message %player%;|/msg %player% } &7≫ {$groupColor}%message%"
kingdom:
# If the condition is not met, the message path specified will be shown to the player.
# If this option is not specified, all players will be able to use them.
use-conditions:
kingdoms_has_kingdom: 'no-kingdom.default'
# Conditions that the player must have in order to receive the messages
# If this option is not specified, all players will be able to see the messages.
recipients-condition: "kingdoms_is_spy || kingdoms_relation == 'SELF'"
color: '&2'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &d%message%"
nation:
use-conditions:
kingdoms_has_nation: 'no-nation.default'
recipients-condition: "kingdoms_is_spy || kingdoms_relation_same_nation"
color: '&9'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &9%message%"
truce:
use-conditions:
kingdoms_has_kingdom: 'no-kingdom.default'
recipients-condition: "kingdoms_is_spy || kingdoms_relation == 'TRUCE' || kingdoms_relation == 'SELF'"
color: '&e'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &e%message%"
ally:
use-conditions:
kingdoms_has_kingdom: 'no-kingdom.default'
recipients-condition: "kingdoms_is_spy || kingdoms_relation == 'ALLY' || kingdoms_relation == 'SELF'"
color: '&a'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &a%message%"
staff:
recipients-condition: "perm_kingdoms_channel_staff_see"
color: '&c'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &c%message%"
help:
color: '&c'
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &c%message%"
ranged:
recipients-condition: "kingdoms_is_spy || (0 <= distance <= 50)"
color: "&e"
admin-formats: *standard-admin-format
formats: "{$spy}{$nationPrefix}{$kingdomPrefix}%displayname% &7≫ &e%message%"
# The prefix to bypass this range once added at the beginning of your message.
# Of course this prefix will be removed from the message itself.
# This requires kingdoms.channel.<name>.bypass.ranged which is given by default.
# Set this to an empty text to disable.
# Players in other worlds will have the "distance" placeholder return -1
# Technically this will cause "distance" placeholder to return 0
ranged-bypass-prefix: '!'
# The prefix used to send messages to individual kingdoms.
# E.g. /k c @Apothicas hello how are you doing?
# sends a message to all members of "Apothicas" kingdom.
# Set to ~ (without quotes) to disable.
direct-prefix: '@'
# The chat priority that kingdom handles. Note that changing this will not disable the chat in any way.
# This is used when you're using another plugin that manages chat spams and other restrictions. You might want to increase the priorty in these cases.
# This option requires a restart to work.
# In Bukkit logic, lower priorities mean executed before the higher priorities.
# So for example, if a plugin like Essentials or LiteBans uses NORMAL priority to format chat or mute players,
# you'd have to choose HIGH priority so Kingdoms can know that the chat has been cancelled by these plugins.
# Normally you shouldn't and wouldn't need to use the MONITOR priority, but if a plugin uses higher priorities for
# any reason (which they shouldn't) you can use it. Using MONITOR can cause many other issues.
# We will use the HIGHEST priority here just in case.
# LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR
priority: HIGHEST
# Should kingdoms plugin completely cancel the chat event?
# This is useful customize some plugins such as DiscordSRV, but
# it can also break other plugins like the ones that mute players.
# In these cases, you usually have to set the priority to MONITOR
# (even tho it's not recommended) and it might work.
# Does not work for global channel if parse-as-placeholder option is enabled.
# It's 1.19, again, the cursed number 9 that is, and Microsoft can't get away without making
# a stupid decision once again since 1.9, the feature everyone loves. The chat reporting system
# was added in 1.19. Although the reporting system shouldn't work at all in Spigot (or any forks of it),
# Kingdoms plugin chat system by default, acts like an anti-reporting plugin itself if this option is kept enabled.
# Another plugin that specializes in this field specifically is: https://www.spigotmc.org/resources/103782/
cancel: true
recipients:
# Enable this option if you want to allow certain features such as
# /ignore command from other plugins to work.
respect-others: false
# Only useful when cancel is false
clear-when-done: false
# Reset the player's chat channel back to global when they leave.
reset-channel-on-leave: false
# Tagging users like in Discord with a sound.
# Players need kingdoms.chat.tag permission.
# For tag formats refer to the language file "tags" section.
tagging:
enabled: true
# The prefix used for tagging someone.
# E.g. "Hello @Hex_26, how are you?"
prefix: '@'
global-channel:
# Should the plugin format global chat as well?
format: true
# The option above needs to be enabled for this to work.
# Parse the global chat formats as a placeholder replaced in the original format.
# This placeholder is {KINGDOMS} which you can use in your chat plugin.
# Complex messages won't work if you use another plugin.
# Note that format needs to be true.
# If you parse the formats as placeholders, you have to remove %message% from them,
# otherwise it'll throw errors in the console.
parse-as-placeholder: false
# Since there is no relation between a player and the console, these are the values
# used to replace the non-existing relational placeholders.
relational-placeholders:
# %kingdoms_relation_color%
color: '&f'
# %kingdoms_relation_name%
name: ''
# You can either use the channel ID or name (case-insensitive).
# There are two special values. "$console" which uses the console channel from DiscordSRV
# and "$main" that uses the main chat channel from DiscordSRV. Note that the dollar signs are
# only for these two keywords, when using the channel name or ID you DO NOT need to use them.
# You need to /k reload after changing this option.
# Used for kingdom, allies, truces and nations channels.
# Using any channel here requires you to enter that channel's information
# in DiscordSRV's config.yml "Channels" option. This is most likely already defined for your
# normal chat channel, but if you wish to see private messages as webhook messages in your console,
# or any other channel, you'd need to add the channel in the config as well.
# You can also set these two options to ~ to disable them.
# - DiscordSRV's "Channels" option:
# https://github.com/DiscordSRV/DiscordSRV/blob/767828469573c2f0fa3ed5a44feb0b2f15f2c02d/src/main/resources/config/en.yml#L11-L30
# - DiscordSRV's console channel option:
# https://github.com/DiscordSRV/DiscordSRV/blob/767828469573c2f0fa3ed5a44feb0b2f15f2c02d/src/main/resources/config/en.yml#L32-L33
discordsrv:
global-channel: '$main'
private-channel: '$console' # Kingdoms, allies and truces
# message: The plain text message. If you want to use embeds. You have to put an option with the same name under this.
# title:
# text: The title text.
# url: The title clickable URL.
# description: This is required. The main text.
# thumbnail: The big image
# image: The big image
# color: Supports RGB & hexadecimal notations.
# author:
# name: The name of the author of this embed.
# url: Clickable URL of the name.
# icon: The small circle image of the author.
# footer:
# text: footer's text
# icon: small circle icon of footer
# fields:
# "field title": message
# "second field title": second field message
# They all support placeholders.
announcements:
invasion: # In this case, the main context belongs to the attacker player, and the second belongs to the defender kingdom.
start: # This message is sent as soon as the invasion start countdown ends.
channel: '$main'
message:
description: ':crossed_swords: **%player%** from **%kingdoms_kingdom_name%** is now invading **%kingdoms_other_kingdom_name%**'
color: '#F00'
image: '%kingdoms_kingdom_flag%'
end:
success:
channel: '$main'
message: ':crossed_swords: **%player%** from **%kingdoms_kingdom_name%** has successfully invaded **%kingdoms_other_kingdom_name%**'
fail:
channel: '$main'
message: ':crossed_swords: **%player%** from **%kingdoms_kingdom_name%** failed to invade **%kingdoms_other_kingdom_name%**'
kingdom:
join:
channel: '$main'
message: ':white_check_mark: **%player%** has joined **%kingdoms_kingdom_name%**'
leave:
channel: '$main'
message: ':x: **%player%** has left **%kingdoms_kingdom_name%**'
nation:
join:
channel: '$main'
message: ':white_check_mark: **%kingdoms_kingdom_name%** has joined **%kingdoms_nation_name%**'
leave:
channel: '$main'
message: ':x: **%kingdoms_kingdom_name%** has left **%kingdoms_nation_name%**'