Paste #51767: qwe

Date: 2019/01/26 14:55:43 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


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
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415


# ████████████████████████████████████████████████████
# ██   Formatting
# ██
# ██▓▓▒▒░░

# ███ [ Staffchat Formats ] ███
Staffchat1:
  type: format 
  debug: false 
  format: "<&d><&l>[<&r><&5>SC<&r><&d><&l>]<&e><&3><player.name> <&8>» <&r><&7><text>"
Staffchat2:
  type: format 
  debug: false 
  format: "<&d><&l>[<&r><&5>SC<&r><&d><&l>]<&9><&b><player.name> <&8>» <&r><&7><text>"
Staffchat3:
  type: format 
  debug: false 
  format: "<&d><&l>[<&r><&5>SC<&r><&d><&l>]<&4><&b><player.name> <&8>» <&r><&7><text>"
Staffchat4:
  type: format 
  debug: false 
  format: "<&d><&l>[<&r><&5>SC<&r><&d><&l>]<&6><&b><player.name> <&r><&7><text>"

# ███ [ Buildchat Formats ] ███
Buildchat1:
  type: format 
  debug: false 
  format: "<&c><&l>[<&r><&4>BC<&c><&l>]<&e><&b><player.name> <&8>» <&r><&7><text>"
Buildchat2:
  type: format 
  debug: false 
  format: "<&c><&l>[<&r><&4>BC<&c><&l>]<&9><&b><player.name> <&8>» <&r><&7><text>"
Buildchat3:
  type: format 
  debug: false 
  format: "<&c><&l>[<&r><&4>BC<&c><&l>]<&4><&b><player.name> <&8>» <&r><&7><text>"
Buildchat4:
  type: format 
  debug: false 
  format: "<&c><&l>[<&r><&4>BC<&c><&l>]<&c><&b><player.name> <&8>» <&r><&7><text>"

# ███ [ BehrBot Format | Minecraft ] ███
bbf:
    type: format
    debug: false
    format: "<&4>[<&c>B<&d>e<&c>hrBot<&4>] <&f><&o><text>"

# ████████████████████████████████████████████████████
# ██   Listening Commands
# ██
# ██▓▓▒▒░░

# ███ [ /npc Remove All ] ███
NPCRemoveAllCommandChecker:
    type: world
    debug: false
    events:
#If player is not [Behr], give warning message & instructions to custom command/alias to override
        on npc command:
          - if <c.args.get[1].to_lowercase||null> != remove || <c.args.get[2].to_lowercase||null> != all: 
              - queue clear
          - if <player.name> != Behr_riley:
              - narrate "<&c>Please type <&4>/NpcRemoveAllConfirm<&c> if you are <&l><&4>ABSOLUTELY<&r><&c> sure you want to remove Every NPC..."
              - determine fulfilled

# ███ [ WorldEdit Command Restriction ] ███
#If player is not [Creative] or [Spectator], give warning message 
CreativeCommandChecker: 
    type: world 
    debug: false
    events: 
      on pos1|pos2|hpos1|hpos2|cut|set|replace|overlay|walls|outline|center|smooth|deform|hollow|regen|move|stack|naturalize|line|curve|forest|flora|copy|custompaste|rotate|flip|schematic|schem|generate|generatebiome|hcyl|cyl|sphere|hsphere|pyramid|hpyramid|forestgen|pumpkins|toggleplace|fill|fillr|drain|fixwater|fixlava|removeabove|removebelow|replacenear|removenear|snow|thaw|butcher|remove command:
        - if <player.gamemode> != Creative: 
          - narrate "<&c>This command is permitted only in Creative or Spectator Mode." 
          - determine fulfilled 
      on player drops item:
        - if <player.gamemode> == creative && <player.in_group[Member]>:
          - narrate format:bbf "<player.name.display> attempted to drop items at [<&6>X:<&e><player.location.x.round_down>, <&6>Y:<&e><player.location.y.round_down>, <&6>Z:<&e><player.location.z.round_down>]<&f> in creative mode."
          - narrate format:bbf "Staff Alerted & Action Documented. You are not allowed to transfer items from Creative."
          - determine cancelled
      on player opens inventory:
        - if <player.gamemode> == creative && <player.in_group[Member]>:
          - narrate format:bbf "<player.name.display> attempted to open a chest at [<&6>X:<&e><player.location.x.round_down>, <&6>Y:<&e><player.location.y.round_down>, <&6>Z:<&e><player.location.z.round_down>] in creative mode."
          - narrate format:bbf "Staff Alerted & Action Documented. You are not allowed to transfer items from Creative."
          - determine cancelled

# ███ [ Commandless Staff Chat ] ███
StaffChatCommandless:
    type: world
    debug: false
    events:
      on player chats:
        - if <player.has_flag[staffchat]>:
          - determine passively cancelled
          - if <player.in_group[Co-Owner]> || <player.in_group[Owner]>:
            - narrate format:Staffchat1 "<context.message.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[Admin]>:
            - narrate format:Staffchat2 "<context.message.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[Mod]>:
            - narrate format:Staffchat2 "<context.message.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[PMod]>:
            - narrate format:Staffchat2 "<context.message.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[HeadBuilder]>:
            - narrate format:Staffchat3 "<context.message.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
        - if <context.message.starts_with[@]> && <player.has_permission[Behrry.Chat.Staffchat]>:
          - determine passively cancelled
          - if <player.in_group[Co-Owner]> || <player.in_group[Owner]>:
            - narrate format:Staffchat1 "<context.message.after[@].parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[Admin]>:
            - narrate format:Staffchat2 "<context.message.after[@].parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[Mod]>:
            - narrate format:Staffchat2 "<context.message.after[@].parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[PMod]>:
            - narrate format:Staffchat2 "<context.message.after[@].parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
            - queue clear
          - else if <player.in_group[HeadBuilder]>:
            - narrate format:Staffchat3 "<context.message.after[@].parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>

      on player breaks diamond_ore:
          - flag player DiamondsMined:++ duration:1h
          - narrate Format:Staffchat4 "has mined <&b>Diamonds<&7>. Hour Count: <&lb><&b><player.flag[DiamondsMined]><&7><&rb>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod]]>


# ████████████████████████████████████████████████████
# ██   Commands
# ██
# ██▓▓▒▒░░

# ███ [ BehrBot Format ] ███
bbf:
    type: format
    debug: false
    format: "<&4>[<&c>B<&d>e<&c>hrBot<&4>] <&f><&o><text>"

# ███ [ PlugMaster Flag ] ███
Behrmission_Command:
    type: command
    name: behrmission
    debug: false
    permission: Behrry.Command.Behrmission
    aliases: 
    - bperms
    script:
    - if !<player.is_op||<context.server>>:
      - narrate format:bbf "<&c>You are not Behr. This command is <&4>Developmental<&c> and requires explicit permissions." 
      - queue clear 
    - else if <player.has_flag[plugmaster]>:
      - flag player plugmaster:!
      - narrate format:bbf "<&a>Developmental Access Flag <&e>Disabled<&a>."
      - queue clear
    - else:
      - flag player plugmaster
      - narrate format:bbf "<&a>Developmental Access Flag <&e>Enabled<&a>."

# ███ [ Staff Chat Command ] ███
staffchat_command:
    type: command
    name: staffchat
    debug: false
    description: Staff Chat
    permission: behrry.chat.staffchat
    aliases:
      - sc
    usage: /staffchat
    script:
      - if <c.args.get[1]||error> != error:
        - if <player.in_group[Co-Owner]> || <player.in_group[Owner]>:
          - narrate format:Staffchat1 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
          - queue clear
        - else if <player.in_group[Admin]>:
          - narrate format:Staffchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
          - queue clear
        - else if <player.in_group[Mod]>:
          - narrate format:Staffchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
          - queue clear
        - else if <player.in_group[PMod]>:
          - narrate format:Staffchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
          - queue clear
        - else if <player.in_group[HeadBuilder]>:
          - narrate format:Staffchat3 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder]]>
          - queue clear
      - if !<player.has_flag[staffchat]>:
        - flag player staffchat
        - narrate "<&2>[<&a>B<&f>e<&a>hrry Tree<&2>]<&r> Staffchat is now <&e>Enabled<&f>."
        - queue clear
      - flag player staffchat:!
      - narrate "<&2>[<&a>B<&f>e<&a>hrry Tree<&2>]<&r> Staffchat is now <&e>Disabled<&f>."

# ███ [ build Chat Command ] ███
buildchat_command:
    type: command
    name: buildchat
    debug: false
    description: builder Chat
    permission: behrry.chat.buildchat
    aliases:
      - b
    usage: /buildchat
    script:
      - if <c.args.get[1]||error> != error:
        - if <player.in_group[Co-Owner]> || <player.in_group[Owner]>:
          - narrate format:buildchat1 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>
          - queue clear
        - else if <player.in_group[Admin]>:
          - narrate format:buildchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>
          - queue clear
        - else if <player.in_group[Mod]>:
          - narrate format:buildchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>
          - queue clear
        - else if <player.in_group[PMod]>:
          - narrate format:buildchat2 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>
          - queue clear
        - else if <player.in_group[HeadBuilder]>:
          - narrate format:buildchat3 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>
          - queue clear
        - else if <player.in_group[Builder]>:
          - narrate format:buildchat4 "<context.raw_args.parse_color>" targets:<server.list_online_players.filter[groups.contains_any[Owner|Co-Owner|Admin|Mod|PMod|Headbuilder|Builder]]>


# ████████████████████████████████████████████████████
# ██   Discord Scripts
# ██
# ██▓▓▒▒░░

# ███ [ Discord Channel Update ] ███
Discord_Channel_Refresh:
    type: command
    name: Test1
    debug: false
    script:
      - yaml load:data/behrbot.yml id:behrbot_temp
      - flag server staffchat:!
      - flag server staffchat:|:<yaml[behrbot_temp].read[bots.discord.channel.staffchat]>
      - flag server announcements:!
      - flag server announcements:|:<yaml[behrbot_temp].read[bots.discord.channel.announcements]>
      - flag server main-chat:!
      - flag server main-chat:|:<yaml[behrbot_temp].read[bots.discord.channel.main-chat]>
      - flag server worldchat:!
      - flag server worldchat:|:<yaml[behrbot_temp].read[bots.discord.channel.world-chat]>
      - flag server discussions:!
      - flag server discussions:|:<yaml[behrbot_temp].read[bots.discord.channel.discussions]>
      - flag server deepthoughts:!
      - flag server deepthoughts:|:<yaml[behrbot_temp].read[bots.discord.channel.deep-thoughts]>
      - flag server memes:!
      - flag server memes:|:<yaml[behrbot_temp].read[bots.discord.channel.memes]>
      - flag server botcommands:!
      - flag server botcommands:|:<yaml[behrbot_temp].read[bots.discord.channel.bot-commands]>
      - flag server voicechannel-text-chat:!
      - flag server voicechannel-text-chat:|:<yaml[behrbot_temp].read[bots.discord.channel.voice-channel-text-chat]>
      - flag server playerreports:!
      - flag server playerreports:|:<yaml[behrbot_temp].read[bots.discord.channel.player-reports]>
      - flag server updates:!
      - flag server updates:|:<yaml[behrbot_temp].read[bots.discord.channel.updates]>
      - flag server gielinor:!
      - flag server gielinor:|:<yaml[behrbot_temp].read[bots.discord.channel.gielinor]>
      - flag server barredChannels:!
      - flag server barredChannels:|:<yaml[behrbot_temp].read[bots.discord.barredChannels]>
      #- flag server logs:!
      #- flag server logs:|:<yaml[behrbot_temp].read[bots.discord.logs]>
      - yaml unload id:behrbot_temp
      #- define samples "<def[samples]>|sample_text/Hello, world!|help/try typing 'help' to the bot!" 
      #- define samples "<def[samples]>|version/<server.version.escaped>|denizen_version/<server.denizen_version.escaped>" 
      #- flag server tag_parser_samples:! 
      #- flag server tag_parser_samples:|:<def[samples]> 

# ███ [ DiscordBot | Discord Control ] ███
Discord_Bots:
    type: world
    debug: false
    script_paths:
# ███ [ Tag Parsing Scripts ] ███
        process_tag:
        - log "<util.date.time> [<def[name]>] in [<def[origin]>] wants to process tag <def[tag]>" file:<server.flag[logs]>
        - flag server tag_parser_result_temp:!
        - run locally script_paths.tag_run_path instantly def:<def[tag]>
        - define result <server.flag[tag_parser_result_temp]||FAILED=FLAG_MISSING;>
        - flag server tag_parser_result_temp:! 
        - log "<util.date.time> [<def[name]>] in [<def[origin]>] got result <def[result]>" file:<server.flag[logs]>
        crunch_result:
        - define final_result ""
        - foreach <def[result].split[;]>:
          - if <def[value].starts_with[VALID=]>:
            - define final_result "<def[final_result]><def[value].after[VALID=].replace[&sc].with[;]><n>"
        - foreach <def[result].split[;]>:
          - if <def[value].starts_with[FAILED=ERROR/]>:
            - define final_result "<def[final_result]>Had error: <def[value].after[FAILED=ERROR/].replace[&sc].with[;]><n>"
          - else if <def[value].starts_with[FAILED=EXCEPTION/]>:
            - define final_result "<def[final_result]>Had internal exception: <def[value].after[FAILED=EXCEPTION/].replace[&sc].with[;]><n>"
          - else if <def[value].starts_with[FAILED=]>:
            - define fail_reason <def[value].after[FAILED=]>
            - if <def[fail_reason]> == FLAG_MISSING:
              - define final_result "<def[final_result]>Got no result value.<n>"
            - else:
              - define final_result "<def[final_result]>Got failure '<def[fail_reason]>'.<n>"
        - if <def[final_result].trim.length> == 0:
          - define final_result ""
        - if <def[final_result].length> > 1000 || <def[tag].length.add[<def[final_result].length>]> > 1500:
          - define tag "(Spam)"
          - define final_result "Input too long, refused."
        - if <def[final_result].to_list.filter[is[==].to[<n>]].size> > 10:
          - define final_result "Newline spam, refused."
        tag_run_path:
        - define samples <server.flag[tag_parser_samples].as_list>|sample_player/<player>|sample_npc/<npc>
        - foreach <def[samples]>:
          - define <def[value].before[/]> <def[value].after[/].unescaped>
        - define help "Tell me any valid Denizen (Bukkit) tags, like <&lt>player.name<&gt> and I'll parse them for you! Alternately, tell me a valid definition name (like'samples') and I'll tell you its contents."
        - if !<def[1].unescaped.contains[<&lt>]> && <def[<def[1].unescaped>].exists>:
          - flag server tag_parser_result_temp:VALID=<def[<def[1].unescaped>].escaped.replace[;].with[&sc]>;<server.flag[tag_parser_result_temp]||>
        - else:
          - flag server tag_parser_result_temp:VALID=<parse.escaped.replace[;].with[&sc]:<def[1].unescaped>>;<server.flag[tag_parser_result_temp]||>
        parse_tag_script:
          - flag server tag_parser_bot_running
          - define origin <context.group>/<context.channel>/<context.group_name.escaped>/<context.channel_name.escaped>
          - announce to_console "Discord chatter! [<def[name]>] in [<def[origin]>] saying <context.message>"
          - define tag <context.no_mention_message.replace[<n>].with[<&sp>].trim.escaped>
          - inject locally script_paths.process_tag player:<server.list_players.get[1]> npc:<server.list_npcs.get[1]>
          - inject locally script_paths.crunch_result
    events:
# ███ [ Server Startup ] ███
        on server start:
        #simulate server start v
        #on player breaks end_stone_bricks:
        - debug debug "# ███ [ Discord Connections start in: 15s ] ███"
        - wait 15s
        - yaml load:data/behrbot.yml id:behrbot_temp
        - discord id:behrbot connect code:<yaml[behrbot_temp].read[bots.discord.BehrBotToken]>
        - discord id:generalbot connect code:<yaml[behrbot_temp].read[bots.discord.GeneralBotToken]>
        - yaml unload id:behrbot_temp
        - discord id:generalbot message channel:<server.flag[worldchat]> ":white_check_mark: **Server has started**"
# ███ [ Ingame Chat Relay ] ███
        on player chats:
          - if <context.message.starts_with[!P]> && <player.is_op>:
            - determine passively cancelled
            - narrate format:bbf "Parsing <&e><&o><context.message.after[!p<&sp>]><&4>:<&nl> <&6><parse:<context.message.after[!p<&sp>]>>"
            - queue clear
          ##################################################
          #ingame auto-response template [ Chat >> Discord ]
          #- if <context.message.to_lowercase.contains[hi<&sp>behr]>:
          #  - wait 6s
          #  - narrate targets:<server.list_online_players> format:bbf "Hi"
          #  - discord id:behrbot channel:<server.flag[updates]> message "**Co-Owner** BehrBot: Hi"
          #########################################################################################
          - discord id:generalbot channel:<server.flag[worldchat]> message "**<player.groups.get[1]>** <player.name.display.strip_color>: <context.message>"
# ███ [ Discord Chat Relay ] ███
        on discord message received by behrbot:
          #barred channels
        - if <context.channel.contains[518511535539224618]>:
          - queue clear
          #if @bot is for parse
        - if <context.mentions.contains[<context.self>]>:
          - inject locally script_paths.parse_tag_script
          - discord id:behrbot message channel:<context.channel> "Tag parse results for `<def[tag].unescaped.replace[`].with[']>`<&co><n>```<n><def[final_result].unescaped.replace[`].with[']>```"
          - queue clear
          #if message is from updates and it isnt blank
        - if <context.channel> == <server.flag[worldchat]>:
          - if <context.message> != "" && <context.author_id> != 518498180300668939:
            - narrate targets:<server.list_online_players> "<&3><&l>[<&r><&b>Discord<&f> | <context.author_name><&3><&l>]<&r> <&8>»<&f> <context.message.parse_color>"
        on player first logs in:
          - discord id:generalbot message channel:<server.flag[worldchat]> ":confetti_ball: **<player.name> has logged in for the first time. Welcome them!**"
        on player joins:  
          - discord id:generalbot message channel:<server.flag[worldchat]> ":heavy_plus_sign: **<player.name.display.strip_color> has logged in.**"
        on player quits:
          - discord id:generalbot message channel:<server.flag[worldchat]> ":heavy_multiplication_x: **<player.name.display.strip_color> has left the server.**"
        on player dies:
          - discord id:generalbot message channel:<server.flag[worldchat]> ":skull: **<context.message>**. F in the chat"
        on shutdown:
          - discord id:generalbot message channel:<server.flag[worldchat]> ":octagonal_sign: **Server is restarting. Please wait**"

# ███ [ Discord Alert ] ███
Test2_Command:
    type: command
    name: Test2
    debug: true
    script:
      - if <li@kick|tempmute|mute|tempban|ban|banip.contains[<c.args.get[1].to_lowercase||null>]>:
        - flag <player> offenses.<c.args.get[1].to_lowercase||>:++
        - flag <player> offenses.reports:++
        - discord id:behrbot message channel:515990339493036069 ":rotating_light: **Wee-Woo!** New Player Report! :rotating_light: ```css<&nl><&lb>Incident<&rb>: <&lb><c.args.get[1].to_lowercase||null><&rb> <&nl>#Player_Name: <c.args.get[2].to_lowercase||null><&nl>#Staff_Reporting: <player.name><&nl>#Incident_Time: {<util.date.format[mm/dd/yyyy <&pipe> KK:mm a]>}<&nl>{Reason: <c.args.get[3].to[99].space_separated.to_lowercase||No Reason Provided.>}<&nl>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<&nl>{Kicks:}<&sp><&sp><&sp><&sp><&sp><&lb><player.flag[offenses.kick]||0><&rb><list[<&sp><&sp>|<&sp>].get[<li@true|false.find[<player.flag[offenses.kick].is[LESS].than[10]>]>]><&sp>{Reports:}<&sp><&sp><&sp><&sp><&lb><player.flag[offenses.reports]||0><&rb><&nl>{TempMutes:} <&lb><player.flag[offenses.tempmute]||0><&rb><list[<&sp><&sp>|<&sp>].get[<li@true|false.find[<player.flag[offenses.tempmute].is[LESS].than[10]>]>]><&sp>{Mutes:}<&sp><&sp><&sp><&sp><&sp><&sp><&lb><player.flag[offenses.mute]||0><&rb><&nl>{TempBan:}<&sp><&sp><&sp><&lb><player.flag[offenses.tempban]||0><&rb><list[<&sp><&sp>|<&sp>].get[<li@true|false.find[<player.flag[offenses.tempban].is[LESS].than[10]>]>]><&sp>{IPBanned:}<&sp><&sp> <&lb><server.is_banned[<player.ip.address>]><&rb>```"


# ███ [ AFK ] ███
AFK_Listen:
    type: world
    debug: false
    events:
      #notable events to disable
      #on flag expires
      #on player logs in
      #on player joins
      #on player kicked
      #on player quits

      #notable Events to trigger:
      #on player walks
      #on player clicks
      #on player chats
      #on player jumps
      #on player opens inventory
      #on player swaps items
AFK_Command:
    type: command
    name: afk
    debug: false
    permission: behrry.essential.afk
    script:
#      - narrate targets:<server.list_players_online> "<Player.name> is now afk."
#      - flag player AFK