· 6 years ago · Aug 09, 2019, 04:02 PM
1variables:
2 {menu_mode::%player%} = false
3
4command /menu:
5 trigger:
6 if {menu_mode::%player%} = false:
7 open chest with 4 rows named "&bGamemode Selector" to player
8 wait 1 tick
9 format slot 10 of player with nether star named "&3&lLobby &7(You are here)" with lore "&7The Lobby, You are connected to here.||&b(%number of all players%/400 Players)" to run [make player execute "bagel lobby"]
10 format slot 13 of player with diamond pickaxe named "&b&lSurvival &8(Click)" with lore "&7Multiplayer Survival||&3(Whitelisted)" to run [make player execute "bagel smp"]
11 format slot 14 of player with grass block named "&b&lSkyblock &8(Click)" with lore "&7Sky Islands||&a(Online)" to run [make player execute "bagel skyblock"]
12 format slot 15 of player with glowing diamond sword named "&b&lOP Factions &8(Click)" with lore "&7Mega Factions||&3(Whitelisted)" to run [make player execute "bagel op"]
13 format slot 16 of player with iron sword named "&b&lKitPvP &8(Click)" with lore "&7Competetive PvP||" to run [make player execute "bagel kitpvp"]
14 format slot 35 of player with light blue dye named "&b&lStyle changer &8(Click)" with lore "&7Change the style of the Menu||" to close then run [make player execute "style"]
15 stop
16 else:
17 open chest with 4 rows named "&bGamemode Selector" to player
18 wait 1 tick
19 format slot 10 of player with nether star named "&3&lLobby &7(You are here)" with lore "&7The Lobby, You are connected to here.||&b(%number of all players%/400 Players)||&7||&3&lDeveloped by||&8- &bEternalKnowedge||&8- &bLoveSkripting||&8- &bElluss||&7||&3&lHosted by||&8- &bVPS (3GB RAM)" to run [make player execute "bagel lobby"]
20 format slot 13 of player with cyan dye named "&b&lSurvival &8(Click)" with lore "&7Multiplayer Survival||&7||&3&lDeveloped by||&8- &bEternalKnowedge||&8- &bLoveSkripting||&8- &bElluss||&7||&3&lHosted by||&8- &bVPS (1GB RAM)" to run [make player execute "bagel smp"]
21 format slot 14 of player with cyan dye named "&b&lSkyblock &8(Click)" with lore "&7Sky Islands||&7||&3&lDeveloped by||&8- &bEternalKnowedge||&8- &bLoveSkripting||&8- &bElluss||&7||&3&lHosted by||&8- &bVPS (1GB RAM)" to run [make player execute "bagel skyblock"]
22 format slot 15 of player with cyan dye named "&b&lOP Factions &8(Click)" with lore "&7Mega Factions||&7||&3&lDeveloped by||&8- &bEternalKnowedge||&8- &bLoveSkripting||&8- &bElluss||&7||&3&lHosted by||&8- &bVPS (1GB RAM)" to run [make player execute "bagel op"]
23 format slot 16 of player with cyan dye named "&b&lKitPvP &8(Click)" with lore "&7Competetive PvP||&7||&3&lDeveloped by||&8- &bEternalKnowedge||&8- &bLoveSkripting||&8- &bElluss||&7||&3&lHosted by||&8- &bVPS (1GB RAM)" to run [make player execute "bagel kitpvp"]
24 format slot 35 of player with light blue dye named "&b&lStyle changer &8(Click)" with lore "&7Change the style of the Menu||&7||&3&lDeveloped by||&8- &bEternalKnowedge" to close then run [make player execute "style"]
25 stop
26
27
28command /bagel <text>:
29 trigger:
30 if arg-1 is "lobby":
31 send "&7You are connected to the lobby, silly." to player
32 if arg-1 is "smp":
33 make console execute "connect %player% SMP"
34 send "&7Sending you to &b&lSMP&7..." to player
35 if arg-1 is "kitpvp":
36 make console execute "connect %player% kitpvp"
37 send "&7Sending you to &b&lKITPVP&7..." to player
38 if arg-1 is "skyblock":
39 make console execute "connect %player% skyblock"
40 send "&7Sending you to &b&lSKYBLOCK&7..." to player
41 if arg-1 is "op":
42 make console execute "connect %player% op-factions"
43 send "&7Sending you to &b&lOP-FACTIONS&7..." to player
44
45command /style [<text>]:
46 trigger:
47 if {menu_mode::%player%} = false:
48 set {menu_mode::%player%} to true
49 send "&3&lSTYLE CHANGER &7Style changed to &bMinimalist / Compact"
50 stop
51 else:
52 set {menu_mode::%player%} to false
53 send "&3&lSTYLE CHANGER &7Style changed to &bNormal"
54 stop
55
56
57
58
59on join:
60 set slot 4 of player to compass named "&7Server Selection" with lore "&7Select your server in here!"
61
62
63on drop:
64 if event-item is compass named "&7Server Selection" with lore "&7Select your server in here!":
65 cancel event
66
67
68on right click holding a compass:
69 make player execute "menu"
70
71
72command /online:
73 trigger:
74 set {online::skyblock} to placeholder "bungee_skyblock"
75 set {online::kitpvp} to placeholder "bungee_kitpvp"
76 set {online::op} to placeholder "bungee_op-factions"
77 set {online::smp} to placeholder "bungee_smp"
78 set {online::hangout} to placeholder "bungee_hangout"
79 set {online::purgatory} to placeholder "bungee_placeholder"
80 make citizen 0 name to "&a%{online::skyblock}% &fonline"
81 make citizen 1 name to "&a%{online::smp}%&f online"
82 make citizen 2 name to "&a%{online::kitpvp}%&f online"
83
84
85every 5 seconds:
86 make console execute "online"
87
88on npc right click:
89 if npc is 0:
90 make player execute "bagel skyblock"
91 if npc is 1:
92 make player execute "bagel smp"
93 if npc is 2:
94 make player execute "bagel kitpvp"
95 if npc is 3:
96 make player execute "bagel op"
97 if npc is 4:
98 make player execute "bagel mini"
99
100
101variables:
102 {hide} = false
103
104
105on command "/hide":
106 if player doesn't have permission "Hide.Lobby":
107 cancel event
108 send "&cYou don't have permission to execute that command."
109 stop
110 else:
111 cancel event
112 if {hide} = false:
113 send "&aHidden mode is now marked as true."
114 set {hide} to true
115 stop
116 else if {hide} = true:
117 send "&aHidden mode is now marked as false."
118 set {hide} to false
119 stop
120
121every 1 second:
122 if {hide} = false:
123 loop all players:
124 set loop-player tab name to "&7%loop-player's display name%"
125 else if {hide} = true:
126 loop all players:
127 set loop-player tab name to "&7"
128
129 loop all players:
130 set tab header to "%nl%&3&lConnected to &bLobby%nl%&3Your connection: &b%ping of loop-player%ms%nl%" and footer to "%nl%&3Store: &bstore.vangomc.com%nl%&3Discord: &bvangomc.com/discord%nl%&3IP: &bplay.vangomc.com%nl%" for loop-player
131
132
133
134on stepping on a pressure plate:
135 if event-block is pressure plate:
136 if {parkour::start::%uuid of player%} is not set:
137 set player's gamemode to adventure
138 set {parkour::start::%uuid of player%} to true
139 send "&eParkour started!" to player
140
141every second:
142 loop all players:
143 if {parkour::start::%uuid of loop-player%} is set:
144 add 1 to {parkour::time_seconds::%uuid of loop-player%}
145 if {parkour::time_seconds::%uuid of loop-player%} is 60:
146 add 1 to {parkour::time_minutes::%uuid of loop-player%}
147 set {parkour::time_seconds::%uuid of loop-player%} to 0
148 if {parkour::time_minutes::%uuid of loop-player%} is 60:
149 set {parkour::time_minutes::%uuid of loop-player%} to 0
150
151on any movement:
152 if {parkour::start::%uuid of player%} is set:
153 if {parkour::time_seconds::%uuid of player%} is set:
154 if {parkour::time_minutes::%uuid of player%} is set:
155 set action bar of player to coloured "&a&l%{parkour::time_seconds::%uuid of player%}% &a&lseconds&a, &a%{parkour::time_minutes::%uuid of player%}% &a&lminutes"
156
157on any movement:
158 if {parkour::start::%uuid of player%} is set:
159 if block at player is water:
160 if {parkour.teleportLocation} is set:
161 teleport player to {parkour.teleportLocation}
162 send player title "&cFailed!" for 0.8 seconds
163 set {parkour::start::%uuid of player%} to false
164 delete {parkour::start::%uuid of player%}
165 set {parkour::time_seconds::%uuid of player%} to 0
166 set {parkour::time_minutes::%uuid of player%} to 0
167 send "&aYour parkour time has been reset" to player
168
169command /parkour [<text>] [<text>]:
170 trigger:
171 if argument 1 is "end":
172 if {parkour::start::%uuid of player%} is set:
173 set {parkour::start::%uuid of player%} to false
174 delete {parkour::start::%uuid of player%}
175 set {parkour::time_seconds::%uuid of player%} to 0
176 set {parkour::time_minutes::%uuid of player%} to 0
177 teleport player to {parkour.teleportLocation}
178 send "&6You ended the parkour" to player
179 stop
180 else:
181 send "&cYou didn't started the parkour yet" to player
182 stop
183 if argument 1 is "timer":
184 if {parkour::time_seconds::%uuid of player%} is set:
185 if {parkour::time_minutes::%uuid of player%} is set:
186 send "&aParkour timer of %player%&a: &a&l%{parkour::time_seconds::%uuid of player%}% &a&lseconds&a, &a&l%{parkour::time_minutes::%uuid of player%}% &a&lminutes"
187 else if argument 1 is "setspawn":
188 if player has permission "parkour.setspawn":
189 set {parkour.teleportLocation} to location of player
190 send "&eParkour spawn location set!" to player
191 stop
192 else:
193 send "Unknown command. Type ""/help"" for help." to player
194 else:
195 send "&cIncorrect usage! '/parkour end'" to player
196 stop
197
198on weather change to rain or thunder:
199 cancel event
200
201
202on skript load:
203 login to "NjA1MzUzNjEyMjU1NjkwNzgy.XT7S_A.rVpfuAr61i4U1kiqr3GK8RfFeqg" with name "Paralyze"
204
205
206# !help functionality #
207
208discord command help [<text>]:
209 prefixes: !
210 executable in: guild
211 trigger:
212 if arg is not set:
213 reply with "> Printing **help page**..."
214 grab the last 1 messages in event-channel
215 wait 1 seconds
216 purge the grabbed messages with event-bot
217 create embed:
218 set the title of embed to "Paralyze | Help page"
219 set the description of embed to "!help Moderation%nl%!help Fun%nl%!help Music"
220 set the colour of the embed to Cyan
221 set the footer of embed to footer with text "%event-member%"
222 set the timestamp of embed to now
223 send the last created embed to event-channel with event-bot
224 if arg is set:
225 if arg is "Moderation":
226 reply with "> This function hasn't been coded yet."
227 stop
228 if arg is "Fun":
229 reply with "> This function hasn't been coded yet."
230 stop
231 if arg is "Music":
232 reply with "> Loading the **Music** help page..." and store it in {_msg}
233 wait 0.5 seconds
234 edit {_msg} to show "> Music help page%nl%**!play** | Creates a request from YouTube.%nl%**>play** | Creates a request from SoundCloud.%nl%**!earrape (on/off)** *Requires DJ Role* | Makes your ears go bleed.%nl%**!thebigblack** *Requires DJ Role* | Makes you listen to the big black.%nl%**!thebigblack (Earrape version)** *Requires DJ Role* | Makes you listen to the big black but it makes your ears go bleed.%nl%**!background (on/off)** *Requires DJ Role* | Plays some chill background music from SoundCloud.%nl%**!volume (number)** *Requires DJ Role* | Adjusts the volume of the bot.%nl%**!skip** *Requires DJ Role* | Skips the current playing song."
235 if arg is not "Music" or "Fun" or "Moderation":
236 reply with "> Printing **help page**..."
237 grab the last 1 messages in event-channel
238 wait 1 seconds
239 purge the grabbed messages with event-bot
240 create embed:
241 set the title of embed to "Paralyze | Help page"
242 set the description of embed to "!help Moderation%nl%!help Fun%nl%!help Music"
243 set the colour of the embed to Cyan
244 set the footer of embed to footer with text "%event-member%"
245 set the timestamp of embed to now
246 send the last created embed to event-channel with event-bot
247
248
249
250
251
252
253
254
255# Music Functionality #
256
257
258discord command play [<text>]:
259 prefixes: !
260 executable in: guild
261 trigger:
262 reply with "> Searching for **%arg-1%**..." and store it in {_msg}
263 if arg-1 is not set:
264 edit {_msg} to show "> **ERROR** Please input an argument."
265 stop
266 else:
267 search youtube for arg-1 and store the results in {_results::*}
268 wait 1 tick
269 if {_results::*} is set:
270 join voice channel of event-member
271 edit {_msg} to show "> Added **%{_results::1}%** to queue. *(YouTube)*"
272 play url of {_results::1}
273 stop
274
275discord command play [<text>]:
276 prefixes: >
277 executable in: guild
278 trigger:
279 reply with "> Searching for **%arg-1%**..." and store it in {_msg}
280 if arg-1 is not set:
281 edit {_msg} to show "> **ERROR** Please input an argument."
282 stop
283 else:
284 search soundcloud for arg-1 and store the results in {_results1::*}
285 wait 1 tick
286 if {_results1::*} is set:
287 join voice channel of event-member
288 edit {_msg} to show "> Added **%{_results1::1}%** to queue. *(Soundcloud)*"
289 play url of {_results1::1}
290 stop
291
292
293discord command play [<text>]:
294 prefixes: *
295 executable in: guild
296 trigger:
297 reply with "> Searching for **%arg-1%**..." and store it in {_msg}
298 if arg-1 is not set:
299 edit {_msg} to show "> **ERROR** Please input an argument."
300 stop
301 else:
302 search spotify for arg-1 and store the results in {_results1::*}
303 wait 1 tick
304 if {_results1::*} is set:
305 join voice channel of event-member
306 edit {_msg} to show "> Added **%{_results1::1}%** to queue. *(Spotify)*"
307 play url of {_results1::1}
308 stop
309
310
311
312discord command volume [<number>]:
313 roles: DJ
314 prefixes: !
315 executable in: guild
316 trigger:
317 if arg-1 is not set:
318 reply with "Volume: **%volume of event-bot%**"
319 stop
320 else:
321 set the volume of event-bot to arg-1
322 reply with "Set the volume to: **%volume of event-bot%**"
323
324discord command skip:
325 roles: DJ
326 prefixes: !
327 executable in: guild
328 trigger:
329 skip track event-bot is playing in event-guild
330 reply with "Skipped **%discord name of track event-bot is playing%**"
331 stop
332
333discord command brainpower:
334 roles: DJ
335 prefixes: !
336 executable in: guild
337 trigger:
338 reply with "Brain power in 3 seconds m8"
339 wait 3 seconds
340 loop 1000 times:
341 skip track event-bot is playing in event-guild
342 play "https://www.youtube.com/watch?v=mj-v6zCnEaw"
343 stop
344
345variables:
346 {paralyze_earrape} = false
347
348discord command earrape [<text>]:
349 roles: DJ
350 prefixes: !
351 executable in: guild
352 trigger:
353 if arg-1 is not set:
354 reply with "Listen mate, if you want earrape, please tell me **On** or **Off**"
355 stop
356 if arg-1 is set:
357 if arg-1 is "On":
358 if {paralyze_earrape} = false:
359 reply with "Earrape mode is enabling in 3 seconds."
360 reply with "Turn off your volume asap."
361 wait 3 seconds
362 reply with "Volume set to **999** for maximum earrape experience"
363 set the volume of event-bot to 999
364 set {paralyze_earrape} to true
365 stop
366 else:
367 reply with "Earrape mode is already on. You want more? No. No more cookies for you."
368 stop
369 if arg-1 is "Off":
370 if {paralyze_earrape} = true:
371 reply with ":( I wanted your ears to bleed"
372 reply with "Anyways, volume set to **100**."
373 set the volume of event-bot to 100
374 set {paralyze_earrape} to false
375 stop
376 else:
377 reply with "It's already off, you want less earrape? do !volume 0 and there u go no songs 4 u"
378 stop
379 if arg-1 is not "on" or "off":
380 reply with "Listen mate, if you want earrape, please tell me **On** or **Off**"
381 stop
382
383
384variables:
385 {paralyze_background} = false
386
387discord command background [<text>]:
388 roles: DJ
389 prefixes: !
390 executable in: guild
391 trigger:
392 if arg-1 is not set:
393 reply with "Listen mate, if you want background music, please tell me **On** or **Off**"
394 stop
395 if arg-1 is set:
396 if arg-1 is "On":
397 if {paralyze_background} = false:
398 reply with "> Enabling background mode."
399 wait 3 seconds
400 set {paralyze_background} to true
401 search soundcloud for "lofi mix" and store the results in {_results2::*}
402 wait 1 tick
403 if {_results2::*} is set:
404 join voice channel of event-member
405 set the volume of event-bot to 25
406 play url of {_results2::1}
407 stop
408 else:
409 reply with "Background mode is already on. You want more? No. No more cookies for you."
410 stop
411 if arg-1 is "Off":
412 if {paralyze_background} = true:
413 reply with ":( Chill is fun"
414 reply with "Anyways, volume set to **100**."
415 set the volume of event-bot to 100
416 loop 1000 times:
417 skip track event-bot is playing in event-guild
418 set {paralyze_background} to false
419 stop
420 else:
421 reply with "It's already off, you want less background? do !volume 0 and there u go no songs 4 u"
422 stop
423 if arg-1 is not "on" or "off":
424 reply with "Listen mate, if you want background music, please tell me **On** or **Off**"
425 stop
426
427
428
429options:
430 debug: false
431 codes: 0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|k|l|m|n|o|r
432
433function mcrremoveColor(msg: text) :: text:
434 set {_m::*} to {_msg} split at ""
435
436 set {_color-codes} to "{@codes}"
437 set {_colors::*} to {_color-codes} split at "|"
438
439 set {_new} to ""
440
441 loop {_m::*}:
442 set {_char} to loop-value
443 set {_prev} to the last character of {_new}
444
445 if {_prev} is "&":
446
447 loop {_colors::*}:
448
449 if loop-value-2 is {_char}:
450 set {_skip} to true
451
452 if {_skip} is set:
453 delete {_skip}
454
455 else:
456 set {_new} to "%{_new}%%{_char}%"
457
458 return {_new}
459
460function mcrjsonColorize(msg: text, default-color: text = "&r") :: text:
461 set {_m::*} to {_msg} split at ""
462
463 set {_color-codes} to "{@codes}"
464 set {_colors::*} to {_color-codes} split at "|"
465
466 set {_color} to colored {_default-color}
467 set {_code} to the first character of {_color}
468
469 set {_new} to ""
470 set {_skip} to 0
471
472 loop amount of {_m::*} times:
473
474 if {_skip} is more than or equal to 1:
475 subtract 1 from {_skip}
476
477 else:
478 set {_char} to {_m::%loop-number%}
479 set {_next} to {_m::%loop-number + 1%}
480
481 if {@debug} is true:
482 broadcast "&a[Character Check] &r%loop-number%: &7%{_char}% &r&onext: &8%{_next}% &r[%{_color}%color&r]"
483
484 if {_char} is "&" or {_code}:
485
486 if {@debug} is true:
487 broadcast "&a[Color Check] &rFOUND: &o%{_char}%%{_next}% &7&m<--&7&o is it valid?"
488
489 loop {_colors::*}:
490
491 if loop-value-2 is {_next}:
492 set {_color} to "%{_color}%%{_code}%%{_next}%"
493
494 if {_next} is "r":
495 set {_color} to {_default-color}
496
497 set {_new} to "%{_new}%%{_color}%"
498 set {_skip} to 1
499
500 if {_skip} is less than or equal to 0:
501 set {_new} to "%{_new}%%{_char}%"
502
503 else if {_char} is " ":
504 set {_new} to "%{_new}% %{_color}%"
505
506 else:
507 set {_new} to "%{_new}%%{_char}%"
508
509 return {_new}
510
511function mcrjsonSanitize(msg: text) :: text:
512 if {@debug} is true:
513 broadcast "&a[Sanitize] &7&oSanitizing input..."
514
515 set {_m::*} to {_msg} split at ""
516
517 loop {_m::*}:
518
519 if loop-value is """":
520 set {_m::%loop-index%} to "\""" # """
521
522 else if loop-value is "\":
523 set {_m::%loop-index%} to "\\"
524
525 set {_new} to join {_m::*} with ""
526 return {_new}
527
528function mcrjsonFormat(msg: text, color: boolean = true) :: text:
529 set {_m::*} to {_msg} split at "||"
530
531 set {_current} to 1
532
533 loop {_m::*}:
534 if {_clusters::%{_current}%} is not set:
535 set {_clusters::%{_current}%} to ""
536
537 if {_clusters::%{_current}%::text} is not set:
538 set {_clusters::%{_current}%::text} to mcrjsonSanitize(loop-value)
539
540 else:
541 set {_tag} to the first 4 characters of loop-value
542 set {_value} to subtext of loop-value from characters 5 to the length of loop-value
543
544 if {_tag} is "ttp:":
545 set {_clusters::%{_current}%::tooltip} to mcrjsonSanitize({_value})
546
547 else if {_tag} is "cmd:":
548 set {_clusters::%{_current}%::command} to mcrjsonSanitize({_value})
549
550 else if {_tag} is "sgt:":
551 set {_clusters::%{_current}%::suggest} to mcrjsonSanitize({_value})
552
553 else if {_tag} is "url:":
554
555 if {_value} doesn't contain "http://" or "https://":
556 set {_value} to "http://%{_value}%"
557
558 set {_clusters::%{_current}%::url} to mcrjsonSanitize({_value})
559
560 else if {_tag} is "ins:":
561 set {_clusters::%{_current}%::insertion} to mcrjsonSanitize({_value})
562
563 else:
564 add 1 to {_current}
565 set {_clusters::%{_current}%::text} to mcrjsonSanitize(loop-value)
566 set {_clusters::%{_current}%} to ""
567
568 if {@debug} is true:
569 broadcast "&a[Tag Check] &3cluster:&b%{_current}% &8(&f&o%{_tag}%&8)"
570
571 loop {_clusters::*}:
572
573 if {@debug} is true:
574 broadcast "&a[Cluster Check] &7&oCluster ##%loop-index% exists."
575
576 set {_i} to loop-index
577
578 set {_text} to {_clusters::%{_i}%::text}
579
580 if {_color} is true:
581 set {_text} to mcrjsonColorize({_text})
582
583 if {_json} is not set:
584 set {_json} to "{""text"":""%{_text}%"""
585 else:
586 set {_json} to "%{_json}%,{""text"":""%{_text}%"""
587
588 if {_clusters::%{_i}%::tooltip} is set:
589
590 if {_color} is true:
591 set {_tooltip} to mcrjsonColorize({_clusters::%{_i}%::tooltip})
592
593 else:
594 set {_tooltip} to {_clusters::%{_i}%::tooltip}
595
596 set {_json} to "%{_json}%,""hoverEvent"":{""action"": ""show_text"",""value"": ""%{_tooltip}%""}"
597
598 if {_clusters::%{_i}%::insertion} is set:
599 set {_json} to "%{_json}%,""insertion"":""%{_clusters::%{_i}%::insertion}%"",""obfuscated"":false"
600
601 if {_clusters::%{_i}%::command} is set:
602 set {_clickable} to "%{_json}%,""clickEvent"":{""action"":""run_command"",""value"":""%{_clusters::%{_i}%::command}%""}"
603
604 if {_clusters::%{_i}%::suggest} is set:
605 set {_clickable} to "%{_json}%,""clickEvent"":{""action"": ""suggest_command"",""value"": ""%{_clusters::%{_i}%::suggest}%""}"
606
607 if {_clusters::%{_i}%::url} is set:
608 set {_clickable} to "%{_json}%,""clickEvent"":{""action"": ""open_url"",""value"": ""%{_clusters::%{_i}%::url}%""}"
609
610 if {_clickable} is set:
611 set {_json} to "%{_clickable}%}"
612 delete {_clickable}
613
614 else:
615 set {_json} to "%{_json}%}"
616
617 return "{""text"":"""", ""extra"":[%{_json}%]}"
618
619function mcrjson(to: text, msg: text, color: boolean = true):
620 set {_msg} to mcrjsonFormat({_msg}, {_color})
621 execute console command "/tellraw %{_to}% %{_msg}%"
622
623 if {@debug} is true:
624 set {_player} to {_to} parsed as offline player
625 if {_player} is online:
626 send uncolored {_msg} to {_player}
627
628function mcrjsonBroadcast(msg: text, color: boolean = true):
629 mcrjson("@a", {_msg}, {_color})
630
631#MCR Code
632#MCR Code
633#MCR Code
634#MCR Code
635#MCR Code
636#MCR Code
637#MCR Code
638
639on load: #You cannot trust people to enter the correct thing so lets double check for them :)
640 if "{@mode}" is "file":
641 set {mineplex.mode} to "file"
642 send "§9MCR> §eMCR has been set to store playerdata into files!" to the console
643 else if "{@mode}" is "sql":
644 set {mineplex.mode} to "sql"
645 send "§9MCR> §eMCR has been set to store playerdata into SQL!" to the console
646 send "§9MCR> §eThey better have setup the database correctly" to the console
647 else:
648 set {mineplex.mode} to "file"
649 send "§9MCR> §eMCR has been set to store playerdata into files!" to the console
650
651on load:
652 if {mineplex.mode} is "sql":
653 update "CREATE TABLE IF NOT EXISTS `accounts` ( `id` INT NULL DEFAULT NULL AUTO_INCREMENT , `name` VARCHAR(40) NOT NULL , `uuid` VARCHAR(100) NOT NULL , `rank` VARCHAR(20) NOT NULL DEFAULT 'All' , `level` INT(20) NOT NULL DEFAULT '0' , `gems` INT(20) NOT NULL DEFAULT '0' , `shards` INT(20) NOT NULL DEFAULT '0' , `banned` VARCHAR(20) NOT NULL DEFAULT 'no' , `muted` VARCHAR(20) NOT NULL DEFAULT 'no' , UNIQUE (`id`)) ENGINE = InnoDB;"
654 update "CREATE TABLE IF NOT EXISTS `newslist` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `newsString` VARCHAR(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL , `newsPosition` VARCHAR(11) NULL DEFAULT NULL , UNIQUE (`id`)) ENGINE = InnoDB;"
655
656function parseRank(p: player , r: text) :: string:
657 set {_uuid} to uuid of {_p}
658 if {mineplex.mode} is "file":
659 set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
660 if {mineplex.mode} is "sql":
661 set {_get} to first element out of objects in column "rank" from result of query "SELECT rank FROM `accounts` WHERE uuid = '%uuid of {_p}%'"
662 if {_get} is "All":
663 set {mineplex.rank.%{_p}%} to ""
664 return "&fPlayer"
665 if {_get} is "Ultra":
666 set {mineplex.rank.%{_p}%} to "&b&lULTRA "
667 return "&bUltra"
668 if {_get} is "Hero":
669 set {mineplex.rank.%{_p}%} to "&d&lHERO "
670 return "&dHero"
671 if {_get} is "Legend":
672 set {mineplex.rank.%{_p}%} to "&a&lLEGEND "
673 return "&aLegend"
674 if {_get} is "Titan":
675 set {mineplex.rank.%{_p}%} to "&c&lTITAN "
676 return "&cTitan"
677 if {_get} is "Trainee":
678 set {mineplex.rank.%{_p}%} to "&6&lTRAINEE "
679 return "&6Trainee"
680 if {_get} is "Mod":
681 set {mineplex.rank.%{_p}%} to "&6&lMOD "
682 return "&6Mod"
683 if {_get} is "SrMod":
684 set {mineplex.rank.%{_p}%} to "&6&lSR.MOD "
685 return "&6Sr.Mod"
686 if {_get} is "CMod":
687 set {mineplex.rank.%{_p}%} to "&6&lC.MOD "
688 return "&6C.Mod"
689 if {_get} is "Admin":
690 set {mineplex.rank.%{_p}%} to "&4&lADMIN "
691 return "&4Admin"
692 if {_get} is "Apex":
693 set {mineplex.rank.%{_p}%} to "&9&lAPEX "
694 return "&9Apex"
695 if {_get} is "Leader":
696 set {mineplex.rank.%{_p}%} to "&4&lLEADER "
697 return "&4Leader"
698 if {_get} is "Owner":
699 set {mineplex.rank.%{_p}%} to "&4&lOWNER "
700 return "&4Owner"
701 if {_get} is "Builder":
702 set {mineplex.rank.%{_p}%} to "&9&lBUILDER "
703 return "&9Builder"
704 if {_get} is "Maplead":
705 set {mineplex.rank.%{_p}%} to "&9&lMAPLEAD "
706 return "&9Maplead"
707 if {_get} is "Mapper":
708 set {mineplex.rank.%{_p}%} to "&9&lMAPPER "
709 return "&9Mapper"
710 if {_get} is "JrDev":
711 set {mineplex.rank.%{_p}%} to "&6&lJR.DEV "
712 return "&6Jr.Dev"
713 if {_get} is "Dev":
714 set {mineplex.rank.%{_p}%} to "&4&lDEV "
715 return "&4Dev"
716 if {_get} is "Twitch":
717 set {mineplex.rank.%{_p}%} to "&5&lTWITCH "
718 return "&5Twitch"
719 if {_get} is "Youtube":
720 set {mineplex.rank.%{_p}%} to "&c&lYOUTUBE "
721 return "&cYouTube"
722 if {_get} is "Event":
723 set {mineplex.rank.%{_p}%} to "&f&lEVENT "
724 return "&fEvent"
725 if {_get} is "Yt":
726 set {mineplex.rank.%{_p}%} to "&5&lYT "
727 return "&5YT"
728 if {_get} is "Eternal":
729 set {mineplex.rank.%{_p}%} to "&3&lETERNAL "
730 return "&3Eternal"
731 if {_get} is "Support":
732 set {mineplex.rank.%{_p}%} to "&9&lSUPPORT "
733 return "&9Support"
734 if {_get} is "Artist":
735 set {mineplex.rank.%{_p}%} to "&9&lARTIST "
736 return "&9Artist"
737
738function parseRankRaw(r: text) :: string:
739 set {_get} to {_r}
740 if {_get} is "All":
741 set {_rank} to ""
742 if {_get} is "Ultra":
743 set {_rank} to "&b&lULTRA "
744 if {_get} is "Hero":
745 set {_rank} to "&d&lHERO "
746 if {_get} is "Legend":
747 set {_rank} to "&a&lLEGEND "
748 if {_get} is "Titan":
749 set {_rank} to "&c&lTITAN "
750 if {_get} is "Trainee":
751 set {_rank} to "&6&lTRAINEE "
752 if {_get} is "Mod":
753 set {_rank} to "&6&lMOD "
754 if {_get} is "SrMod":
755 set {_rank} to "&6&lSR.MOD "
756 if {_get} is "CMod":
757 set {_rank} to "&6&lC.MOD "
758 if {_get} is "Admin":
759 set {_rank} to "&4&lADMIN "
760 if {_get} is "Apex":
761 set {_rank} to "&9&lAPEX "
762 if {_get} is "Leader":
763 set {_rank} to "&4&lLEADER "
764 if {_get} is "Owner":
765 set {_rank} to "&4&lOWNER "
766 if {_get} is "Builder":
767 set {_rank} to "&9&lBUILDER "
768 if {_get} is "Maplead":
769 set {_rank} to "&9&lMAPLEAD "
770 if {_get} is "Mapper":
771 set {_rank} to "&9&lMAPPER "
772 if {_get} is "JrDev":
773 set {_rank} to "&6&lJR.DEV "
774 if {_get} is "Dev":
775 set {_rank} to "&4&lDEV "
776 if {_get} is "Twitch":
777 set {_rank} to "&5&lTWITCH "
778 if {_get} is "Youtube":
779 set {_rank} to "&c&lYOUTUBE "
780 if {_get} is "Event":
781 set {_rank} to "&f&lEVENT "
782 if {_get} is "Yt":
783 set {_rank} to "&5&lYT "
784 if {_get} is "Eternal":
785 set {_rank} to "&3&lETERNAL "
786 if {_get} is "Support":
787 set {_rank} to "&9&lSUPPORT "
788 if {_get} is "Artist":
789 set {_rank} to "&9&lARTIST "
790 if {_rank} is set:
791 return {_rank}
792 else:
793 return "null"
794
795function playerdata(p: offline player) :: boolean:
796 set {_uuid} to uuid of {_p}
797 if {mineplex.mode} is "file":
798 if file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml" doesn't exists:
799 create file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
800 set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
801 set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
802 set "rank" to "All" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
803 set "level" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
804 set "gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
805 set "shards" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
806 set "banned" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
807 set "muted" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
808 set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
809 set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
810 set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
811 set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
812 set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
813 else:
814 set {_ver} to value "version" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
815 if {_ver} is not "{@playerdata}":
816 if {_ver} is "1":
817 set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
818 set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
819 set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
820 set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
821 set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
822 set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
823 send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
824 if {_ver} is "2":
825 set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
826 set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
827 set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
828 set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
829 set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
830 set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
831 send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
832 set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
833 set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
834 parseRank({_p}, "LOL")
835 set {_lvl} to value "level" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
836 execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
837 set {_sh} to value "shards" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
838 set {mineplex.shards.%{_p}%} to {_sh} parsed as an number
839 set {_ge} to value "gems" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
840 set {mineplex.gems.%{_p}%} to {_ge} parsed as an number
841 set {_ban} to value "banned" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
842 if {_ban} is "yes":
843 set {banned::%{_p}%} to true
844 else:
845 set {banned::%{_p}%} to false
846 set {_mute} to value "muted" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
847 if {_mute} is "yes":
848 set {muted::%{_p}%} to true
849 else:
850 set {muted::%{_p}%} to false
851 else if {mineplex.mode} is "sql":
852 set {_getuuid} to first element out of objects in column "uuid" from result of query "SELECT uuid FROM `accounts` WHERE uuid = '%{_uuid}%'"
853 if {_getuuid} is not set:
854 update "INSERT INTO `accounts` (`uuid`, `name`) VALUES ('%{_uuid}%', '%{_p}%')"
855 parseRank({_p}, "LOL")
856 set {_lvl} to first element out of objects in column "level" from result of query "SELECT level FROM `accounts` WHERE uuid = '%{_uuid}%'"
857 execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
858 set {_sh} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
859 set {mineplex.shards.%{_p}%} to {_sh}
860 set {_ge} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
861 set {mineplex.gems.%{_p}%} to {_ge}
862 set {_ban} to first element out of objects in column "banned" from result of query "SELECT banned FROM `accounts` WHERE uuid = '%{_uuid}%'"
863 if {_ban} is "yes":
864 set {banned::%{_p}%} to true
865 else:
866 set {banned::%{_p}%} to false
867 set {_mute} to first element out of objects in column "muted" from result of query "SELECT muted FROM `accounts` WHERE uuid = '%{_uuid}%'"
868 if {_mute} is "yes":
869 set {muted::%{_p}%} to true
870 else:
871 set {muted::%{_p}%} to false
872
873function getPlayerdata(p: offline player , f: text) :: string:
874 set {_uuid} to uuid of {_p}
875 if {mineplex.mode} is "file":
876 set {_get} to value "%{_f}%" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
877 return {_get}
878 else if {mineplex.mode} is "sql":
879 set {_get} to first element out of objects in column "%{_f}%" from result of query "SELECT %{_f}% FROM `accounts` WHERE uuid = '%{_uuid}%'"
880 return {_get}
881
882function setPlayerdata(p: offline player , f: text , v: text) :: boolean:
883 set {_uuid} to uuid of {_p}
884 if {mineplex.mode} is "file":
885 set "%{_f}%" to "%{_v}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
886 return true
887 playerdata({_p})
888 else if {mineplex.mode} is "sql":
889 if {_f} starts with "stats":
890 stop
891 update "UPDATE `accounts` SET `%{_f}%` = '%{_v}%' WHERE uuid = '%{_uuid}%'"
892 return true
893 set {_s} to getPlayerdata({_p}, "shards")
894 set {_g} to getPlayerdata({_p}, "gems")
895 broadcast "shard: %{_s}% -gem: %{_g}%"
896 playerdata({_p})
897
898function addShards(p: offline player , a: number) :: boolean:
899 set {_uuid} to uuid of {_p}
900 if {mineplex.mode} is "file":
901 set {_get} to getPlayerdata({_p}, "shards")
902 set {_cur} to {_get} parsed as a number
903 add {_a} to {_cur}
904 setPlayerdata({_p}, "shards", "%{_cur}%")
905 else if {mineplex.mode} is "sql":
906 set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
907 add {_a} to {_get}
908 setPlayerdata({_p}, "shards", "%{_get}%")
909
910function delShards(p: offline player , a: number) :: boolean:
911 set {_uuid} to uuid of {_p}
912 if {mineplex.mode} is "file":
913 set {_get} to getPlayerdata({_p}, "shards")
914 set {_cur} to {_get} parsed as a number
915 remove {_a} from {_cur}
916 setPlayerdata({_p}, "shards", "%{_cur}%")
917 else if {mineplex.mode} is "sql":
918 set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
919 remove {_a} from {_get}
920 setPlayerdata({_p}, "shards", "%{_get}%")
921
922function addGems(p: offline player , a: number) :: boolean:
923 set {_uuid} to uuid of {_p}
924 if {mineplex.mode} is "file":
925 set {_get} to getPlayerdata({_p}, "gems")
926 set {_cur} to {_get} parsed as a number
927 add {_a} to {_cur}
928 setPlayerdata({_p}, "gems", "%{_cur}%")
929 else if {mineplex.mode} is "sql":
930 set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
931 add {_a} to {_get}
932 setPlayerdata({_p}, "gems", "%{_get}%")
933
934function delGems(p: offline player , a: number) :: boolean:
935 set {_uuid} to uuid of {_p}
936 if {mineplex.mode} is "file":
937 set {_get} to getPlayerdata({_p}, "gems")
938 set {_cur} to {_get} parsed as a number
939 remove {_a} from {_cur}
940 setPlayerdata({_p}, "gems", "%{_cur}%")
941 else if {mineplex.mode} is "sql":
942 set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
943 remove {_a} from {_get}
944 setPlayerdata({_p}, "gems", "%{_get}%")
945
946function firework(l: location, t: string, r: integer, g: integer, b: integer, p: boolean) :: string:
947 if {_p} is true:
948 set {_p} to 1
949 else:
950 set {_p} to 20
951 if {_t} is not "BALL" or "LARGE BALL" or "BALL_LARGE" or "STAR" or "CREEPER" or "BURST":
952 message "&8[&3Firework&bAPI&8] &4Error: &c%{_t}% &7is not a valid firework type." to all players
953 stop
954 if {_r} or {_g} or {_b} > 255:
955 message "&8[&3Firework&bAPI&8] &4Error: &cUnallowed Value (>255)" to all players
956 stop
957 if {_t} is "BALL":
958 set {_t} to 0
959 else if {_t} is "LARGE BALL" or "BALL_LARGE":
960 set {_t} to 1
961 else if {_t} is "STAR":
962 set {_t} to 2
963 else if {_t} is "CREEPER":
964 set {_t} to 3
965 else if {_t} is "BURST":
966 set {_t} to 4
967 #RGB CONVERT
968 set {_c1} to convert num {_r} to hexa
969 set {_c2} to convert num {_g} to hexa
970 set {_c3} to convert num {_b} to hexa
971 loop 3 times:
972 set {_cL} to length of {_c%loop-value%}
973 if {_cL} < 2:
974 set {_c%loop-value%} to "0%{_c%loop-value%}%"
975 set {_color} to convert hexa "%{_c1}%%{_c2}%%{_c3}%" to num
976 spawn a firework at {_l}
977 add "{Silent:1b,FireworksItem:{id:fireworks,Count:1,tag:{Fireworks:{Explosions:[{Type:%{_t}%,Colors:[%{_color}%],FadeColors:[%{_color}%]}]}}}}" to nbt of spawned entity
978 add "{LifeTime:%{_p}%}" to nbt of spawned entity
979
980on quit:
981 delete {mineplex.rank.%player%}
982 delete {mineplex.level.%player%}
983 delete {mineplex.gems.%player%}
984 delete {mineplex.shards.%player%}
985 delete {banned::%player%}
986 delete {muted::%player%}
987
988on connect:
989 set {_uuid} to uuid of {_p}
990 playerdata(player)
991 send "§9MCR> §e%player% (%uuid of player%) has been loaded from playerdata!" to the console
992
993function Beam(e1: entity , e2: entity):
994 spawn a squid at location 0 meter behind {_e1}'s head
995 set {_el} to last spawned entity
996 set target of {_el} to {_e2}
997 apply invisibility to the last spawned entity
998 add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1, NoAI:1}" to nbt of last spawned entity
999 set {_targLoc} to location of {_e2}
1000
1001 loop 100 times:
1002 teleport {_el} to location 0 meter behind {_e1}'s head
1003 set target of {_el} to {_e2}
1004 add "{Motion:[0.0,0.0,0.0]}" to nbt of {_el}
1005 if {_e2}'s name is "BeamCow":
1006 teleport {_e2} to {_targLoc}
1007 add "{Motion:[0.0,0.0,0.0]}" to nbt of {_e2}
1008 wait 1 tick
1009
1010 create a safe explosion with force 2 at {_e1}
1011 loop entities in radius 3 of {_e2}:
1012 make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_e2}))
1013 teleport {_el} 300 meters below {_el}
1014 teleport {_e2} 300 meters below {_e2}
1015 kill {_el}
1016 kill {_e2}
1017
1018function ClientBeam(e1: entity , e3: entity , e2: entity):
1019 spawn a cow at location of {_e2}
1020 set {_c} to last spawned entity
1021 add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
1022 spawn a guardian at location 1 meter behind {_e1}'s head
1023 set {_el} to last spawned entity
1024 set target of {_el} to {_e2}
1025 loop all players:
1026 protocol hide {_e1} from loop-player
1027 protocol hide {_e2} from loop-player
1028 protocol show {_e1} to {_e3}
1029 protocol show {_e2} to {_e3}
1030 apply invisibility to {_c}
1031 apply invisibility to the last spawned entity
1032 add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1}" to nbt of last spawned entity
1033 set {_targLoc} to location of {_e2}
1034
1035 loop 100 times:
1036 teleport {_el} to location 1 meter behind {_e1}'s head
1037 add "{Motion:[0.0,0.0,0.0]}" to nbt of {_el}
1038 if {_e2}'s name is "BeamCow":
1039 teleport {_e2} to {_targLoc}
1040 add "{Motion:[0.0,0.0,0.0]}" to nbt of {_e2}
1041 wait 1 tick
1042
1043 create a safe explosion with force 2 at {_e2}
1044 loop entities in radius 3 of {_c}:
1045 make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_c}))
1046 teleport {_el} 300 meters below {_el}
1047 teleport {_e2} 300 meters below {_e2}
1048 kill {_el}
1049 kill {_c}
1050
1051function configRefresh(n: number) :: number:
1052 set {mineplex.config.config} to value "config" get of "plugins/Mineplex-Core-Remake/config.yml"
1053 set {mineplex.config.servername} to value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
1054 set {mineplex.config.website} to value "website" get of "plugins/Mineplex-Core-Remake/config.yml"
1055 set {mineplex.config.appealwebsite} to value "appealwebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
1056 set {mineplex.config.ruleswebsite} to value "ruleswebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
1057 set {mineplex.config.youtube} to value "youtube" get of "plugins/Mineplex-Core-Remake/config.yml"
1058 set {mineplex.config.twitter} to value "twitter" get of "plugins/Mineplex-Core-Remake/config.yml"
1059 set {mineplex.config.shoplink} to value "shoplink" get of "plugins/Mineplex-Core-Remake/config.yml"
1060 set {mineplex.config.world} to value "worldname" get of "plugins/Mineplex-Core-Remake/config.yml"
1061 set {mineplex.config.doublejump} to value "doublejump" get of "plugins/Mineplex-Core-Remake/config.yml"
1062 set {mineplex.config.autoop} to value "autoop" get of "plugins/Mineplex-Core-Remake/config.yml"
1063 set {mineplex.config.unbanadmin} to value "unbanadmin" get of "plugins/Mineplex-Core-Remake/config.yml"
1064
1065function configPopulate(n: number) :: number:
1066 create file "plugins/Mineplex-Core-Remake/config.yml"
1067 set "config" to "{@configver}" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1068 set "servername" to "Mineplex" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1069 set "website" to "www.mineplex.com" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1070 set "appealwebsite" to "www.mineplex.com/appeals" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1071 set "ruleswebsite" to "www.mineplex.com/rules" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1072 set "youtube" to "http://youtube.com/mineplexgamesofficial" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1073 set "twitter" to "http://twitter.com/mineplex" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1074 set "shoplink" to "www.mineplex.com/shop" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1075 set "worldname" to "world" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1076 set "doublejump" to "true" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1077 set "autoop" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1078 set "unbanadmin" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
1079
1080function updateRankAPI(p: player) :: player:
1081 wait 5 ticks
1082 if {mineplex.rank.%{_p}%} is not set:
1083 set {mineplex.rank.%{_p}%} to ""
1084 if {mineplex.disguise.%{_p}%} is set:
1085 set {_br} to uncolored {mineplex.rank.%{_p}%}
1086 set {_dr} to uncolored {mineplex.rank.%{mineplex.disguise.%{_p}%}%}
1087 if {mineplex.rank.%{mineplex.disguise.%{_p}%}%} is set:
1088 make all players see {_p}'s prefix as "%{mineplex.rank.%{mineplex.disguise.%{_p}%}%}%&r&e"
1089 else:
1090 make all players see {_p}'s prefix as "&e"
1091 set {_br} to convert string "%{_br}%" to lowercase
1092 set {_br} to 1st char in each word of "%{_br}%" to caps
1093 set {_dr} to convert string "%{_dr}%" to lowercase
1094 set {_dr} to 1st char in each word of "%{_dr}%" to caps
1095 replace all " " in {_br} with ""
1096 replace all " " in {_dr} with ""
1097 if {_dr} is "":
1098 set {_dr} to "No Rank"
1099 if {_br} contains "mod":
1100 replace all "mod" with "Mod" in {_br}
1101 if {_dr} contains "mod":
1102 replace all "mod" with "Mod" in {_dr}
1103 if {_br} contains "dev":
1104 replace all "dev" with "Dev" in {_br}
1105 if {_dr} contains "dev":
1106 replace all "dev" with "Dev" in {_dr}
1107 if {_dr} contains "lead":
1108 replace all "lead" with "Lead" in {_dr}
1109 if {_br} contains "lead":
1110 replace all "lead" with "Lead" in {_br}
1111 if {_br} is "":
1112 set {_br} to "No Rank"
1113 if {_br} contains "mod":
1114 replace all "mod" with "Mod" in {_br}
1115 if {_br} contains "dev":
1116 replace all "dev" with "Dev" in {_br}
1117 if {_br} contains "mod":
1118 replace all "mod" with "Mod" in {_br}
1119 if {_br} contains "tube":
1120 replace all "tube" with "Tube" in {_br}
1121 loop {mineplex.patreon::*}:
1122 if loop-value is "%{_p}%":
1123 set {_br} to "P.%{_br}%"
1124 set {mineplex.api.displayrank.%{_p}%} to "%{_dr}% (%{_br}%)"
1125 set {mineplex.api.displayname.%{_p}%} to "%{mineplex.disguise.%{_p}%}%"
1126 set {mineplex.sb.anim.%{_p}%} to " Welcome %{mineplex.api.displayname.%{_p}%}%, to the %{mineplex.config.servername}% Network! "
1127 else:
1128 set {_br} to uncolored {mineplex.rank.%{_p}%}
1129 if {mineplex.rank.%{_p}%} is set:
1130 make all players see {_p}'s prefix as "%{mineplex.rank.%{_p}%}%&r&e"
1131 else:
1132 make all players see {_p}'s prefix as "&e"
1133 set {_br} to convert string "%{_br}%" to lowercase
1134 set {_br} to 1st char in each word of "%{_br}%" to caps
1135 if {_br} is "":
1136 set {_br} to "No Rank"
1137 if {_br} contains "mod":
1138 replace all "mod" with "Mod" in {_br}
1139 if {_br} contains "dev":
1140 replace all "dev" with "Dev" in {_br}
1141 if {_br} contains "mod":
1142 replace all "mod" with "Mod" in {_br}
1143 if {_br} contains "tube":
1144 replace all "tube" with "Tube" in {_br}
1145 if {_br} contains "lead":
1146 replace all "lead" with "Lead" in {_br}
1147 if {_br} contains "dev":
1148 replace all "dev" with "Dev" in {_br}
1149 loop {mineplex.patreon::*}:
1150 if loop-value is "%{_p}%":
1151 set {_br} to "P.%{_br}%"
1152 set {mineplex.api.displayrank.%{_p}%} to "%{_br}%"
1153 set {mineplex.api.displayname.%{_p}%} to "%{_p}%"
1154 set {mineplex.sb.anim.%{_p}%} to " Welcome %{mineplex.api.displayname.%{_p}%}%, to the %{mineplex.config.servername}% Network! "
1155
1156function mcs(p: player , m: text) :: number:
1157 if {mineplex.overridechat} is true:
1158 if {mineplex.disguise.%{_p}%} is set:
1159 set {_player} to {mineplex.disguise.%{_p}%}
1160 else:
1161 set {_player} to {_p}
1162 set {_prerank} to getPlayerdata({_player}, "rank")
1163 set {_rank} to parseRankRaw({_prerank})
1164 if {_rank} is not set:
1165 set {_rank} to ""
1166 if {_rank} is "null":
1167 set {_rank} to ""
1168 if {mineplex.level.%{_player}%} is not set:
1169 set {mineplex.level.%{_player}%} to "&70"
1170 replace all " fuck " with " **** " in {_m}
1171 replace all " bitch " with " ***** " in {_m}
1172 replace all " ass " with " *** " in {_m}
1173 replace all " nigger " with " *** " in {_m}
1174 replace all " cunt " with " *** " in {_m}
1175 replace all " f|_|ck " with " ****** " in {_m}
1176 replace all " shit " with " **** " in {_m}
1177 if {_m} is {mineplex.lastsent.%{_p}%}:
1178 if {_p} does not have permission "mineplex.mod":
1179 send "&9Chat> &7This message is too similar to your previous message." to {_p}
1180 return -1
1181 stop
1182 if {mineplex.authlock.%{_p}%} is true:
1183 return -1
1184 stop
1185 set {mineplex.lastsent.%{_p}%} to {_m}
1186 loop all players:
1187 if {mineplex.pref.pc.%loop-player%} is true:
1188 if {mineplex.rank.%{_player}%} is set:
1189 set {_lvl} to {mineplex.level.%{_player}%}
1190 if {_player} is "EternalKnowedge":
1191 set {_lvl} to "&c101"
1192 loop {mineplex.ignorelist.%loop-player%::*}:
1193 if loop-value-2 is "%{_player}%":
1194 set {_ignore.%loop-player-1%} to true
1195 if {_ignore.%loop-player-1%} is not set:
1196 if {mineplex.rank.%{_player}%} is not "":
1197 set {_sanitizedm} to uncolored {_m}
1198 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
1199 if loop-value-2 is {_player}:
1200 set {_brank} to uncolored {mineplex.rank.%{_player}%}
1201 set {_rank} to "&6&lP.%{_brank}%"
1202 else:
1203 set {_rank} to {mineplex.rank.%{_player}%}
1204 mcrjson("%loop-player%", "%{_lvl}%|| %{_rank}%||ttp:%{mineplex.hover.%{_player}%}%||&e%{_player}% &f%{_sanitizedm}%", false)
1205 else:
1206 send "%{_lvl}% %{mineplex.rank.%{_player}%}%&e%{_player}% &f%{_m}%" to loop-player
1207 return -1
1208 else:
1209 stop
1210
1211function caseSensitive(source: String, compareTo: String) :: boolean:
1212 if size of split {_source} at {_compareTo} is 2:
1213 return true
1214 else: #Hi Snow
1215 return false
1216
1217function gwenAlert(p: player , r: text) :: number:
1218 if {mineplex.disguise.%{_p}%} is set:
1219 set {_player} to {mineplex.disguise.%{_p}%}
1220 else:
1221 set {_player} to {_p}
1222 loop all players:
1223 if loop-player has permission "mineplex.trainee":
1224 if {mineplex.pref.gwen.%loop-player%} is true:
1225 send "&b&kK&r &c&lGWEN > &6%{_player}% &esuspected of &a%{_r}%&e." to loop-player
1226
1227#Config Loading
1228
1229on script unload:
1230 broadcast "&9MCR> &7Mineplex Core is re-parsing!"
1231
1232on load:
1233 if file "plugins/Mineplex-Core-Remake/config.yml" doesn't exists:
1234 configPopulate(1)
1235# set {mineplex.config.servername} to colored value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
1236 configRefresh(1)
1237 wait 1 second
1238 if {mineplex.config.config} is "{@configver}":
1239 broadcast "&9MCR> &7Config &e{@configver} &7is up to date!"
1240 else:
1241 broadcast "&9Mineplex Core> &7Your Config is not up to Date! Updating this shit for you!"
1242 configPopulate(1)
1243 broadcast "&9Mineplex Core> &7Config Re-Populated!"
1244 broadcast "&9Mineplex Core> &7Going to reload plugin now!"
1245 broadcast "&9Mineplex Core> &7Going to reload plugin now!"
1246 wait 1 second
1247 configRefresh(1)
1248 broadcast "&9Mineplex Core> &7Config Done!"
1249 if {mineplex.usescoreboard} is not set:
1250 set {mineplex.usescoreboard} to true
1251
1252#Main Command/Toggles
1253command /mineplex-core [<string>] [<string>] [<string>]:
1254 aliases: /mpcore
1255 permission: op
1256 permission message: &9Permissions> &7You do not have permission to do that.
1257 trigger:
1258 if arg-1 is not set:
1259 send "&a"
1260 send "&9Core Settings> &7Listing Commands:"
1261 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1262 send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
1263 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1264 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1265 send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
1266 send "&4/Mineplex-Core TreasurePointSub (1/2/3/4) (1/2/3/4/5/6/7/8) &7Sets the Opening Treasure point to your targeted block. &4Operator"
1267 send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
1268 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1269 send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
1270 send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
1271 send "&a"
1272 else if arg-1 is set:
1273 if arg-1 is "help":
1274 send "&a"
1275 send "&9Core Settings> &7Listing Commands:"
1276 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1277 send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
1278 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1279 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1280 send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
1281 send "&4/Mineplex-Core TreasurePointSub (1/2/3/4) (1/2/3/4/5/6/7/8) &7Sets the Opening Treasure point to your targeted block. &4Operator"
1282 send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
1283 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1284 send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
1285 send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
1286 send "&a"
1287 else if arg-1 is "Chat":
1288 if arg-2 is not set:
1289 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1290 else if arg-2 is set:
1291 if arg-2 is "true":
1292 set {mineplex.overridechat} to true
1293 send "&9Core Settings> &7Now using the Mineplex Chat System (MCS)."
1294 else if arg-2 is "false":
1295 set {mineplex.overridechat} to false
1296 send "&9Core Settings> &7No longer using the Mineplex Chat System (MCS)."
1297 else:
1298 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1299 else:
1300 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1301 else if arg-1 is "Scoreboard":
1302 if arg-2 is not set:
1303 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1304 else if arg-2 is set:
1305 if arg-2 is "true":
1306 set {mineplex.usescoreboard} to true
1307 send "&9Core Settings> &7Now using the Mineplex Scoreboard System."
1308 else if arg-2 is "false":
1309 set {mineplex.usescoreboard} to false
1310 send "&9Core Settings> &7No longer using the Mineplex Scoreboard System."
1311 else:
1312 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1313 else:
1314 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1315 else if arg-1 is "ForcefieldOff":
1316 if arg-2 is not set:
1317 send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
1318 else:
1319 delete {mineplex.pref.ff.%arg-2%}
1320 delete {mineplex.ff.list::%arg-2%}
1321 send "&9MCR> &7Done!"
1322 else if arg-1 is "News":
1323 if arg-2 is not set:
1324 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1325 else if arg-2 is set:
1326 if arg-2 is "true":
1327 set {mineplex.news.allow} to true
1328 send "&9Core Settings> &7Now using the Mineplex News System."
1329 else if arg-2 is "false":
1330 set {mineplex.news.allow} to false
1331 send "&9Core Settings> &7No longer using the Mineplex News System."
1332 else:
1333 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1334 else:
1335 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1336 else if arg-1 is "TNT":
1337 if arg-2 is not set:
1338 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1339 else if arg-2 is set:
1340 if arg-2 is "true":
1341 set {mineplex.tntlauncher} to true
1342 send "&9Core Settings> &7Now using the Throwing TNT Mechanics."
1343 else if arg-2 is "false":
1344 set {mineplex.tntlauncher} to false
1345 send "&9Core Settings> &7No longer using the Throwing TNT Mechanics."
1346 else:
1347 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1348 else:
1349 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1350 else if arg-1 is "purgehistory":
1351 if arg 2 is not set:
1352 send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
1353 else:
1354 send "&9MCR> &7Purged %arg-2%'s history"
1355 delete {p.%arg-2%::*}
1356 delete {punishgui.%arg-2%::*}
1357 delete {reversed.p.%arg-2%::history::*}
1358 delete {reversed.p.%arg-2%::*}
1359 else if arg-1 is "reload":
1360 configRefresh(1)
1361 send "&9Core Settings> &7The main configuration file has been refreshed."
1362 else if arg-1 is "Carl":
1363 spawn 1 creeper at location of player
1364 set {_carl} to spawned creeper
1365 set name of last spawned entity to "&a&lCarl the Creeper"
1366 add "{NoAI:1b}" to nbt of {_carl}
1367 add "{powered:1}" to nbt of {_carl}
1368 apply slowness 255 to last spawned entity for 999 days
1369 set {kitnpc} to location of player
1370 send "&9Core Settings> &7Carl has been spawned in a fixed position at your current location."
1371 else if arg-1 is "admin":
1372 if arg-2 is set:
1373 set {mineplex.rank.%arg-2%} to "&4&lADMIN "
1374 set {_mineplex.setadmin.temp} to arg-2 parsed as player
1375 execute console command "/__mp__dp__ %arg-2%"
1376 add "mineplex.trainee" to {_mineplex.setadmin.temp}'s permissions
1377 add "mineplex.mod" to {_mineplex.setadmin.temp}'s permissions
1378 add "mineplex.srmod" to {_mineplex.setadmin.temp}'s permissions
1379 add "mineplex.admin" to {_mineplex.setadmin.temp}'s permissions
1380 add "mineplex.legend" to {_mineplex.setadmin.temp}'s permissions
1381 add "mineplex.builder" to {_mineplex.setadmin.temp}'s permissions
1382 updateRankAPI({_mineplex.setadmin.temp})
1383 send "&9Core Settings> &7Temporarily added Admin permissions to %arg-2%."
1384 else:
1385 send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
1386 else if arg-1 is "TreasurePoint":
1387 if arg-2 is "1" or "2" or "3" or "4":
1388 set {mineplex.chestpoint.%arg-2%} to target block
1389 send "&9Core Settings> &7Treasure Point %arg-2% has been set to your targeted block."
1390 else:
1391 send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
1392 else if arg-1 is "TreasurePointSub":
1393 if arg-2 is "1" or "2" or "3" or "4":
1394 if arg-3 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8":
1395 set {mineplex.chestpoint.%arg-2%.sub.%arg-3%} to target block
1396 send "&9Core Settings> &7Treasure Point Sub %arg-3% of Treasure Point %arg-2% has been set to your targeted block."
1397 else:
1398 send "&4/Mineplex-Core TreasurePointSub (1/2/3/4) (1/2/3/4/5/6/7/8) &7Sets the Opening Treasure point to your targeted block. &4Operator"
1399 else:
1400 send "&4/Mineplex-Core TreasurePointSub (1/2/3/4) (1/2/3/4/5/6/7/8) &7Sets the Opening Treasure point to your targeted block. &4Operator"
1401 else:
1402 send "&a"
1403 send "&9Core Settings> &7Listing Commands:"
1404 send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
1405 send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
1406 send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
1407 send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
1408 send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
1409 send "&4/Mineplex-Core TreasurePointSub (1/2/3/4) (1/2/3/4/5/6/7/8) &7Sets the Opening Treasure point to your targeted block. &4Operator"
1410 send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
1411 send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
1412 send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
1413 send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
1414 send "&a"
1415
1416command /help [<string>]:
1417 aliases: /pleasehelpmeiamgoingtoexplode, /?
1418 trigger:
1419 send "&9Help> &7Hi there! Need some help?"
1420 mcrjson("%player%", "&9> &7Check out ||&eour FAQ for commonly asked questions||ttp:&eClick to visit our FAQ page!||url:%{mineplex.config.website}%/faq")
1421 mcrjson("%player%", "&9> &7Read ||&eour rules to avoid being punished!||ttp:&eClick to visit our rules page!||url:%{mineplex.config.website}%/rules")
1422 mcrjson("%player%", "&9> &7Want to apply for Trainee? Visit ||&eapply.%{mineplex.config.website}%||ttp:&3Click to visit our forums to learn about Trainee!||url:apply.%{mineplex.config.website}%||&7!")
1423 mcrjson("%player%", "&9> &7Question about a purchase? Contact support at ||&e%{mineplex.config.website}%/support||ttp:&eClick to visit our support page!||url:%{mineplex.config.website}%/support||&7!")
1424 mcrjson("%player%", "&9> &7Find us on twitter at ||&b@%capitalize first char of each word in last element of {mineplex.config.twitter} split at ""/""%||ttp:&bClick to visit our twitter!||url:%{mineplex.config.twitter}%")
1425 mcrjson("%player%", "&9> &7Need help with MCR Commands? ||&eView the MCR Wiki for a list of commands||ttp:&eClick to visit the MCR wiki!||url:https://github.com/MPlexCore/Mineplex-Core/wiki/Commands-and-Permissions||&7!")
1426
1427command /recompile [<string>]:
1428 aliases: /rec
1429 permission: op
1430 permission message: &9Permissions> &7You do not have permission to do that.
1431 trigger:
1432 if arg 1 is not set:
1433 broadcast "&9MCR> &7Mineplex Core &e{@MCRVER} &7will be re-parsing in two seconds."
1434 wait 2 second
1435 player command "/sk reload Mineplex"
1436 else:
1437 if arg 1 is "-s":
1438 broadcast "&9MCR> &7Mineplex Core will be re-parsing in two seconds. (Silent)"
1439 execute console command "/sk reload Mineplex"
1440
1441#Thanks XeXRainnn
1442
1443on quit:
1444 delete {mineplex.%player%.notice}
1445
1446command /bugreport [<string>]:
1447 trigger:
1448 if arg 1 is not set:
1449 send "&9MCR> &7Commands List:"
1450 send "&f/bugreport <bug> &7Reports a bug to the MCR Developers &fPlayer"
1451 else:
1452 if {mineplex.%player%.notice} is not set:
1453 send "&9MCR> &7Abuse of this system will result in a blacklist of this feature! If you are sure about reporting this, repeat the command."
1454 set {mineplex.%player%.notice} to true
1455 stop
1456 set {_pl} to "%list of plugins%"
1457 replace all " and " with ",+" in {_pl}
1458 replace all " " with "" in {_pl}
1459 replace all ", " with ",++" in {_pl}
1460 set {_ra} to arg-1
1461 replace all "`" with "" in {_ra}
1462 replace all "*" with "" in {_ra}
1463 replace all " " with "%%20" in {_ra}
1464 set {_mc} to minecraft version
1465 set {_sk} to skript version
1466 set {_bk} to bukkit version
1467 set {_mcr} to "{@MCRVER}"
1468 set {_url} to uncolored "http://mpcore.us/mcr/bugreport.php?plugins=%{_pl}%&&rmcver=%{_mc}%&&rskver=%{_sk}%&&rbukkit=%{_bk}%&&rplayer=%player%&&rbug=%{_ra}%&&rmcrver=%{_mcr}%"
1469 $ thread
1470 set {_response::*} to contents from url {_url}
1471 send "&9MCR> &7Please Wait!"
1472 wait 5 seconds
1473 if {_response::1} is "600":
1474 send "&9MCR> &7Bug Report was &eSuccessful&7!"
1475 else if {_response::1} contains "602":
1476 set {_thing} to {_response::1}
1477 replace all "602 " with "" in {_thing}
1478 send "&9MCR> &7Bug Report was marked as &eInvalid&7!"
1479 send "&9MCR> &7Bug Report returned the error: &e%{_thing}%&7!"
1480 else if {_response::1} contains "603":
1481 set {_thing} to {_response::1}
1482 replace all "603 " with "" in {_thing}
1483 send "&9MCR> &c&lYou are blacklisted from the bug report system!"
1484 send "&9MCR> &7&lReason: &7%{_thing}%"
1485 else if {_response::1} contains "604":
1486 set {_thing} to {_response::1}
1487 replace all "604 " with "" in {_thing}
1488 send "&9MCR> &7Bug Report returned a diffrent response: &e%{_thing}%"
1489 else if {_response::1} is not set:
1490 send "&9MCR> &7The bug report was malformed and we did not get a response!"
1491
1492command /rules:
1493 trigger:
1494 send "&9Rules> &7The rules can be found here: &a%{mineplex.config.ruleswebsite}%"
1495
1496#CarlBae
1497
1498on load:
1499 if {poll.id.last} is not set:
1500 set {poll.id.last} to 0
1501
1502on join:
1503 set {_player} to "%player%"
1504 replace all "s" in {_player} with "sssss"
1505 send "&2&lCarl the Creeper> &aHey %{_player}%! I have sssome amazing rewardsss for you! Come sssee me!"
1506 if {mineplex.tickets.%player%} is not set:
1507 set {mineplex.tickets.%player%} to 0
1508 if {mineplex.polltaken.0.%player%} is not set:
1509 set {mineplex.polltaken.0.%player%} to true
1510 if {mineplex.thankrewards.%player%} is not set:
1511 set {mineplex.thankrewards.%player%} to 0
1512
1513command /thank [<offline player>]:
1514 trigger:
1515 if arg 1 is set:
1516 if arg 1 is player:
1517 send "&9Thank> &7You cannot thank yourself!"
1518 else:
1519 if arg 1 is online:
1520 if {mineplex.thank.last.%player%} is not set:
1521 set {_good} to true
1522 else:
1523 set {_t} to difference between {mineplex.thank.last.%player%} and now
1524 set {_tc} to "24 hours" parsed as a timespan
1525 if {_t} is more than {_tc}:
1526 set {_good} to true
1527 if {_good} is true:
1528 send "&9Thank> &7You thanked &e%arg-1% &7and earned &b5 Treasure Shards&7!"
1529 send "&9Thank> &e%player% &7used &e/thank &7on you! +&b5 Treasure Shards&7!%nl%&9Thank> &7You can claim your reward at &eCarl the Creeper" to arg-1
1530 addShards(player, 5)
1531 add 5 to {mineplex.thankrewards.%arg-1%}
1532 set {mineplex.thank.last.%player%} to now
1533 else:
1534 send "&9Thank> &7You can only /thank once per day!"
1535 stop
1536 else:
1537 send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
1538 else:
1539 send "&9Thank> &7Usage: &e/thank <player>"
1540
1541function carlSpinNew(p: player) :: text:
1542 open chest with 3 rows named "&8Carl's Spinner" to {_p}
1543 loop (random integer between 5 and 10) times:
1544 add prismarine shard named "&bTreasure Shards" to {_roll::*}
1545 loop (random integer between 5 and 22) times:
1546 add emerald named "&fGems" to {_roll::*}
1547 loop (random integer between 1 and 10) times:
1548 add firework rocket named "&fFireworks" to {_roll::*}
1549 loop (random integer between 1 and 10) times:
1550 add ender pearl named "&fEthereal Pearls" to {_roll::*}
1551 loop (random integer between 1 and 10) times:
1552 add tripwire hook named "&fFlesh Hooks" to {_roll::*}
1553 loop (random integer between 1 and 10) times:
1554 add iron horse armor named "&fBat Blasters" to {_roll::*}
1555 loop (random integer between 1 and 10) times:
1556 add gold horse armor named "&fPaintball Guns" to {_roll::*}
1557 add leather named "&dCow Morph" to {_roll::*}
1558 add nether star named "&cTitan Rank" to {_roll::*}
1559 set {_speedFinal} to 3
1560 set {_Selector1} to 4
1561 loop (random integer between 31 and 60) times:
1562 if inventory name of {_p}'s current inventory is not "&8Carl's Spinner":
1563 stop
1564 set {_sel} to 21
1565 loop {_sel} times:
1566 set {_sel2} to {_sel} - 1
1567 set {_item::%{_sel}%} to {_item::%{_sel2}%}
1568 subtract 1 from {_sel}
1569 set {_item::1} to a random element out of {_roll::*}
1570 loop integers between 0 and inventory size of {_p}'s current inventory - 1:
1571 if loop-number-2 is {_Selector1}:
1572 set slot loop-number-2 of {_p}'s current inventory to hopper named " "
1573 loop 9 times:
1574 set slot 8 + loop-number-3 of {_p}'s current inventory to {_item::%loop-number-3%}
1575 set slot loop-number-2 of {_p}'s current inventory to gray stained glass pane named " "
1576 if "%{_item::%loop-number-3%}%" is "prismarine shard":
1577 set slot 17 + loop-number-3 of {_p}'s current inventory to light blue stained glass pane named " "
1578 set slot -1 + loop-number-3 of {_p}'s current inventory to light blue stained glass pane named " "
1579 if "%{_item::%loop-number-3%}%" is "nether star":
1580 set slot 17 + loop-number-3 of {_p}'s current inventory to red stained glass pane named " "
1581 set slot -1 + loop-number-3 of {_p}'s current inventory to red stained glass pane named " "
1582 if "%{_item::%loop-number-3%}%" is "leather":
1583 set slot 17 + loop-number-3 of {_p}'s current inventory to magenta stained glass pane named " "
1584 set slot -1 + loop-number-3 of {_p}'s current inventory to magenta stained glass pane named " "
1585 set slot 4 of {_p}'s current inventory to hopper named " "
1586 add 1 to {_sound}
1587 if {_sound} > 3:
1588 set {_sound} to 1
1589 if {_sound} = 1:
1590 play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
1591 else if {_sound} = 2:
1592 play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
1593 else if {_sound} = 3:
1594 play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
1595 add 1 to {_speed}
1596 if {_speed} is 5:
1597 set {_speed} to 0
1598 add 1 to {_speedFinal}
1599 loop {_speedFinal} times:
1600 wait a tick
1601 set {_wonItem} to slot 13 of {_p}'s current inventory
1602 set {_slotFill} to gray stained glass pane with name " "
1603 if {_wonItem} is a emerald:
1604 set {_add} to random integer between 5 and 20
1605 addGems({_p}, {_add})
1606 message "&9Carl's Spinner> &7You won &f%{_add}% Gems" to {_p}
1607 if {_wonItem} is a ender pearl:
1608 set {_add} to random integer between 5 and 20
1609 add {_add} to {mineplex.cosmetics.pearls.%{_p}%}
1610 message "&9Carl's Spinner> &7You won &f%{_add}% Ethereal Pearls" to {_p}
1611 if {_wonItem} is a firework rocket:
1612 set {_add} to random integer between 5 and 20
1613 add {_add} to {mineplex.cosmetics.firework.%{_p}%}
1614 message "&9Carl's Spinner> &7You won &f%{_add}% Fireworks" to {_p}
1615 if {_wonItem} is a iron horse armor:
1616 set {_add} to random integer between 5 and 20
1617 add {_add} to {mineplex.cosmetics.blaster.%{_p}%}
1618 message "&9Carl's Spinner> &7You won &f%{_add}% Bat Blasters" to {_p}
1619 if {_wonItem} is a gold horse armor:
1620 set {_add} to random integer between 5 and 20
1621 add {_add} to {mineplex.cosmetics.paintball.%{_p}%}
1622 message "&9Carl's Spinner> &7You won &f%{_add}% Paintball Guns" to {_p}
1623 if {_wonItem} is a tripwire hook:
1624 set {_add} to random integer between 5 and 20
1625 add {_add} to {mineplex.cosmetics.hook.%{_p}%}
1626 message "&9Carl's Spinner> &7You won &f%{_add}% Flesh Hooks" to {_p}
1627 if {_wonItem} is a prismarine shard:
1628 set {_add} to random integer between 5 and 20
1629 addShards({_p}, {_add})
1630 message "&9Carl's Spinner> &7You won &b%{_add}% Shards" to {_p}
1631 set {_slotFill} to light blue stained glass pane with name " "
1632 if {_wonItem} is leather:
1633 message "&9Carl's Spinner> &7You won &dCow Morph" to {_p}
1634 set {_slotFill} to magenta stained glass pane with name " "
1635 if {_wonItem} is nether star:
1636 message "&9Carl's Spinner> &7You won &cTitan Rank" to {_p}
1637 set {_slotFill} to red stained glass pane with name " "
1638 execute console command "/rank %{_p}% TITAN"
1639 set {_slot} to 5
1640 loop 5 times:
1641 if inventory name of {_p}'s current inventory is not "&8Carl's Spinner":
1642 stop
1643 set slot 17 + {_slot} of {_p}'s current inventory to {_slotFill}
1644 set slot -1 + {_slot} of {_p}'s current inventory to {_slotFill}
1645 set slot 8 + {_slot} of {_p}'s current inventory to {_slotFill}
1646 set slot 9 - {_slot} of {_p}'s current inventory to {_slotFill}
1647 set slot 18 - {_slot} of {_p}'s current inventory to {_slotFill}
1648 set slot 27 - {_slot} of {_p}'s current inventory to {_slotFill}
1649 set slot 13 of {_p}'s current inventory to {_wonItem}
1650 remove 1 from {_slot}
1651 wait 1 second
1652
1653function reqSpin(p: player) :: text:
1654 if {mineplex.tickets.%{_p}%} is bigger than 0:
1655 wait 2 ticks
1656 carlSpinNew({_p})
1657 remove 1 from {mineplex.tickets.%{_p}%}
1658 else:
1659 message "&9Carl's Spinner> &7A Unknown Error has occured." to {_p}
1660
1661function carlSpin(p: player) :: number:
1662 if {mineplex.tickets.%{_p}%} >= 1:
1663 remove 1 from {mineplex.tickets.%{_p}%}
1664 wait 5 ticks
1665 open chest with 3 rows named "Carl's Spinner" to {_p}
1666 set {opener.%{_p}%} to true
1667 loop 30 times:
1668 inventory name of {_p}'s current inventory is "Carl's Spinner"
1669 play "NOTE_PLING" to {_p} at volume 0.5
1670 format slot 0 of {_p} with white stained glass pane to be unstealable
1671 format slot 1 of {_p} with white glass to be unstealable
1672 format slot 2 of {_p} with white glass to be unstealable
1673 format slot 3 of {_p} with white glass to be unstealable
1674 format slot 4 of {_p} with hopper to be unstealable
1675 format slot 5 of {_p} with white glass to be unstealable
1676 format slot 6 of {_p} with white glass to be unstealable
1677 format slot 7 of {_p} with white glass to be unstealable
1678 format slot 8 of {_p} with white stained glass pane to be unstealable
1679 set {_randomint1.%{_p}%} to random integer between 95 and 375
1680 format slot 9 of {_p} with prismarine shard named "&b%{_randomint1.%{_p}%}% Shards" to be unstealable
1681 format slot 8 of {_p} with white stained glass pane to be unstealable
1682 set {_randomint2.%{_p}%} to random integer between 95 and 375
1683 format slot 10 of {_p} with prismarine shard named "&b%{_randomint2.%{_p}%}% Shards" to be unstealable
1684 format slot 8 of {_p} with white stained glass pane to be unstealable
1685 set {_randomint3.%{_p}%} to random integer between 95 and 375
1686 format slot 11 of {_p} with prismarine shard named "&b%{_randomint3.%{_p}%}% Shards" to be unstealable
1687 format slot 8 of {_p} with white stained glass pane to be unstealable
1688 set {_randomint4.%{_p}%} to random integer between 95 and 375
1689 format slot 12 of {_p} with prismarine shard named "&b%{_randomint4.%{_p}%}% Shards" to be unstealable
1690 format slot 8 of {_p} with white stained glass pane to be unstealable
1691 set {_randomint5.%{_p}%} to random integer between 95 and 375
1692 format slot 13 of {_p} with prismarine shard named "&b%{_randomint5.%{_p}%}% Shards" to be unstealable
1693 format slot 8 of {_p} with white stained glass pane to be unstealable
1694 set {_randomint6.%{_p}%} to random integer between 95 and 375
1695 format slot 14 of {_p} with prismarine shard named "&b%{_randomint6.%{_p}%}% Shards" to be unstealable
1696 format slot 8 of {_p} with white stained glass pane to be unstealable
1697 set {_randomint7.%{_p}%} to random integer between 95 and 375
1698 format slot 15 of {_p} with prismarine shard named "&b%{_randomint7.%{_p}%}% Shards" to be unstealable
1699 format slot 8 of {_p} with white stained glass pane to be unstealable
1700 set {_randomint8.%{_p}%} to random integer between 95 and 375
1701 format slot 16 of {_p} with prismarine shard named "&b%{_randomint8.%{_p}%}% Shards" to be unstealable
1702 format slot 8 of {_p} with white stained glass pane to be unstealable
1703 set {_randomint9.%{_p}%} to random integer between 95 and 375
1704 format slot 17 of {_p} with prismarine shard named "&b%{_randomint9.%{_p}%}% Shards" to be unstealable
1705 format slot 18 of {_p} with white stained glass pane to be unstealable
1706 format slot 19 of {_p} with white glass to be unstealable
1707 format slot 20 of {_p} with white glass to be unstealable
1708 format slot 21 of {_p} with white glass to be unstealable
1709 format slot 22 of {_p} with white glass to be unstealable
1710 format slot 23 of {_p} with white glass to be unstealable
1711 format slot 24 of {_p} with white glass to be unstealable
1712 format slot 25 of {_p} with white glass to be unstealable
1713 format slot 26 of {_p} with white stained glass pane to be unstealable
1714 delete {_randomint1.%{_p}%}
1715 delete {_randomint2.%{_p}%}
1716 delete {_randomint3.%{_p}%}
1717 delete {_randomint4.%{_p}%}
1718 delete {_randomint6.%{_p}%}
1719 delete {_randomint7.%{_p}%}
1720 delete {_randomint8.%{_p}%}
1721 delete {_randomint9.%{_p}%}
1722 wait 0.2 seconds
1723 send "&9Carl> &7You won &b%{_randomint5.%{_p}%}% Shards!" to {_p}
1724 addShards({_p}, {_randomint5.%{_p}%})
1725 wait 3 ticks
1726 delete {_randomint5.%{_p}%}
1727 delete {opener.%{_p}%}
1728 wait 1 second
1729 close {_p}'s inventory
1730 else:
1731 send "&9Carl's Spinner> &7You don't have a Carl Spinner Ticket!" to {_p}
1732
1733function ytlink(p: player) :: number:
1734 set {_t} to difference between {carl.ytr.%{_p}%} and now
1735 set {_tc} to "1 day" parsed as a timespan
1736 if {_t} is less than {_tc}:
1737 message "&6&m=====================================" to {_p}
1738 message "&b &f" to {_p}
1739 message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
1740 message " &a%{mineplex.config.youtube}%" to {_p}
1741 message "&b &f" to {_p}
1742 message "&6&m=====================================" to {_p}
1743 stop
1744 else:
1745 set {carl.ytr.%{_p}%} to now
1746 addShards({_p}, 250)
1747 message "&6&m=====================================" to {_p}
1748 message "&b &f" to {_p}
1749 message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
1750 message " &a%{mineplex.config.youtube}%" to {_p}
1751 message "&b &f" to {_p}
1752 message "&6&m=====================================" to {_p}
1753 wait 60 seconds
1754 message "&9Carl> &7Rewarded 250 Shards for watching the YouTube Video" to {_p}
1755
1756function tlink(p: player) :: number:
1757 message "&6&m=====================================" to {_p}
1758 message "&b &f" to {_p}
1759 message " &f&lClick to Open in Web Browser" to {_p}
1760 message " &a%{mineplex.config.twitter}%" to {_p}
1761 message "&b &f" to {_p}
1762 message "&6&m=====================================" to {_p}
1763
1764function dailyr(p: player) :: number:
1765 set {_t} to difference between {carl.dr.%{_p}%} and now
1766 set {_tc} to "20 hours" parsed as a timespan
1767 if {_t} is less than {_tc}:
1768 message "&9Carl> &7Come back in another 24 hours." to {_p}
1769 stop
1770 else:
1771 message "&9Carl> &7Rewarded &e100 Treasure Shards" to {_p}
1772 message "&9Carl> &7Rewarded &e100 Gems" to {_p}
1773 message "&9Carl> &7Rewarded &e250 Experience" to {_p}
1774 set {carl.dr.%{_p}%} to now
1775 addShards({_p}, 100)
1776 addGems({_p}, 100)
1777 set {_cur} to getPlayerdata({_p}, "stats.global.dailyr") parsed as a number
1778 add 1 to {_cur}
1779 setPlayerdata({_p}, "stats.global.dailyr", "%{_cur}%")
1780
1781function rawVote(p: player , v: number) :: number:
1782 add 1 to {mineplex.poll.results.%{_v}%.%{poll.id.last}%}
1783 set {mineplex.polltaken.%{poll.id.last}%.%{_p}%} to true
1784 addGems({_p}, {mineplex.poll.gems.%{poll.id.last}%})
1785 message "&9Carl> &7Rewarded &a%{mineplex.poll.gems.%{poll.id.last}%}% Gems&7." to {_p}
1786
1787function pollVote(p: player) :: number:
1788 open chest with 6 rows named "Poll:" to {_p}
1789 wait 2 ticks
1790 format slot 13 of {_p} with book and quill named "&a&lVote on Poll" with lore "||&f%{mineplex.poll.question.%{poll.id.last}%}%||||&b1.) &f%{mineplex.poll.a1.%{poll.id.last}%}%||&b2.) &f%{mineplex.poll.a2.%{poll.id.last}%}%||&b3.) &f%{mineplex.poll.a3.%{poll.id.last}%}%||&b4.) &f%{mineplex.poll.a4.%{poll.id.last}%}%||||&eRewards|| &f%{mineplex.poll.gems.%{poll.id.last}%}% Gems" to be unstealable
1791 format slot 28 of {_p} with emerald named "&aOption 1" with lore "||&f%{mineplex.poll.a1.%{poll.id.last}%}%" to close then run [rawVote({_p}, 1)]
1792 format slot 30 of {_p} with emerald named "&aOption 2" with lore "||&f%{mineplex.poll.a2.%{poll.id.last}%}%" to close then run [rawVote({_p}, 2)]
1793 format slot 32 of {_p} with emerald named "&aOption 3" with lore "||&f%{mineplex.poll.a3.%{poll.id.last}%}%" to close then run [rawVote({_p}, 3)]
1794 format slot 34 of {_p} with emerald named "&aOption 4" with lore "||&f%{mineplex.poll.a4.%{poll.id.last}%}%" to close then run [rawVote({_p}, 4)]
1795
1796function claimThank(p: player) :: number:
1797 set {_am} to {mineplex.thankrewards.%{_p}%}
1798 set {_tp} to {_am} / 5
1799 send "&9Carl> &7You collected &b%{_am}% Treasure Shards &7from &e%{_tp}% &7players!" to {_p}
1800 set {mineplex.thankrewards.%{_p}%} to 0
1801 set {_get} to getPlayerdata({_p}, "shards")
1802 set {_cur} to {_get} parsed as a number
1803 add {_am} to {_cur}
1804 setPlayerdata({_p}, "shards", "%{_cur}%")
1805
1806on inventory click:
1807 if inventory name of player's current inventory is "Carl's Spinner":
1808 cancel event
1809 close player's inventory
1810
1811#Dank as all heck
1812function carlGUI(p: player) :: number:
1813 open chest with 6 rows named "%{_p}%'s Bonuses" to {_p}
1814 wait 2 ticks
1815 format slot 10 of {_p} with redstone block named "&c&lRank Monthly Bonus" with lore "||&7Players with a Rank get a Monthly Bonus!||||&bUltra recieves 1 Mythical Chest Monthly||&dHero recieves 2 Mythical Chests Monthly||&aLegend recieves 3 Mythical Chests Monthly||&cTitan recieves 5 Mythical Chests Monthly||||&fPurchase a Rank at;||&f%{mineplex.config.shoplink}%" to close
1816 set {_t} to difference between {carl.dr.%{_p}%} and now
1817 set {_tc} to "20 hours" parsed as a timespan
1818 set {_mc} to {_tc} - {_t}
1819 set {_st} to "%{_t}%"
1820 set {_args::*} to {_st} split at " "
1821 set {_num1} to "%{_args::1}%" parsed as an int
1822 set {_num2} to 1200
1823 set {_num3} to {_num2} - {_num1}
1824 set {_hourconvert} to {_num3} / 60
1825 set {_finalwait} to "%{_hourconvert}% hours"
1826 if {_t} is less than {_tc}:
1827 format slot 12 of {_p} with redstone block named "&c&lDaily Reward" with lore "||&fNext reward in %{_finalwait}%!|| ||&7||&eRewards|| &f100 Treasure Shards|| &f100 Gems|| &f250 Experience||&7||&eCurrent Streak: &f0||&eStreak Bonus: &f0%%||&7||&eHighest Streak: &f0" to close
1828 else:
1829 format slot 12 of {_p} with chest named "&a&lDaily Reward" with lore "||&fClick to Claim!|| ||&7||&eRewards|| &f100 Treasure Shards|| &f100 Gems|| &f250 Experience||&7||&eCurrent Streak: 0||&eStreak Bonus: 5||&7||&eHighest Streak: &f1||&eStreak Reset: &f1.3 Days" to close then run [dailyr({_p})]
1830 format slot 14 of {_p} with creeper head named "&c&lCarl's Spinner" with lore "||&fYou need a Carl Spin Ticket to Spin||&b||&eYour Tickets: &f%{mineplex.tickets.%{_p}%}%" to close then run [reqSpin({_p})]
1831 format slot 16 of {_p} with redstone block named "&c&lPower Play Club" with lore "&eFebruary's Cosmetic|| &fTrue Love Pet||&b &f||&eOther Rewards|| &f2 Game Amplifier|| &f1 Omega Chest||&b||&cGet Power Play Club months at||&b%{mineplex.config.shoplink}%" to close
1832 format slot 20 of {_p} with water bucket named "&e&lVisit us on Facebook" with lore "||&eRewards|| &f10 Ancient Chest" to close
1833 set {_t} to difference between {carl.ytr.%{_p}%} and now
1834 set {_tc} to "1 day" parsed as a timespan
1835 if {_t} is less than {_tc}:
1836 format slot 24 of {_p} with apple named "&a&lVisit us on YouTube" with lore "&fCome back Tomorrow for your||&fDaily Reward!||||&fCheck out the lastest Video||&fon the %{mineplex.config.servername}% Channel!||&b||&fBe sure and Subscribe so you ||&fdon't miss a video!||&b||&aClick to visit us on YouTube!" to close then run [ytlink({_p})]
1837 else:
1838 format slot 24 of {_p} with apple named "&a&lVisit us on YouTube" with lore "&eClaim your Daily 250 Shard Reward||&fby checking out the latest Video ||&fon the %{mineplex.config.servername}% Channel!||&b||&fBe sure and Subscribe so you ||&fdon't miss a video!||&b||&aClick to visit us on YouTube!" to close then run [ytlink({_p})]
1839 if {mineplex.polltaken.%{poll.id.last}%.%{_p}%} is set:
1840 format slot 28 of {_p} with redstone block named "&cVote on Poll" with lore "||&fYou voted on all of the polls!" to close
1841 else:
1842 format slot 28 of {_p} with book and quill named "&a&lVote on Poll" with lore "||&f%{mineplex.poll.question.%{poll.id.last}%}%||||&b1.) &f%{mineplex.poll.a1.%{poll.id.last}%}%||&b2.) &f%{mineplex.poll.a2.%{poll.id.last}%}%||&b3.) &f%{mineplex.poll.a3.%{poll.id.last}%}%||&b4.) &f%{mineplex.poll.a4.%{poll.id.last}%}%||||&eRewards|| &f%{mineplex.poll.gems.%{poll.id.last}%}% Gems||||&aClick to go to the vote page!" to run [pollVote({_p})]
1843 if {mineplex.thankrewards.%{_p}%} is greater than 0:
1844 format slot 30 of {_p} with emerald named "&a&lThank Rewards" with lore "||&eYour Rewards|| &f%{mineplex.thankrewards.%{_p}%}% Treasure Shards|| ||&fClick to Claim!" to close then run [claimThank({_p})]
1845 else:
1846 format slot 30 of {_p} with redstone block named "&c&lThank Rewards" with lore "||&7Earn Thank Rewards from players using /thank||&7on you, or by enabling Game Amplifiers.||&b||&fGet Amplifiers at &a%{mineplex.config.shoplink}%" to close
1847 format slot 32 of {_p} with tripwire hook named "&a&lWatch an Ad!" with lore "&eEarn 1 Carl Spin Ticket||&fby checking out our partner's Advertisement||||&fYou can watch 5 Ads every 24 hours.||||&fPlease help us keep %{mineplex.config.servername}% awesome||&c&lBe sure to have your AdBlocker disabled!||||&aClick to watch the Ad now!" to be unstealable
1848 format slot 34 of {_p} with egg named "&a&lVisit us on Twitter" with lore "&fCheck out and follow %{mineplex.config.servername}% on||&fTwitter for Giveaways, Announcements,||&fTeasers, and Tips!||||&aClick to visit us on Twitter" to close then run [tlink({_p})]
1849 format slot 40 of {_p} with jukebox named "&a&lVote for %{mineplex.config.servername}%" with lore "||&fClick to Vote!||||&eRewards|| &f1 Carl Spin Ticket|| &f400 Gems||||&eCurrent Streak: &f0||&eStreak Bonus: &f+0%%||||&eHighest Streak: &f0" to be unstealable
1850
1851command /poll [<text>] [<text>] [<text>] [<text>] [<text>] [<text>] [<integer>] [<string>]:
1852 permission: mineplex.admin
1853 permission message: &9Permissions> &7You do not have permission to do that.
1854 trigger:
1855 if arg 1 is set:
1856 if arg 1 is "create":
1857 if arg 2 is set:
1858 if arg 3 is set:
1859 if arg 4 is set:
1860 if arg 5 is set:
1861 if arg 6 is set:
1862 if arg 7 is set:
1863 add 1 to {poll.id.last}
1864 send "&9Poll> &7Rolling out poll with id &e%{poll.id.last}%&7!"
1865 wait 1 second
1866 set {_arg1} to arg 2
1867 set {_arg2} to arg 3
1868 set {_arg3} to arg 4
1869 set {_arg4} to arg 5
1870 set {_arg5} to arg 6
1871 set {mineplex.poll.gems.%{poll.id.last}%} to "%arg 7%" parsed as an integer
1872 replace every "_" with " " in {_arg1}
1873 replace every "_" with " " in {_arg2}
1874 replace every "_" with " " in {_arg3}
1875 replace every "_" with " " in {_arg4}
1876 replace every "_" with " " in {_arg5}
1877 broadcast "&9Poll> &7A new poll is available! Vote in Carl!"
1878 wait 0.5 seconds
1879 send "&9Poll> &7The poll has been rolled out successfully!"
1880 set {mineplex.poll.question.%{poll.id.last}%} to {_arg1}
1881 set {mineplex.poll.a1.%{poll.id.last}%} to {_arg2}
1882 set {mineplex.poll.a2.%{poll.id.last}%} to {_arg3}
1883 set {mineplex.poll.a3.%{poll.id.last}%} to {_arg4}
1884 set {mineplex.poll.a4.%{poll.id.last}%} to {_arg5}
1885 set {mineplex.poll.results.1.%{poll.id.last}%} to 0
1886 set {mineplex.poll.results.2.%{poll.id.last}%} to 0
1887 set {mineplex.poll.results.3.%{poll.id.last}%} to 0
1888 set {mineplex.poll.results.4.%{poll.id.last}%} to 0
1889 else:
1890 send "&9Poll> &7Correct Usage:"
1891 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1892 send "&4/poll results [(id)] Admin"
1893 send ""
1894 send "&9Poll> &7Example:"
1895 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111 Admin"
1896 else:
1897 send "&9Poll> &7Correct Usage:"
1898 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1899 send "&4/poll results [(id)] Admin"
1900 send ""
1901 send "&9Poll> &7Example:"
1902 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1903 else:
1904 send "&9Poll> &7Correct Usage:"
1905 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1906 send "&4/poll results [(id)] Admin"
1907 send ""
1908 send "&9Poll> &7Example:"
1909 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1910 else:
1911 send "&9Poll> &7Correct Usage:"
1912 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1913 send "&4/poll results [(id)] Admin"
1914 send ""
1915 send "&9Poll> &7Example:"
1916 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1917 else:
1918 send "&9Poll> &7Correct Usage:"
1919 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1920 send "&4/poll results [(id)] Admin"
1921 send ""
1922 send "&9Poll> &7Example:"
1923 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1924 else:
1925 send "&9Poll> &7Correct Usage:"
1926 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
1927 send "&4/poll results [(id)] Admin"
1928 send ""
1929 send "&9Poll> &7Example:"
1930 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1931 else if arg 1 is "results":
1932 if player has permission "mineplex.admin":
1933 if arg 2 is not set:
1934 open chest with 5 row named "Poll Results" to player
1935 format slot 13 of player with book and quill named "&b&lCurrent Poll" with lore "&eOuestion:||&b%{mineplex.poll.question.%{poll.id.last}%}%|| ||&e&lReward: &f%{mineplex.poll.gems.%{poll.id.last}%}% Gems" to be unstealable
1936 format slot 19 of player with book named "&b&lOption 1" with lore "&eAnswer 1:|| &f%{mineplex.poll.a1.%{poll.id.last}%}%" to be unstealable
1937 format slot 21 of player with book named "&b&lOption 2" with lore "&eAnswer 2:|| &f%{mineplex.poll.a2.%{poll.id.last}%}%" to be unstealable
1938 format slot 23 of player with book named "&b&lOption 3" with lore "&eAnswer 3:|| &f%{mineplex.poll.a3.%{poll.id.last}%}%" to be unstealable
1939 format slot 25 of player with book named "&b&lOption 4" with lore "&eAnswer 4:|| &f%{mineplex.poll.a4.%{poll.id.last}%}%" to be unstealable
1940 format slot 28 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.1.%{poll.id.last}%}% &evotes||&efor answer 1:|| &f%{mineplex.poll.a1.%{poll.id.last}%}%" to be unstealable
1941 format slot 30 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.2.%{poll.id.last}%}% &evotes||&efor answer 2:|| &f%{mineplex.poll.a2.%{poll.id.last}%}%" to be unstealable
1942 format slot 32 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.3.%{poll.id.last}%}% &evotes||&efor answer 3:|| &f%{mineplex.poll.a3.%{poll.id.last}%}%" to be unstealable
1943 format slot 34 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.4.%{poll.id.last}%}% &evotes||&efor answer 4:|| &f%{mineplex.poll.a4.%{poll.id.last}%}%" to be unstealable
1944 else:
1945 set {_id} to arg-2 parsed as a number
1946 if {_id} is 0:
1947 send "&9Poll> &cInvalid Poll ID!"
1948 stop
1949 if {_id} is greater than {poll.id.last}:
1950 send "&9Poll> &cInvalid Poll ID!"
1951 stop
1952 if {_id} is not set:
1953 send "&9Poll> &cInvalid Poll ID!"
1954 stop
1955 open chest with 5 row named "Poll Results" to player
1956 format slot 13 of player with book and quill named "&b&lCurrent Poll" with lore "&eOuestion:||&b%{mineplex.poll.question.%{_id}%}%|| ||&e&lReward: &f%{mineplex.poll.gems.%{_id}%}% Gems" to be unstealable
1957 format slot 19 of player with book named "&b&lOption 1" with lore "&eAnswer 1:|| &f%{mineplex.poll.a1.%{_id}%}%" to be unstealable
1958 format slot 21 of player with book named "&b&lOption 2" with lore "&eAnswer 2:|| &f%{mineplex.poll.a2.%{_id}%}%" to be unstealable
1959 format slot 23 of player with book named "&b&lOption 3" with lore "&eAnswer 3:|| &f%{mineplex.poll.a3.%{_id}%}%" to be unstealable
1960 format slot 25 of player with book named "&b&lOption 4" with lore "&eAnswer 4:|| &f%{mineplex.poll.a4.%{_id}%}%" to be unstealable
1961 format slot 28 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.1.%{_id}%}% &evotes||&efor answer 1:|| &f%{mineplex.poll.a1.%{_id}%}%" to be unstealable
1962 format slot 30 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.2.%{_id}%}% &evotes||&efor answer 2:|| &f%{mineplex.poll.a2.%{_id}%}%" to be unstealable
1963 format slot 32 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.3.%{_id}%}% &evotes||&efor answer 3:|| &f%{mineplex.poll.a3.%{_id}%}%" to be unstealable
1964 format slot 34 of player with blue stained glass pane named "&b&lVote Count:" with lore "&f%{mineplex.poll.results.4.%{_id}%}% &evotes||&efor answer 4:|| &f%{mineplex.poll.a4.%{_id}%}%" to be unstealable
1965 else:
1966 send "&9Permissions> &7You do not have permission to do that."
1967 else:
1968 send "&9Poll> &7Correct Usage:"
1969 send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4 (Gem Reward) Admin"
1970 send "&4/poll results [(id)] Admin"
1971 send ""
1972 send "&9Poll> &7Example:"
1973 send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
1974
1975command /fixanimation:
1976 permission: mineplex.dev
1977 permission message: &9Permissions> &7You do not have permission to do that.
1978 trigger:
1979 loop all entities:
1980 if name of loop-entity is "&a&lCarl the Creeper":
1981 set {_e1} to loop-entity
1982 exit loop
1983 add "{NoAI:0b}" to nbt of {_e1}
1984 teleport {_e1} 100 meters below {_e1}
1985 kill {_e1}
1986
1987command /animation:
1988 permission: mineplex.dev
1989 permission message: &9Permissions> &7You do not have permission to do that.
1990 trigger:
1991 loop all entities:
1992 if name of loop-entity is "&a&lCarl the Creeper":
1993 set {_e1} to loop-entity
1994 exit loop
1995 set {_loc} to location of {_e1}
1996 add "{Fuse:999}" to nbt of {_e1}
1997 add "{ignited:1}" to nbt of {_e1}
1998 wait 1 second
1999 loop all players:
2000 show 1 "Explosion Huge" particles at {_loc} for loop-player
2001 play raw sound "random.explode1" at {_e1} with pitch 1 volume 10
2002 play raw sound "random.explode" at {_e1} with pitch 1 volume 10
2003 wait 0.6 seconds
2004 spawn 1 creeper at location of {_e1}
2005 add "{NoAI:0b}" to nbt of {_e1}
2006 teleport {_e1} 100 meters below {_e1}
2007 kill {_e1}
2008 set {_carl} to spawned creeper
2009 set name of last spawned entity to "&a&lCarl the Creeper"
2010 add "{NoAI:1b}" to nbt of {_carl}
2011 add "{powered:1}" to nbt of {_carl}
2012 apply slowness 255 to last spawned entity for 999 days
2013
2014every 2 minutes:
2015 execute console command "/animation" #Sue me
2016
2017command /ticket [<offline player>] [<string>] [<string>]:
2018 permission: mineplex.admin
2019 permission message: &9Permissions> &7You do not have permission to do that.
2020 trigger:
2021 if arg-1 is set:
2022 if arg-2 is set:
2023 set {_int} to arg-2 parsed as an int
2024 if {_int} is an int:
2025 send "&9Tickets> &7You gave &e%arg-2% &7Carl spin tickets to &e%arg-1%" to sender
2026 send "&9Tickets> &7You recieved &e%arg 2% &7Carl spin tickets" to arg 1
2027 add {_int} to {mineplex.tickets.%arg-1%}
2028 else:
2029 send "&9Tickets> &7Listing Commands"
2030 send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
2031 else:
2032 send "&9Tickets> &7Listing Commands"
2033 send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
2034 else:
2035 send "&9Tickets> &7Listing Commands"
2036 send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
2037
2038on inventory close:
2039 if {opener.%player%} is true:
2040 wait 2 ticks
2041 open chest with 3 rows named "Carl's Spinner" to player
2042
2043every second:
2044 loop all entities:
2045 name of loop-entity contains "&a&lCarl the Creeper"
2046 teleport loop-entity to {kitnpc}
2047
2048on damage:
2049 name of victim contains "&a&lCarl the Creeper"
2050 cancel event
2051
2052on right click on entity:
2053 if player's tool is a chest:
2054 if name of player's tool is "&aCosmetic Menu":
2055 stop
2056 else:
2057 send "&9MCR> &e##BlameWheezy"
2058 else:
2059 name of clicked entity contains "&a&lCarl the Creeper"
2060 if {nospam.%player%} is true:
2061 stop
2062 else:
2063 set {nospam.%player%} to true
2064 carlGUI(player)
2065 wait 1 second
2066 set {nospam.%player%} to false
2067
2068on death:
2069 set {nospam.%victim%} to false
2070
2071on join:
2072 set {nospam.%player%} to false
2073
2074#Broadcast System
2075
2076every 10 seconds:
2077 $ thread
2078 set {_check} to line 1 from url "https://pastebin.com/raw/8YXXWuiA"
2079 if {mineplex.globalannounce.%{_check}%} is not set:
2080 set {mineplex.globalannounce.%{_check}%} to true
2081 $ thread
2082 set {_message} to line 1 from url "https://pastebin.com/raw/fGAUXi37"
2083 send all players title "&eMCR Announcement" with subtitle "&f%{_message}%" for 10 seconds
2084 broadcast "&9MCR Announcement> &b%{_message}%"
2085
2086#Titles
2087
2088function createTitle(arg1: player , arg2: text) :: number:
2089 set {_tploc} to location of {_arg1}
2090 add 1.6 to y-coordinate of {_tploc}
2091 spawn a armor stand at {_tploc}
2092 teleport {%{_arg1}%.title} to {_tploc}
2093 set {%{_arg1}%.title} to the last spawned entity
2094 set metadata value "titleOwner" of last spawned entity to "%{_arg1}%"
2095 add "{CustomName:""%{_arg2}%""}" to nbt of last spawned entity
2096 add "{NoGravity:1}" to nbt of last spawned entity
2097 add "{CustomNameVisible:1}" to nbt of last spawned entity
2098 add "{PersistenceRequired:1}" to nbt of last spawned entity
2099 add "{Invisible:1}" to nbt of last spawned entity
2100 add "{Marker:1}" to nbt of last spawned entity
2101 set {title.%{_arg1}%.active} to true
2102 set {_tploc} to location of {_arg1}
2103 add 1.6 to y-coordinate of {_tploc}
2104 teleport {%{_arg1}%.title} to {_tploc}
2105
2106function removeTitle(arg1: player) :: number:
2107 if {title.%{_arg1}%.active} is true:
2108 kill {%{_arg1}%.title}
2109 set {title.%{_arg1}%.active} to false
2110 delete {%{_arg1}%.title}
2111 set {_void} to location of {_arg1}
2112 remove 256 from y-coordinate of {_void}
2113 loop all entities:
2114 if metadata value "titleOwner" of loop-entity is "%{_arg1}%":
2115 add "{NoGravity:0}" to nbt of loop-entity
2116 teleport loop-entity to {_void}
2117
2118 set {title.%{_arg1}%.active} to false
2119 wait 4 ticks
2120 delete {%{_arg1}%.title}
2121 else:
2122 message "[TitleAPI] Error:" to console
2123 message "[TitleAPI] %{_arg1}% has no title active" to console
2124 stop
2125
2126on any move:
2127 if {title.%player%.active} is true:
2128 set {_tploc} to location of player
2129 add 1.6 to y-coordinate of {_tploc}
2130 teleport {%player%.title} to {_tploc}
2131
2132on any move:
2133 if {title.%player%.active} is true:
2134 push {%player%.title} forwards
2135 set {_tploc} to location of player
2136 add 1.6 to y-coordinate of {_tploc}
2137 teleport {%player%.title} to {_tploc}
2138 make {%player%.title} home towards player
2139 push {%player%.title} forwards
2140
2141command /createtitle [<player>] [<text>]:
2142 permission: mineplex.dev
2143 trigger:
2144 set {_txt} to colored arg 2
2145 removeTitle(arg 1)
2146 message "&9Titles> &7Generating title, please wait..."
2147 wait 5 ticks
2148 createTitle(arg 1, "%{_txt}%")
2149 message "&9Titles> &7Title &e%{_txt}% &7Generated."
2150
2151#protocol hide {_e1} from loop-player
2152
2153on quit:
2154 removeTitle(player)
2155
2156command /removeTitle [<player>]:
2157 trigger:
2158 removeTitle(arg-1)
2159
2160function trackDB(p: player , t: string) :: string:
2161 if {_t} is "aprilfools-2017":
2162 set {_r} to "&5&k?&d 2017 April Fools &5&k?"
2163 if {_t} is "holiday-cheer":
2164 set {_r} to "&c&k?&c Has Santa's Number &c&k?"
2165 if {_t} is "treasure-hunter":
2166 set {_r} to "&c&k?&c Master Treasure Hunter &c&k?"
2167 if {_t} is "leveler":
2168 set {_r} to "&c&k?&c Friend of Douglas &c&k?"
2169 if {_t} is "lucky":
2170 set {_r} to "&c&k?&c Hashtag Blessed &c&k?"
2171 if {_t} is "mineplex-mastery":
2172 set {_r} to "&c&k?&c Mineplex Master &c&k?"
2173 if {_t} is "party-animal":
2174 set {_r} to "&c&k?&c Life is a Party &c&k?"
2175 if {_t} is "peaceful":
2176 set {_r} to "&c&k?&c Pacifist &c&k?"
2177 if {_t} is "perfectionist":
2178 set {_r} to "&c&k?&c Doer of Things &c&k?"
2179 if {_t} is "power-play":
2180 if {mineplex.ppc.%{_p}%} is set:
2181 set {_r} to "&b&k?&b Power Play Club &b&k?"
2182 else:
2183 return "perm"
2184 if {_t} is "sweet-tooth":
2185 set {_r} to "&c&k?&c Candy Addict &c&k?"
2186 if {_t} is "unlucky":
2187 set {_r} to "&c&k?&c Things Don't Go My Way &c&k?"
2188 if {_t} is "warrior":
2189 set {_r} to "&c&k?&c Champion &c&k?"
2190 if {_t} is "gotta-go":
2191 set {_r} to "&6┬┴┬┴┤(・_├┬┴┬┴)"
2192 if {_t} is "santas-helper":
2193 set {_r} to "&c&l&ka&r &f&lSanta's Helper &r&c&l&ka"
2194 if {_t} is "staff-trainee":
2195 if {p} has permission "mineplex.trainee":
2196 set {_r} to "&6&kK&r &6Choo Choo &kK"
2197 else:
2198 return "perm"
2199 if {_t} is "staff-moderator":
2200 if {p} has permission "mineplex.mod":
2201 set {_r} to "&6&kK&r &6My name isn't mod &kK"
2202 else:
2203 return "perm"
2204 if {_t} is "staff-sr_moderator":
2205 if {p} has permission "mineplex.srmod":
2206 set {_r} to "&6&kK&r &6My Team's the Best Team &kK"
2207 else:
2208 return "perm"
2209 if {_t} is "staff-leader":
2210 if {_p} has permission "mineplex.leader":
2211 set {_r} to "&c&kK&4 What's a leader? &c&kK"
2212 else:
2213 return "perm"
2214 if {_t} is "mcr-patreon":
2215 if {_p} is "EternalKnowedge" :
2216 set {_r} to "&6&kK&c&l MCR Patreon &6&kK"
2217 else:
2218 return "perm"
2219 if {_t} is "mcr-staff":
2220 if {_p} is "EternalKnowedge" or "TheSkripterDK" or "Torksi" or "Y7S" or "ItzRenderman" or "NaiculS" or "Drawfull" or "Keyloren" or "citrin_" or "Torksi" or "Mike70387" or "Nathan100" or "GetRekt3" or "Rage_Dog" or "TonyMaster21":
2221 set {_r} to "&6&kK&6&l MCR Staff &6&kK"
2222 else:
2223 return "perm"
2224 if {_t} is "mcr-dev":
2225 if {_p} is "EternalKnowedge" or "TheSkripterDK" or "Torksi" or "ItzRenderman":
2226 set {_r} to "&6&kK&c&l MCR Dev &6&kK"
2227 else:
2228 return "perm"
2229 if {_t} is "mcr-headcouncil":
2230 if {_p} is "EternalKnowedge" or "NaiculS" or "Drawfull" or "Keyloren" or "Torksi" or "Mike70387":
2231 set {_r} to "&6&kK&4&l MCR Head Council &6&kK"
2232 else:
2233 return "perm"
2234 if {_t} is "mcr-creator":
2235 if {_p} is "EternalKnowedge":
2236 set {_r} to "&6&kK&d&l MCR Creator &6&kK"
2237 else:
2238 return "perm"
2239 if {_r} is not set:
2240 set {_r} to "false"
2241 return {_r}
2242
2243command /track [<string>] [<string>]:
2244 trigger:
2245 if {mineplex.track.%player%} is set:
2246 send "&9Track> &7You have disabled your active track"
2247 removeTitle(player)
2248 delete {mineplex.track.%player%}
2249 else:
2250 if arg 1 is not set:
2251 send "&9Track> &7You must specify the ID of a track to enable"
2252 else:
2253 set {_track} to trackDB(player, arg-1)
2254 if {_track} is "false":
2255 send "&9Track> &7That is not a valid track"
2256 stop
2257 if {_track} is "perm":
2258 send "&9Track> &7You have not unlocked any tiers on that track"
2259 stop
2260 removeTitle(player)
2261 wait 5 ticks
2262 createTitle(player, {_track})
2263 send "&9Track> &7Your active track has been updated to %{_track}%"
2264 set {mineplex.track.%player%} to {_track}
2265
2266#Cosmetics
2267on join:
2268 message "&9Cosmetics> &7You enabled all Previously enabled Cosmetics" to player
2269
2270command /chestmeup:
2271 trigger:
2272 give player chest named "&aCosmetic Menu"
2273
2274function mountapi(p: player, action: text, type: text) :: number:
2275 if {_action} is "remove":
2276 set {_loc} to {_p}'s location
2277 add -100000 to y-coordinate of {_loc}
2278 teleport {currentmount.%{_p}%} to {_loc}
2279 delete {currentmount.%{_p}%}
2280 message "&9Mount> &7Despawned &e%{currentmount.%{_p}%.type}%" to {_p}
2281 set {currentmount.%{_p}%.type} to "None"
2282 if {_action} is "create":
2283 if {_type} is "slime":
2284 if {currentmount.%{_p}%} is set:
2285 message "&9MountAPI> &6[WARN] &7%{_p}% already has a mount active. The Action has been canceled." to console
2286 stop
2287 spawn a slime at {_p}
2288 set {currentmount.%{_p}%} to the last spawned entity
2289 add "{CustomName:""%{_p}%'s Slime""}" to nbt of last spawned entity
2290 add "{CustomNameVisible:1}" to nbt of last spawned entity
2291 add "{PersistenceRequired:1}" to nbt of last spawned entity
2292 add "{Size:1}" to nbt of last spawned entity
2293 add "{Attributes:{Name:generic.attackDamage,Base:0},[{Name:generic.followRange,Base:0}]}" to nbt of last spawned entity
2294 add "{ActiveEffects:[{Id:18,Amplifier:255,Duration:19999980,ShowParticles:0b}]}" to nbt of last spawned entity
2295 set {currentmount.%{_p}%.type} to "Slime Mount"
2296 while {currentmount.%{_p}%} is alive:
2297 wait 15 ticks
2298 {_p} is online
2299 if distance between {currentmount.%{_p}%} and {_p} is less than 5:
2300 make {currentmount.%{_p}%} pathfind to {_p} with speed 1
2301 else if distance between {currentmount.%{_p}%} and {_p} is more than 15:
2302 teleport {currentmount.%{_p}%} to {_p}
2303 else:
2304 make {currentmount.%{_p}%} pathfind to {_p} with speed 2
2305
2306
2307
2308function cosmetic_system(arg1: text , arg2: text , p: player) :: number:
2309 set {_wither} to "MHF_WSkeleton" parsed as a player
2310 if {_arg1} is "menu":
2311 if {_arg2} is "gadgets":
2312 if {mineplex.%{_p}%.cosmetics.gadgets.pearl} is not set:
2313 set {mineplex.%{_p}%.cosmetics.gadgets.pearl} to 0
2314 if {mineplex.%{_p}%.cosmetics.gadgets.firework} is not set:
2315 set {mineplex.%{_p}%.cosmetics.gadgets.firework} to 0
2316 if {mineplex.%{_p}%.cosmetics.gadgets.coal} is not set:
2317 set {mineplex.%{_p}%.cosmetics.gadgets.coal} to 0
2318 if {mineplex.%{_p}%.cosmetics.gadgets.tnt} is not set:
2319 set {mineplex.%{_p}%.cosmetics.gadgets.tnt} to 0
2320 if {mineplex.%{_p}%.cosmetics.gadgets.snowball} is not set:
2321 set {mineplex.%{_p}%.cosmetics.gadgets.snowball} to 0
2322 wait 2 ticks
2323 open chest with 6 rows named "Inventory" to {_p}
2324 wait 4 ticks
2325 format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2326 format slot 10 of {_p} with ender pearl named "&a&lEthereal Pearl" with lore "||&7These Pearls are stolen from||&7sleeping Endermen!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.pearl}%" to close then run [cosmetic_system("use", "pearl", {_p})]
2327 if {mineplex.gadget.selected.%{_p}%} is "pearl":
2328 format slot 10 of {_p} with shiny ender pearl named "&a&lEthereal Pearl" with lore "||&7These Pearls are stolen from||&7sleeping Endermen!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.pearl}%" to close then run [cosmetic_system("use", "pearl", {_p})]
2329
2330 format slot 11 of {_p} with firework rocket named "&a&lFireworks" with lore "||&7Need to celebrate? These||&7Fireworks should do the trick!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.firework}%" to close then run [cosmetic_system("use", "firework", {_p})]
2331 if {mineplex.gadget.selected.%{_p}%} is "firework":
2332 format slot 11 of {_p} with shiny firework rocket named "&a&lFireworks" with lore "||&7Need to celebrate? These||&7Fireworks should do the trick!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.firework}%" to close then run [cosmetic_system("use", "firework", {_p})]
2333 format slot 14 of {_p} with snowball named "&a&lSnowballs" with lore "||&fJoin in on the festive fun by||&fthrowing show at people!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.snowball}%" to close then run [cosmetic_system("use", "snowball", {_p})]
2334 if {mineplex.gadget.selected.%{_p}%} is "Snowball":
2335 format slot 14 of {_p} with shiny snowball named "&a&lSnowballs" with lore "||&fJoin in on the festive fun by||&fthrowing show at people!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.snowball}%" to close then run [cosmetic_system("use", "snowball", {_p})]
2336 format slot 12 of {_p} with tnt named "&a&lTNT" with lore "||&7Thowing tnt at %{mineplex.config.servername}%||&7Staff is highly encouraged!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.tnt}%" to close then run [cosmetic_system("use", "tnt", {_p})]
2337 if {mineplex.gadget.selected.%{_p}%} is "tnt":
2338 format slot 12 of {_p} with shiny tnt named "&a&lTNT" with lore "||&7Thowing tnt at %{mineplex.config.servername}%||&7Staff is highly encouraged!||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.tnt}%" to close then run [cosmetic_system("use", "tnt", {_p})]
2339 format slot 13 of {_p} with coal named "&a&lCoal" with lore "||&7Just a large chunk of coal.||&7Maybe you were naughty or||&7something||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.coal}%" to close then run [cosmetic_system("use", "coal", {_p})]
2340 if {mineplex.gadget.selected.%{_p}%} is "coal":
2341 format slot 13 of {_p} with shiny coal named "&a&lCoal" with lore "||&7Just a large chunk of coal.||&7Maybe you were naughty or||&7something||||&fYou own &a%{mineplex.%{_p}%.cosmetics.gadgets.coal}%" to close then run [cosmetic_system("use", "coal", {_p})]
2342 if {_arg2} is "main":
2343 if {mineplex.%{_p}%.cosmetics.morphs} is not set:
2344 set {mineplex.%{_p}%.cosmetics.morphs} to 0
2345 if {mineplex.%{_p}%.cosmetics.hats} is not set:
2346 set {mineplex.%{_p}%.cosmetics.hats} to 0
2347 wait 2 ticks
2348 open chest with 6 rows named "Inventory" to {_p}
2349 set {mineplex.error.slot} to 0
2350 wait 4 ticks
2351 loop 54 times:
2352 format slot {mineplex.error.slot} of {_p} with black glass pane named "&8" with lore "&6" to be unstealable
2353 add 1 to {mineplex.error.slot}
2354 format slot 1 of {_p} with nether star named "&a&lParticle Effects" with lore "||&7Show everyone how cool you ||&7are with swirly particles that ||&7follow you when you walk. ||&8Visible Everywhere ||||&fYou own 0/22 ||||&fActive: &eNone ||&aLeft-click to view category" to close then run [cosmetic_system("menu", "particles", {_p})]
2355 format slot 10 of {_p} with arrow named "&a&lArrow Effects" with lore "||&7Your arrows will now leave ||&7Particle Trails as they soar ||&7through the air ||&8Visible In Games ||||&fYou own 0/13 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2356 format slot 28 of {_p} with golden boots named "&a&lDouble Jump Effects" with lore "||&7Demonstrate your parkour ||&7prowess with sweet particles ||&7when you double jump ||&8Visible Everywhere ||||&fYou own 0/13 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2357 format slot 19 of {_p} with skeleton head named "&a&lDeath Animations" with lore "||&7Your death will now be mourned ||&7with a wonderfull particle ||&7tribute ||&8Visible In Games ||||&fYou own 0/13 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2358 format slot 22 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore " ||&7This seems like it might come in||&7handy. Maybe I can collect more!" to be unstealable
2359 format slot 49 of {_p} with melon block named "&a&lGadgets" with lore "||&fAll sorts of zany contraptions||&7to use on your friends and||&7foes.||&8Useable in Lobbies||||&fYou own 4/4||||&fActive: &e%{mineplex.gadget.selected.%{_p}%}%||&aClick to view Category" to close then run [cosmetic_system("menu", "gadgets", {_p})]
2360 format slot 25 of {_p} with leather named "&a&lMorphs" with lore "||&7Have you ever wanted to be a||&7tiger? Well, you cant be a||&7tiger! Thats silly! But you can||&7be mny other things!||&8Useable in Lobbies||||&fYou own %{mineplex.%{_p}%.cosmetics.morphs}%/4||||&fActive: &e%{mineplex.currentmorph.%{_p}%}%||&aClick to view Category" to close then run [cosmetic_system("menu", "morphs", {_p})]
2361 format slot 50 of {_p} with iron horse armor named "&a&lMounts" with lore "||&7Why walk when you can ride? ||&7Summon fancy mounts to help ||&7you move in style. ||&8Usable In Lobbies ||||&fYou own %{mineplex.%{_p}%.cosmetics.mounts}%/1 ||||&fActive: &e%{currentmount.%{_p}%.type}% ||&aLeft-click to view category" to close then run [cosmetic_system("menu", "mounts", {_p})]
2362 format slot 51 of {_p} with bone named "&a&lPets" with lore "||&7Life on a server can get ||&7lonely sometimes. summon an ||&7adorable pet to follow you ||&7around and cheer you up! ||&8Usable In Lobbies ||||&fYou own 0/16 ||||&fActive: &eNone ||&aLeft-click to view category" to close then run [cosmetic_system("menu", "pets", {_p})]
2363 format slot 7 of {_p} with golden helmet named "&a&lHats" with lore "||&7Hats are in this year. Wear||&7them on your head to impress||&7the ladies.||&8Useable in Lobbies||||&fYou own %{mineplex.%{_p}%.cosmetics.hats}%/2" to close then run [cosmetic_system("menu", "hats", {_p})]
2364 format slot 16 of {_p} with diamond chestplate named "&A&LCostumes" with lore "||&7Sometimes going out calls for ||&7Special Clothes! Gain bonus ||&7effects for matching outfits. ||&8Usable In Lobbies ||||&fYou own 0/12 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2365 format slot 48 of {_p} with music disc named "&A&LMusic" with lore "||&7I JUST WANT TO DANCE WITH ||&7YOU! ||&8Usable In Lobbies ||||&fYou own 0/11 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2366 format slot 31 of {_p} with name tag named "&A&lTaunts" with lore "||&7Taunt your enemies or just ||&7show off. Use /taunt to have ||&7a good time! ||&8Visible In Games ||||&fYou own 0/1 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2367 format slot 13 of {_p} with cake item named "&A&LWin Effects" with lore "||&7Winning a game with your ||&7friends is all good and dandy, ||&7but being able to also ||&7show off awesome effects is ||&7even more fun! ||&8Visible In Games ||||&fYou own 0/10 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2368 format slot 21 of {_p} with torch named "&A&lGame Modifiers" with lore "||&7Cosmetic effects which changes ||&7appearances of objects in ||&7game. ||&8Visible In Games ||||&fYou own 0/25 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2369 format slot 47 of {_p} with lead named "&A&lBalloons" with lore "||&7Balloons are collectibles that ||&7you can float above your head ||&7as you wander the lobby. You ||&7can have up to 10 balloons in ||&7you hand at one time. ||&8Usable In Lobbies ||||&fYou own 0/14 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
2370 format slot 23 of {_p} with lever named "&a&lKit Selector Particles" with lore "||&7Click here to select different||&7particles to indicate which kit you have selected!||&8Usable In Game Lobbies||||&fYou own 0/8 ||##||&aLeft-click to view category" to be unstealable
2371 format slot 34 of {_p} with banner named "&a&lFlags" with lore "||&7Show off your country's flag!||&8Usable In Lobbies||||&fYou own 0/2 ||||&aLeft-click to view category" to be unstealable
2372
2373
2374
2375
2376 if {_arg2} is "pets":
2377 if {mineplex.%{_p}%.cosmetics.pets.ocelot} is not set:
2378 set {mineplex.%{_p}%.cosmetics.pets.ocelot} to 0
2379 if {mineplex.%{_p}%.cosmetics.pets.wolf} is not set:
2380 set {mineplex.%{_p}%.cosmetics.pets.wolf} to 0
2381 if {mineplex.%{_p}%.cosmetics.pets.chicken} is not set:
2382 set {mineplex.%{_p}%.cosmetics.pets.chicken} to 0
2383 wait 2 ticks
2384 open chest with 6 rows named "Inventory" to {_p}
2385 wait 4 ticks
2386 format slot 4 of {_p} with bed item named "&7? Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2387 format slot 10 of {_p} with gray dye named "&c&lGuardian" with lore "||&7Your very own Guardian!||&cUnlocked with Titan Rank" to close then run [cosmetic_system("use", "guardian", {_p})]
2388 format slot 11 of {_p} with gray dye named "&c&lCat" with lore "||&7Your very own Cat!" to close then run [cosmetic_system("use", "ocelot", {_p})]
2389 format slot 12 of {_p} with gray dye named "&c&lDog" with lore "||&7Your very own Dog!" to close then run [cosmetic_system("use", "wolf", {_p})]
2390 format slot 13 of {_p} with gray dye named "&c&lChicken" with lore "||&7Your very own Chicken!" to close then run [cosmetic_system("use", "chicken", {_p})]
2391 if {_arg2} is "morphs":
2392 if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not set:
2393 set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 0
2394 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not set:
2395 set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 0
2396 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not set:
2397 set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 0
2398 if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not set:
2399 set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 0
2400 wait 2 ticks
2401 open chest with 6 rows named "Inventory" to {_p}
2402 wait 4 ticks
2403 format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2404 if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 0:
2405 format slot 10 of {_p} with gray dye named "&c&lVillager Morph" with lore "||&7HURRRR! MURR HURRR!||||&f&lCOST: &b12000 Treasure Shards" to close then run [cosmetic_system("buy", "morph_villager", {_p})]
2406 else:
2407 format slot 10 of {_p} with emerald named "&a&lVillager Morph" with lore "||&7HURRRR! MURR HURRR!||||&aClick to use" to close then run [cosmetic_system("use", "morph_villager", {_p})]
2408 if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
2409 format slot 10 of {_p} with shiny emerald named "&a&lVillager Morph" with lore "||&7HURRRR! MURR HURRR!||||&aClick disable" to close then run [cosmetic_system("use", "morph_villager", {_p})]
2410 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 0:
2411 format slot 11 of {_p} with gray dye named "&c&lSlime Morph" with lore "||&7Splat Splat!||||&f&lCOST: &b20000 Treasure Shards" to close then run [cosmetic_system("buy", "morph_slime", {_p})]
2412 else:
2413 format slot 11 of {_p} with slimeball named "&a&lSlime Morph" with lore "||&7Splat Splat!||||&aClick to enable." to close then run [cosmetic_system("use", "morph_slime", {_p})]
2414 if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
2415 format slot 11 of {_p} with shiny slimeball named "&a&lSlime Morph" with lore "||&7Splat Splat!||||&aClick to disable." to close then run [cosmetic_system("use", "morph_slime", {_p})]
2416 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 0:
2417 format slot 12 of {_p} with gray dye named "&c&lCreeper Morph" with lore "||&7Hissss!||||&f&lCOST: &b10000 Treasure Shards" to close then run [cosmetic_system("buy", "morph_creeper", {_p})]
2418 else:
2419 format slot 12 of {_p} with gunpowder named "&a&lCreeper Morph" with lore "||&7Hissssss!||||&aClick to enable." to close then run [cosmetic_system("use", "morph_creeper", {_p})]
2420 if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
2421 format slot 12 of {_p} with shiny gunpowder named "&a&lCreeper Morph" with lore "||&7Hissssss!||||&aClick to disable." to close then run [cosmetic_system("use", "morph_creeper", {_p})]
2422 if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 0:
2423 format slot 13 of {_p} with gray dye named "&c&lCow Morph" with lore "||&7How now brown cow?||||&f&lCOST: &b6000 Treasure Shards" to close then run [cosmetic_system("buy", "morph_cow", {_p})]
2424 else:
2425 format slot 13 of {_p} with steak named "&a&lCow Morph" with lore "||&7How now brown cow?||||&aClick to enable." to close then run [cosmetic_system("use", "morph_cow", {_p})]
2426 if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
2427 format slot 13 of {_p} with shiny steak named "&a&lCow Morph" with lore "||&7Moooo!||||&aClick to disable." to close then run [cosmetic_system("use", "morph_cow", {_p})]
2428 if {_p} has permission "mineplex.legend":
2429 format slot 14 of {_p} with {_wither}'s skull named "&a&lWither Morph" with lore "||&7Legends have foretold the||&7coming of a powerful Wither...||||&fFly through the air!||||&aClick to Enable" to close then run [cosmetic_system("use", "morph_wither", {_p})]
2430 if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
2431 format slot 14 of {_p} with shiny {_wither}'s skull named "&a&lWither Morph" with lore "||&7Legends have foretold the||&7coming of a powerful Wither...||||&fFly through the air!||||&aClick to Disable" to close then run [cosmetic_system("use", "morph_wither", {_p})]
2432 else:
2433 format slot 14 of {_p} with gray dye named "&c&lWither Morph" with lore "||&7Legends have foretold the||&7coming of a powerful Wither...||||&fFly through the air!||||&aUnlocked with Legend Rank" to be unstealable
2434
2435 if {_arg2} is "hats":
2436 wait 2 ticks
2437 open chest with 6 rows named "Inventory" to {_p}
2438 wait 4 ticks
2439 format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2440 if {mineplex.hat.%{_p}%.owned.compCube} is not set:
2441 set {mineplex.hat.%{_p}%.owned.compCube} to 0
2442 if {mineplex.hat.%{_p}%.owned.present} is not set:
2443 set {mineplex.hat.%{_p}%.owned.present} to 0
2444 if {mineplex.hat.%{_p}%.owned.compCube} is 0:
2445 format slot 10 of {_p} with gray dye named "&c&lCompanion Cube" with lore "||&7The Enrichment Center is||&7required to remind you that||&7the Weighted Companion cube||&7cannot talk. In the event that it does talk The Enrichment||&7Center asks you to ignore its||&7advice.||||&9Found in Treasure Chests" to be unstealable
2446 else:
2447 format slot 10 of {_p} with stone:6 named "&a&lCompanion Cube" with lore "||&7The Enrichment Center is||&7required to remind you that||&7the Weighted Companion cube||&7cannot talk. In the event that it does talk The Enrichment||&7Center asks you to ignore its||&7advice.||||&aClick to enable" to close then run [cosmetic_system("use", "hat_compCube", {_p})]
2448 if {mineplex.hat.selected.%{_p}%} is "compCube":
2449 format slot 10 of {_p} with shiny stone:6 named "&a&lCompanion Cube" with lore "||&7The Enrichment Center is||&7required to remind you that||&7the Weighted Companion cube||&7cannot talk. In the event that||&7it does talk The Enrichment||&7Center asks you to ignore its||&7advice.||||&aClick to disable" to close then run [cosmetic_system("use", "hat_compCube", {_p})]
2450 if {mineplex.hat.%{_p}%.owned.present} is 0:
2451 format slot 11 of {_p} with gray dye named "&c&lPresent" with lore "||&7WHAT'S IN THE PRESENT? Oh, it's||&7just you...||||&9Found in Treasure Chests" to be unstealable
2452 else:
2453 format slot 11 of {_p} with chest named "&a&lPresent" with lore "||&7WHAT'S IN THE PRESENT? Oh, it's||&7just you...||||&aClick to enable." to close then run [cosmetic_system("use", "hat_present", {_p})]
2454 if {mineplex.hat.selected.%{_p}%} is "present":
2455 format slot 11 of {_p} with shiny chest named "&a&lPresent" with lore "||&7WHAT'S IN THE PRESENT? Oh, it's||&7just you...||||&aClick to disable." to close then run [cosmetic_system("use", "hat_present", {_p})]
2456 if {_arg2} is "particles":
2457 wait 2 ticks
2458 open chest with 6 rows named "Inventory" to {_p}
2459 wait 4 ticks
2460 format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2461 if {mineplex.particle.%{_p}%.owned.shadow} is not set:
2462 set {mineplex.particle.%{_p}%.owned.shadow} to 0
2463 if {mineplex.particle.%{_p}%.owned.shadow} is 0:
2464 format slot 10 of {_p} with gray dye named "&c&lShadow Walk" with lore "||&7In a world where footprints do||&7not exist, leaving you shadow||&7behind is the next best thing!||||&9Found in Treasure Chests" to be unstealable
2465 else:
2466 format slot 10 of {_p} with leather boots named "&a&lShadow Walk" with lore "||&7In a world where footprints do||&7not exist, leaving you shadow||&7behind is the next best thing!||||&aClick to enable" to close then run [cosmetic_system("use", "particle_shadow", {_p})]
2467 if {mineplex.particle.selected.%{_p}%} is "shadow":
2468 format slot 10 of {_p} with shiny leather boots named "&a&lShadow Walk" with lore "||&7In a world where footprints do||&7not exist, leaving you shadow||&7behind is the next best thing!||||&aClick to disabe" to close then run [cosmetic_system("use", "particle_shadow", {_p})]
2469 if {mineplex.particle.%{_p}%.owned.flame} is 0:
2470 format slot 11 of {_p} with gray dye named "&c&lFlame Rings" with lore "||&7Forged from the blazing rods||&7of 1000 Blazes by the||&7infamous Nether King.||||&9Found in Treasure Chests" to be unstealable
2471 else:
2472 format slot 11 of {_p} with blaze rod named "&a&lFlame Rings" with lore "||&7Forged from the blazing rods||&7of 1000 Blazes by the||&7infamous Nether King.||||&aClick to enable" to close then run [cosmetic_system("use", "particle_flame", {_p})]
2473 if {mineplex.particle.selected.%{_p}%} is "flame":
2474 format slot 11 of {_p} with shiny blaze rod named "&a&lFlame Rings" with lore "||&7Forged from the blazing rods||&7of 1000 Blazes by the||&7infamous Nether King.||||&aClick to disabe" to close then run [cosmetic_system("use", "particle_flame", {_p})]
2475 if {_arg2} is "mounts":
2476 if {mineplex.%{_p}%.cosmetics.mounts.owned.slime} is not set:
2477 set {mineplex.%{_p}%.cosmetics.mounts.owned.slime} to 0
2478 wait 2 ticks
2479 open chest with 6 rows named "Inventory" to {_p}
2480 wait 4 ticks
2481 format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
2482 if {mineplex.%{_p}%.cosmetics.mounts.owned.slime} is 0:
2483 format slot 10 of {_p} with gray dye named "&c&lSlime Mount" with lore "||&7Splat Splat!||||&f&lCOST: &b12000 Treasure Shards" to close then run [cosmetic_system("buy", "mount_slime", {_p})]
2484 else:
2485 format slot 10 of {_p} with slimeball named "&a&lSlime Mount" with lore "||&7Splat Splat!||||&aClick to use" to close then run [cosmetic_system("use", "mount_slime", {_p})]
2486 if {currentmount.%{_p}%.type} is "Slime Mount":
2487 format slot 10 of {_p} with shiny slimeball named "&a&lSlime Mount" with lore "||&7Splat Splat!||||&aClick disable" to close then run [cosmetic_system("use", "mount_slime", {_p})]
2488
2489
2490 if {_arg1} is "use":
2491 if {_arg2} is "hat_compCube":
2492 if {mineplex.hat.selected.%{_p}%} is "compCube":
2493 wait 1 tick
2494 message "&9Gadget> &7You unequipped &eCompanion Cube" to {_p}
2495 set {mineplex.hat.selected.%{_p}%} to "none"
2496 execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
2497 cosmetic_system("menu", "hats", {_p})
2498 stop
2499 if {mineplex.hat.%{_p}%.owned.compCube} is 1:
2500 wait 1 tick
2501 execute console command "/replaceitem entity %{_p}% slot.armor.head skull 1 3 {display:{Name:&a&lCompanion Cube},SkullOwner:{Id:c1e0dbe1-7fef-4de0-96d2-59aa96dafef7,Properties:{textures:[{Value:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmU1ZDZjNTY5N2U2ZTA2MmEzNjc5YzdiZjU0MDg0YjU4ZWIzZTNjYWE1N2U0MGFkZjZlNTJmMjFiYzM1Mzk1In19fQ==}]}}}"
2502 message "&9Gadget> &7You equipped &eCompanion Cube" to {_p}
2503 set {mineplex.hat.selected.%{_p}%} to "compCube"
2504 cosmetic_system("menu", "hats", {_p})
2505 if {_arg1} is "use":
2506 if {_arg2} is "hat_present":
2507 if {mineplex.hat.selected.%{_p}%} is "present":
2508 message "&9Gadget> &7You unequipped &ePresent" to {_p}
2509 set {mineplex.hat.selected.%{_p}%} to "none"
2510 execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
2511 cosmetic_system("menu", "hats", {_p})
2512 stop
2513 if {mineplex.hat.%{_p}%.owned.compCube} is 1:
2514 execute console command "/replaceitem entity %{_p}% slot.armor.head skull 1 3 {display:{Name:&a&lPresent},SkullOwner:{Id:d350d00d-4dbb-46a9-b769-60bd67546da3,Properties:{textures:[{Value:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTE4ZjhmMTE1MTRjMWZmYmM2ZTk5OTc1ZDdjYTZiNWJhZjkyZGM5MjRjNTIyM2M0ZWM0OTY5M2NkZmNiOCJ9fX0=}]}}}"
2515 message "&9Gadget> &7You equipped &ePresent" to {_p}
2516 set {mineplex.hat.selected.%{_p}%} to "present"
2517 cosmetic_system("menu", "hats", {_p})
2518 if {_arg1} is "use":
2519 if {_arg2} is "particle_shadow":
2520 if {mineplex.particle.selected.%{_p}%} is "shadow":
2521 message "&9Gadget> &7You unequipped &eShadow Walk" to {_p}
2522 set {mineplex.particle.selected.%{_p}%} to "none"
2523 cosmetic_system("menu", "particles", {_p})
2524 stop
2525 if {mineplex.particle.%{_p}%.owned.shadow} is 1:
2526 message "&9Gadget> &7You equipped &eShadow Walk" to {_p}
2527 set {mineplex.particle.selected.%{_p}%} to "shadow"
2528 cosmetic_system("menu", "particles", {_p})
2529 if {_arg2} is "particle_flame":
2530 if {mineplex.particle.selected.%{_p}%} is "flame":
2531 message "&9Gadget> &7You unequipped &eFlame Rings" to {_p}
2532 set {mineplex.particle.selected.%{_p}%} to "none"
2533 cosmetic_system("menu", "particles", {_p})
2534 stop
2535 if {mineplex.particle.%{_p}%.owned.flame} is 1:
2536 message "&9Gadget> &7You equipped &eFlame Rings" to {_p}
2537 set {mineplex.particle.selected.%{_p}%} to "flame"
2538 cosmetic_system("menu", "particles", {_p})
2539 if {_arg1} is "use":
2540 if {_arg2} is "ocelot":
2541 if {mineplex.pets.ocelot.active.%{_p}%} is not set:
2542 set {mineplex.pets.ocelot.active.%{_p}%} to false
2543 if {mineplex.pets.ocelot.active.%{_p}%} is false:
2544 spawn a ocelot at {_p}
2545 set {_ocelotpet} to the last spawned entity
2546 add "{CustomName:&a%{_p}%'s&c Pet Cat}" to nbt of last spawned entity
2547 add "{Silent:1}" to nbt of last spawned entity
2548 add "{CustomNameVisible:1}" to nbt of last spawned entity
2549 add "{PersistenceRequired:1}" to nbt of last spawned entity
2550 tame {_ocelotpet} to {_p}
2551 evaluate "set {pet::%{_p}%} to {_ocelotpet}"
2552 set {mineplex.pets.ocelot.active.%{_p}%} to true
2553 while {pet::%{_p}%} is alive:
2554 wait 15 ticks
2555 {_p} is online
2556 if distance between {pet::%{_p}%} and {_p} is less than 5:
2557 make {pet::%{_p}%} pathfind to {_p} with speed 1
2558 else if distance between {pet::%{_p}%} and {_p} is more than 15:
2559 teleport {pet::%{_p}%} to {_p}
2560 else:
2561 make {pet::%{_p}%} pathfind to {_p} with speed 2
2562 else:
2563 if {mineplex.pets.ocelot.active.%{_p}%} is true:
2564 kill {pet::%{_p}%}
2565 delete {pet::%{_p}%}
2566 set {mineplex.pets.ocelot.active.%{_p}%} to false
2567 if {_arg1} is "use":
2568 if {_arg2} is "wolf":
2569 if {mineplex.pets.wolf.active.%{_p}%} is not set:
2570 set {mineplex.pets.wolf.active.%{_p}%} to false
2571 if {mineplex.pets.wolf.active.%{_p}%} is false:
2572 spawn a wolf at {_p}
2573 set {_ocelotpet} to the last spawned entity
2574 add "{CustomName:&a%{_p}%'s&c Pet Wolf}" to nbt of last spawned entity
2575 add "{Silent:1}" to nbt of last spawned entity
2576 add "{CustomNameVisible:1}" to nbt of last spawned entity
2577 add "{PersistenceRequired:1}" to nbt of last spawned entity
2578 tame {_ocelotpet} to {_p}
2579 evaluate "set {pet::%{_p}%} to {_ocelotpet}"
2580 set {mineplex.pets.wolf.active.%{_p}%} to true
2581 while {pet::%{_p}%} is alive:
2582 wait 15 ticks
2583 {_p} is online
2584 if distance between {pet::%{_p}%} and {_p} is less than 5:
2585 make {pet::%{_p}%} pathfind to {_p} with speed 1
2586 else if distance between {pet::%{_p}%} and {_p} is more than 15:
2587 teleport {pet::%{_p}%} to {_p}
2588 else:
2589 make {pet::%{_p}%} pathfind to {_p} with speed 2
2590 else:
2591 if {mineplex.pets.wolf.active.%{_p}%} is true:
2592 kill {pet::%{_p}%}
2593 delete {pet::%{_p}%}
2594 set {mineplex.pets.wolf.active.%{_p}%} to false
2595 if {_arg1} is "use":
2596 if {_arg2} is "chicken":
2597 if {mineplex.pets.chicken.active.%{_p}%} is not set:
2598 set {mineplex.pets.chicken.active.%{_p}%} to false
2599 if {mineplex.pets.chicken.active.%{_p}%} is false:
2600 spawn a chicken at {_p}
2601 set {_ocelotpet} to the last spawned entity
2602 add "{CustomName:&a%{_p}%'s&c Pet Chicken}" to nbt of last spawned entity
2603 add "{Silent:1}" to nbt of last spawned entity
2604 add "{CustomNameVisible:1}" to nbt of last spawned entity
2605 add "{PersistenceRequired:1}" to nbt of last spawned entity
2606 tame {_ocelotpet} to {_p}
2607 evaluate "set {pet::%{_p}%} to {_ocelotpet}"
2608 set {mineplex.pets.chicken.active.%{_p}%} to true
2609 while {pet::%{_p}%} is alive:
2610 wait 15 ticks
2611 {_p} is online
2612 if distance between {pet::%{_p}%} and {_p} is less than 5:
2613 make {pet::%{_p}%} pathfind to {_p} with speed 1
2614 else if distance between {pet::%{_p}%} and {_p} is more than 15:
2615 teleport {pet::%{_p}%} to {_p}
2616 else:
2617 make {pet::%{_p}%} pathfind to {_p} with speed 2
2618 else:
2619 if {mineplex.pets.chicken.active.%{_p}%} is true:
2620 kill {pet::%{_p}%}
2621 delete {pet::%{_p}%}
2622 set {mineplex.pets.chicken.active.%{_p}%} to false
2623 if {_arg1} is "use":
2624 if {_arg2} is "guardian":
2625 if {mineplex.pets.guardian.active.%{_p}%} is not set:
2626 set {mineplex.pets.guardian.active.%{_p}%} to false
2627 if {mineplex.pets.guardian.active.%{_p}%} is false:
2628 spawn a guardian at {_p}
2629 set {_ocelotpet} to the last spawned entity
2630 add "{CustomName:&a%{_p}%'s&c Pet Guardian}" to nbt of last spawned entity
2631 add "{Silent:1}" to nbt of last spawned entity
2632 add "{CustomNameVisible:1}" to nbt of last spawned entity
2633 add "{PersistenceRequired:1}" to nbt of last spawned entity
2634 tame {_ocelotpet} to {_p}
2635 evaluate "set {pet::%{_p}%} to {_ocelotpet}"
2636 set {mineplex.pets.guardian.active.%{_p}%} to true
2637 while {pet::%{_p}%} is alive:
2638 wait 15 ticks
2639 {_p} is online
2640 if distance between {pet::%{_p}%} and {_p} is less than 5:
2641 make {pet::%{_p}%} pathfind to {_p} with speed 1
2642 else if distance between {pet::%{_p}%} and {_p} is more than 15:
2643 teleport {pet::%{_p}%} to {_p}
2644 else:
2645 make {pet::%{_p}%} pathfind to {_p} with speed 2
2646 else:
2647 if {mineplex.pets.guardian.active.%{_p}%} is true:
2648 kill {pet::%{_p}%}
2649 delete {pet::%{_p}%}
2650 set {mineplex.pets.guardian.active.%{_p}%} to false
2651 if {_arg1} is "use":
2652 if {_arg2} is "coal":
2653 if {mineplex.gadget.selected.%{_p}%} is "coal":
2654 message "&9Gadget> &7You unequipped &eCoal" to {_p}
2655 set {mineplex.gadget.selected.%{_p}%} to "none"
2656 set slot 3 of {_p} to air with name "lolz"
2657 cosmetic_system("menu", "gadgets", {_p})
2658 stop
2659 message "&9Gadget> &7You equipped &eCoal" to {_p}
2660 set {mineplex.gadget.selected.%{_p}%} to "coal"
2661 set slot 3 of {_p} to coal with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.coal}% Coal"
2662 cosmetic_system("menu", "gadgets", {_p})
2663 stop
2664 if {_arg1} is "buy":
2665 wait 2 ticks
2666 open chest with 6 rows named " Confirmation" to {_p}
2667 wait 2 ticks
2668 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f10000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2669 format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
2670 format slot 27 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2671 format slot 28 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2672 format slot 29 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2673 format slot 36 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2674 format slot 37 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2675 format slot 38 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2676 format slot 45 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2677 format slot 46 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2678 format slot 47 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
2679 format slot 33 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2680 format slot 34 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2681 format slot 35 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2682 format slot 42 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2683 format slot 43 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2684 format slot 44 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2685 format slot 51 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2686 format slot 52 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2687 format slot 53 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
2688 #Mounts
2689 if {_arg2} is "mount_slime":
2690 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
2691 message "&9Gadget> &7You already own this mount!" to {_p}
2692 else:
2693 format slot 22 of {_p} with slimeball named "&fSlime Mount" with lore "&fSplat Splat!" to be unstealable
2694 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f10000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2695 #Morphs
2696 if {_arg2} is "morph_creeper":
2697 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
2698 message "&9Gadget> &7You already own this morph!" to {_p}
2699 else:
2700 format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
2701 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f10000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2702 if {_arg2} is "morph_cow":
2703 if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 1:
2704 message "&9Gadget> &7You already own this morph!" to {_p}
2705 else:
2706 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f60000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2707 format slot 22 of {_p} with steak named "&fCow Morph" with lore "&fMooooo!" to be unstealable
2708 if {_arg2} is "morph_slime":
2709 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
2710 message "&9Gadget> &7You already own this morph!" to {_p}
2711 else:
2712 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f20000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2713 format slot 22 of {_p} with slimeball named "&fSlime Morph" with lore "&fSplat Splat!" to be unstealable
2714 if {_arg2} is "morph_villager":
2715 if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
2716 message "&9Gadget> &7You already own this morph!" to {_p}
2717 else:
2718 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f12000 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2719 format slot 22 of {_p} with emerald named "&fVillager Morph" with lore "&fMURRR! HURR MURRR!" to be unstealable
2720 #Gadgets
2721 if {_arg2} is "pearl":
2722 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f500 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2723 format slot 22 of {_p} with ender pearl named "&fEthereal Pearl" with lore "&fThese Pearls are stolen from||&fsleeping Endermen!" to be unstealable
2724 if {_arg2} is "firework":
2725 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f500 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2726 format slot 22 of {_p} with firework rocket named "&fFirework" with lore "&fNeed to celebrate? These||&fFireworks should do the trick!" to be unstealable
2727 if {_arg2} is "tnt":
2728 format slot 4 of {_p} with prismarine shard named "&fTreasure Shards" with lore "&f500 Treasure Shards will be||&fdeducated from your account balance" to be unstealable
2729 format slot 22 of {_p} with tnt named "&fTNT" with lore "&fThowing tnt at %{mineplex.config.servername}%||&fStaff is highly encouraged!" to be unstealable
2730 if {_arg1} is "confirm":
2731 if {_arg2} is "mount_slime":
2732 if {mineplex.shards.%{_p}%} is bigger than 9999:
2733 set {mineplex.proc.slot} to 45
2734 wait 2 ticks
2735 open chest with 6 rows named " Confirmation" to {_p}
2736 loop 9 times:
2737 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
2738 wait 1 tick
2739 add 1 to {mineplex.proc.slot}
2740 if {mineplex.proc.slot} is 54:
2741 message "&9Cosmetics> &7Purchased &eSlime Mount" to {mineplex.chest.buyplayer.%{_p}%}
2742 set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 1
2743 delShards({_p}, 10000)
2744 add 1 to {mineplex.%{_p}%.cosmetics.mounts}
2745 set {mineplex.error.slot} to 0
2746 loop 54 times:
2747 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased &eCreeper Morph" to close then run [cosmetic_system("menu", "morphs", {_p})]
2748 add 1 to {mineplex.error.slot}
2749 wait 2 ticks
2750 stop
2751 if {mineplex.shards.%{_p}%} is not bigger than 9999:
2752 wait 2 ticks
2753 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
2754 set {mineplex.error.slot} to 0
2755 loop 54 times:
2756 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "mounts", {_p})]
2757 add 1 to {mineplex.error.slot}
2758 if {_arg1} is "use":
2759 if {_arg2} is "mount_slime":
2760 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not 1:
2761 message "&9Gadget> &7You dont own this mount." to {_p}
2762 stop
2763 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
2764 if {mineplex.currentmorph.%{_p}%} is not set:
2765 set {mineplex.currentmorph.%{_p}%} to "None"
2766 if {currentmount.%{_p}%.type} is not "Slime Mount":
2767 if {currentmount.%{_p}%.type} is not "None":
2768 message "&9Gadget> &7You despawned &e%{currentmount.%{_p}%.type}%" to {_p}
2769 message "&9Gadget> &7You spawned &eSlime Mount" to {_p}
2770 mountapi({_p}, "create", "slime")
2771 cosmetic_system("menu", "mounts", {_p})
2772 stop
2773 if {currentmount.%{_p}%.type} is "Slime Mount":
2774 message "&9Gadget> &7You despawned &e%{currentmount.%{_p}%.type}%" to {_p}
2775 set {mineplex.currentmorph.%{_p}%} to "None"
2776 mountapi({_p}, "remove", "notused")
2777 cosmetic_system("menu", "morphs", {_p})
2778 stop
2779 if {_arg1} is "confirm":
2780 if {_arg2} is "morph_creeper":
2781 if {mineplex.shards.%{_p}%} is bigger than 9999:
2782 set {mineplex.proc.slot} to 45
2783 wait 2 ticks
2784 open chest with 6 rows named " Confirmation" to {_p}
2785 loop 9 times:
2786 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
2787 wait 1 tick
2788 add 1 to {mineplex.proc.slot}
2789 if {mineplex.proc.slot} is 54:
2790 message "&9Cosmetics> &7Purchased &eCreeper Morph" to {mineplex.chest.buyplayer.%{_p}%}
2791 set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 1
2792 delShards({_p}, 10000)
2793 add 1 to {mineplex.%{_p}%.cosmetics.morphs}
2794 set {mineplex.error.slot} to 0
2795 loop 54 times:
2796 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased &eCreeper Morph" to close then run [cosmetic_system("menu", "morphs", {_p})]
2797 add 1 to {mineplex.error.slot}
2798 wait 2 ticks
2799 stop
2800 if {mineplex.shards.%{_p}%} is not bigger than 9999:
2801 wait 2 ticks
2802 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
2803 set {mineplex.error.slot} to 0
2804 loop 54 times:
2805 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
2806 add 1 to {mineplex.error.slot}
2807 if {_arg1} is "use":
2808 if {_arg2} is "morph_creeper":
2809 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not 1:
2810 message "&9Gadget> &7You dont own this morph." to {_p}
2811 stop
2812 if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
2813 if {mineplex.currentmorph.%{_p}%} is not set:
2814 set {mineplex.currentmorph.%{_p}%} to "None"
2815 if {mineplex.currentmorph.%{_p}%} is not "Creeper Morph":
2816 if {mineplex.currentmorph.%{_p}%} is not "None":
2817 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2818 message "&9Gadget> &7You morphed into &eCreeper Morph" to {_p}
2819 set {mineplex.currentmorph.%{_p}%} to "Creeper Morph"
2820 execute console command "odisguise %{_p}% creeper"
2821 cosmetic_system("menu", "morphs", {_p})
2822 stop
2823 if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
2824 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2825 set {mineplex.currentmorph.%{_p}%} to "None"
2826 execute console command "undisguise %{_p}%"
2827 cosmetic_system("menu", "morphs", {_p})
2828 stop
2829 if {_arg1} is "use":
2830 if {_arg2} is "morph_wither":
2831 if {_p} has permission "mineplex.legend":
2832 if {mineplex.currentmorph.%{_p}%} is not set:
2833 set {mineplex.currentmorph.%{_p}%} to "None"
2834 if {mineplex.currentmorph.%{_p}%} is not "Wither Morph":
2835 if {mineplex.currentmorph.%{_p}%} is not "None":
2836 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2837 message "&9Gadget> &7You morphed into &eWither Morph" to {_p}
2838 set {mineplex.currentmorph.%{_p}%} to "Wither Morph"
2839 execute console command "odisguise %{_p}% wither"
2840 set {mineplex.dj.%{_p}%} to 0
2841 set {_p}'s flight state to true
2842 cosmetic_system("menu", "morphs", {_p})
2843 stop
2844 if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
2845 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2846 set {mineplex.currentmorph.%{_p}%} to "None"
2847 execute console command "undisguise %{_p}%"
2848 set {mineplex.dj.%{_p}%} to 1
2849 set {_p}'s flight state to false
2850 cosmetic_system("menu", "morphs", {_p})
2851 stop
2852 else:
2853 message "&9Gadget> &7You dont own this Morph" to {_p}
2854 if {_arg1} is "confirm":
2855 if {_arg2} is "morph_cow":
2856 if {mineplex.shards.%{_p}%} is bigger than 5999:
2857 set {mineplex.proc.slot} to 45
2858 wait 2 ticks
2859 open chest with 6 rows named " Confirmation" to {_p}
2860 loop 9 times:
2861 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
2862 wait 1 tick
2863 add 1 to {mineplex.proc.slot}
2864 if {mineplex.proc.slot} is 54:
2865 message "&9Cosmetics> &7Purchased &eCow Morph" to {mineplex.chest.buyplayer.%{_p}%}
2866 set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 1
2867 delShards({_p}, 6000)
2868 add 1 to {mineplex.%{_p}%.cosmetics.morphs}
2869 set {mineplex.error.slot} to 0
2870 loop 54 times:
2871 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased &eCow Morph" to close then run [cosmetic_system("menu", "morphs", {_p})]
2872 add 1 to {mineplex.error.slot}
2873 wait 2 ticks
2874 stop
2875 if {mineplex.shards.%{_p}%} is not bigger than 9999:
2876 wait 2 ticks
2877 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
2878 set {mineplex.error.slot} to 0
2879 loop 54 times:
2880 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
2881 add 1 to {mineplex.error.slot}
2882 if {_arg1} is "use":
2883 if {_arg2} is "morph_cow":
2884 if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not 1:
2885 message "&9Gadget> &7You dont own this morph." to {_p}
2886 stop
2887 if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 1:
2888 if {mineplex.currentmorph.%{_p}%} is not set:
2889 set {mineplex.currentmorph.%{_p}%} to "None"
2890 if {mineplex.currentmorph.%{_p}%} is not "Cow Morph":
2891 if {mineplex.currentmorph.%{_p}%} is not "None":
2892 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2893 message "&9Gadget> &7You morphed into &eCow Morph" to {_p}
2894 set {mineplex.currentmorph.%{_p}%} to "Cow Morph"
2895 execute console command "odisguise %{_p}% cow"
2896 cosmetic_system("menu", "morphs", {_p})
2897 stop
2898 if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
2899 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2900 set {mineplex.currentmorph.%{_p}%} to "None"
2901 execute console command "undisguise %{_p}%"
2902 cosmetic_system("menu", "morphs", {_p})
2903 stop
2904 if {_arg1} is "confirm":
2905 if {_arg2} is "morph_slime":
2906 if {mineplex.shards.%{_p}%} is bigger than 19999:
2907 set {mineplex.proc.slot} to 45
2908 wait 2 ticks
2909 open chest with 6 rows named " Confirmation" to {_p}
2910 loop 9 times:
2911 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
2912 wait 1 tick
2913 add 1 to {mineplex.proc.slot}
2914 if {mineplex.proc.slot} is 54:
2915 message "&9Cosmetics> &7Purchased &eSlime Morph" to {mineplex.chest.buyplayer.%{_p}%}
2916 set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 1
2917 delShards({_p}, 20000)
2918 add 1 to {mineplex.%{_p}%.cosmetics.morphs}
2919 set {mineplex.error.slot} to 0
2920 loop 54 times:
2921 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased &eSlime Morph" to close then run [cosmetic_system("menu", "morphs", {_p})]
2922 add 1 to {mineplex.error.slot}
2923 wait 2 ticks
2924 stop
2925 if {mineplex.shards.%{_p}%} is not bigger than 19999:
2926 wait 2 ticks
2927 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
2928 set {mineplex.error.slot} to 0
2929 loop 54 times:
2930 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
2931 add 1 to {mineplex.error.slot}
2932 if {_arg1} is "use":
2933 if {_arg2} is "morph_slime":
2934 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not 1:
2935 message "&9Gadget> &7You dont own this morph." to {_p}
2936 stop
2937 if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
2938 if {mineplex.currentmorph.%{_p}%} is not set:
2939 set {mineplex.currentmorph.%{_p}%} to "None"
2940 if {mineplex.currentmorph.%{_p}%} is not "Slime Morph":
2941 if {mineplex.currentmorph.%{_p}%} is not "None":
2942 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2943 message "&9Gadget> &7You morphed into &eSlime Morph" to {_p}
2944 set {mineplex.currentmorph.%{_p}%} to "Slime Morph"
2945 execute console command "odisguise %{_p}% slime"
2946 cosmetic_system("menu", "morphs", {_p})
2947 stop
2948 if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
2949 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2950 set {mineplex.currentmorph.%{_p}%} to "None"
2951 execute console command "undisguise %{_p}%"
2952 cosmetic_system("menu", "morphs", {_p})
2953 stop
2954 if {_arg1} is "confirm":
2955 if {_arg2} is "morph_villager":
2956 if {mineplex.shards.%{_p}%} is bigger than 11999:
2957 set {mineplex.proc.slot} to 45
2958 wait 2 ticks
2959 open chest with 6 rows named " Confirmation" to {_p}
2960 loop 9 times:
2961 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
2962 wait 1 tick
2963 add 1 to {mineplex.proc.slot}
2964 if {mineplex.proc.slot} is 54:
2965 message "&9Cosmetics> &7Purchased &eVillager Morph" to {mineplex.chest.buyplayer.%{_p}%}
2966 set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 1
2967 delShards({_p}, 12000)
2968 add 1 to {mineplex.%{_p}%.cosmetics.morphs}
2969 set {mineplex.error.slot} to 0
2970 loop 54 times:
2971 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased &eVillager morph" to close then run [cosmetic_system("menu", "morphs", {_p})]
2972 add 1 to {mineplex.error.slot}
2973 wait 2 ticks
2974 stop
2975 if {mineplex.shards.%{_p}%} is not bigger than 499:
2976 wait 3 ticks
2977 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
2978 wait 2 ticks
2979 set {mineplex.error.slot} to 0
2980 loop 54 times:
2981 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
2982 add 1 to {mineplex.error.slot}
2983 if {_arg1} is "use":
2984 if {_arg2} is "morph_villager":
2985 if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not 1:
2986 message "&9Gadget> &7You dont own this morph." to {_p}
2987 stop
2988 if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
2989 if {mineplex.currentmorph.%{_p}%} is not set:
2990 set {mineplex.currentmorph.%{_p}%} to "None"
2991 if {mineplex.currentmorph.%{_p}%} is not "villager Morph":
2992 if {mineplex.currentmorph.%{_p}%} is not "None":
2993 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
2994 message "&9Gadget> &7You morphed into &eVillager Morph" to {_p}
2995 set {mineplex.currentmorph.%{_p}%} to "Villager Morph"
2996 execute console command "odisguise %{_p}% villager"
2997 cosmetic_system("menu", "morphs", {_p})
2998 stop
2999 if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
3000 message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
3001 set {mineplex.currentmorph.%{_p}%} to "None"
3002 execute console command "undisguise %{_p}%"
3003 cosmetic_system("menu", "morphs", {_p})
3004 stop
3005 if {_arg1} is "use":
3006 if {_arg2} is "pearl":
3007 if {mineplex.gadget.selected.%{_p}%} is "Ethereal Pearl":
3008 message "&9Gadget> &7You unequipped &eEthereal Pearl" to {_p}
3009 set {mineplex.gadget.selected.%{_p}%} to "None"
3010 set slot 3 of {_p} to air with name "lolz"
3011 cosmetic_system("menu", "gadgets", {_p})
3012 stop
3013 message "&9Cosmetics> &7You equipped &eEthereal Pearl" to {_p}
3014 set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.pearl}% &5Ethereal Pearls"
3015 set {mineplex.gadget.selected.%{_p}%} to "Ethereal Pearl"
3016 cosmetic_system("menu", "gadgets", {_p})
3017 stop
3018 if {_arg1} is "confirm":
3019 if {_arg2} is "pearl":
3020 if {mineplex.shards.%{_p}%} is bigger than 499:
3021 set {mineplex.proc.slot} to 45
3022 wait 2 ticks
3023 open chest with 6 rows named " Confirmation" to {_p}
3024 loop 9 times:
3025 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
3026 wait 1 tick
3027 add 1 to {mineplex.proc.slot}
3028 if {mineplex.proc.slot} is 54:
3029 message "&9Cosmetics> &7Purchased 50x &eEthereal Pearl" to {mineplex.chest.buyplayer.%{_p}%}
3030 add 50 to {mineplex.%{_p}%.cosmetics.gadgets.pearl}
3031 delShards({_p}, 50)
3032 set {mineplex.error.slot} to 0
3033 loop 54 times:
3034 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased 50x &eEthereal Pearl" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3035 add 1 to {mineplex.error.slot}
3036 wait 2 ticks
3037 stop
3038 if {mineplex.shards.%{_p}%} is not bigger than 499:
3039 wait 2 ticks
3040 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
3041 set {mineplex.error.slot} to 0
3042 loop 54 times:
3043 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3044 add 1 to {mineplex.error.slot}
3045 if {_arg1} is "use":
3046 if {_arg2} is "firework":
3047 if {mineplex.gadget.selected.%{_p}%} is "Fireworks":
3048 message "&9Gadget> &7You unequipped &eFireworks" to {_p}
3049 set {mineplex.gadget.selected.%{_p}%} to "None"
3050 set slot 3 of {_p} to air with name "lolz"
3051 cosmetic_system("menu", "gadgets", {_p})
3052 stop
3053 message "&9Gadget> &7You equipped &eFireworks" to {_p}
3054 set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.firework}% &eFireworks"
3055 set {mineplex.gadget.selected.%{_p}%} to "Fireworks"
3056 cosmetic_system("menu", "gadgets", {_p})
3057 stop
3058 if {_arg1} is "use":
3059 if {_arg2} is "tnt":
3060 if {mineplex.gadget.selected.%{_p}%} is "TNT":
3061 message "&9Gadget> &7You unequipped &eTNT" to {_p}
3062 set {mineplex.gadget.selected.%{_p}%} to "None"
3063 set slot 3 of {_p} to air with name "lolz"
3064 cosmetic_system("menu", "gadgets", {_p})
3065 stop
3066 message "&9Gadget> &7You equipped &eTNT" to {_p}
3067 set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.tnt}% &eTNT"
3068 set {mineplex.gadget.selected.%{_p}%} to "TNT"
3069 cosmetic_system("menu", "gadgets", {_p})
3070 if {_arg1} is "use":
3071 if {_arg2} is "snowball":
3072 if {mineplex.gadget.selected.%{_p}%} is "Snowball":
3073 message "&9Gadget> &7You unequipped &eSnowball" to {_p}
3074 set {mineplex.gadget.selected.%{_p}%} to "None"
3075 set slot 3 of {_p} to air with name "lolz"
3076 cosmetic_system("menu", "gadgets", {_p})
3077 stop
3078 message "&9Gadget> &7You equipped &eSnowball" to {_p}
3079 set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.snowball}% &eSnowballs"
3080 set {mineplex.gadget.selected.%{_p}%} to "Snowball"
3081 cosmetic_system("menu", "gadgets", {_p})
3082 if {_arg1} is "confirm":
3083 if {_arg2} is "firework":
3084 if {mineplex.shards.%{_p}%} is bigger than 499:
3085 set {mineplex.proc.slot} to 45
3086 wait 2 ticks
3087 open chest with 6 rows named " Confirmation" to {_p}
3088 loop 9 times:
3089 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
3090 wait 1 tick
3091 add 1 to {mineplex.proc.slot}
3092 if {mineplex.proc.slot} is 54:
3093 message "&9Cosmetics> &7Purchased 50x &eFireworks" to {_p}
3094 add 50 to {mineplex.%{_p}%.cosmetics.gadgets.firework}
3095 delShards({_p}, 500)
3096 set {mineplex.error.slot} to 0
3097 loop 54 times:
3098 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased 50x &eFirworks" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3099 add 1 to {mineplex.error.slot}
3100 wait 2 ticks
3101 stop
3102 if {mineplex.shards.%{_p}%} is not bigger than 499:
3103 wait 2 ticks
3104 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
3105 set {mineplex.error.slot} to 0
3106 loop 54 times:
3107 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3108 add 1 to {mineplex.error.slot}
3109 if {_arg1} is "confirm":
3110 if {_arg2} is "tnt":
3111 if {mineplex.shards.%{_p}%} is bigger than 499:
3112 set {mineplex.proc.slot} to 45
3113 wait 2 ticks
3114 open chest with 6 rows named " Confirmation" to {_p}
3115 loop 9 times:
3116 format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
3117 wait 1 tick
3118 add 1 to {mineplex.proc.slot}
3119 if {mineplex.proc.slot} is 54:
3120 message "&9Cosmetics> &7Purchased 50x &eTNT" to {_p}
3121 add 50 to {mineplex.%{_p}%.cosmetics.gadgets.tnt}
3122 delShards({_p}, 500)
3123 set {mineplex.error.slot} to 0
3124 loop 54 times:
3125 format slot {mineplex.error.slot} of {_p} with emerald block named "&aPurchase Successful" with lore "&7Purchased 50x &eTNT" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3126 add 1 to {mineplex.error.slot}
3127 wait 2 ticks
3128 stop
3129 if {mineplex.shards.%{_p}%} is not bigger than 499:
3130 wait 2 ticks
3131 open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
3132 set {mineplex.error.slot} to 0
3133 loop 54 times:
3134 format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
3135 add 1 to {mineplex.error.slot}
3136
3137on right click:
3138 if player's tool is a chest:
3139 if name of player's tool is "&aCosmetic Menu":
3140 cancel event
3141 cosmetic_system("menu", "main", player)
3142
3143on left click:
3144 if player's tool is a chest:
3145 if name of player's tool is "&aCosmetic Menu":
3146 cancel event
3147 cosmetic_system("menu", "main", player)
3148
3149on damage:
3150 victim's name contains "Pet"
3151 cancel event
3152
3153on any move:
3154 if {mineplex.particle.selected.%player%} is "shadow":
3155 loop all players:
3156 show 1 "footstep" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
3157 if {mineplex.particle.selected.%player%} is "flame":
3158 loop all players:
3159 show 1 "flame" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
3160
3161command /giveitem [<player>] [<number>] [<text>]:
3162 permission: mineplex.support
3163 permission message: &9Permissions> &7You do not have permission to do that.
3164 trigger:
3165 if arg 3 is "hat_compCube":
3166 if {mineplex.hat.%arg 1%.owned.compCube} is 1:
3167 message "&9Cosmetics> &e%arg 1% &7already owns &eCompanion Cube"
3168 stop
3169 set {mineplex.hat.%arg 1%.owned.compCube} to 1
3170 add 1 to {mineplex.%arg 1%.cosmetics.hats}
3171 message "&9Cosmetics> &7You gave &e%arg 1% Companion Cube" to player
3172 message "&9Cosmetics> &7You recieved the &eCompanion Cube &7from &e%player%" to arg 1
3173 stop
3174 if arg 3 is "hat_present":
3175 if {mineplex.hat.%arg 1%.owned.present} is 1:
3176 message "&9Cosmetics> &e%arg 1% &7already owns &ePresent"
3177 stop
3178 set {mineplex.hat.%arg 1%.owned.present} to 1
3179 add 1 to {mineplex.%arg 1%.cosmetics.hats}
3180 message "&9Cosmetics> &7You gave &e%arg 1% Present" to player
3181 message "&9Cosmetics> &7You recieved the &ePresent &7from &e%player%" to arg 1
3182 stop
3183 if arg 3 is "particle_shadow":
3184 if {mineplex.particle.%arg 1%.owned.shadow} is 1:
3185 message "&9Cosmetics> &e%arg 1% &7already owns &eShadow Walk"
3186 stop
3187 set {mineplex.particle.%arg 1%.owned.shadow} to 1
3188 add 1 to {mineplex.%arg 1%.cosmetics.particles}
3189 message "&9Cosmetics> &7You gave &e%arg 1% Shadow Walk" to player
3190 message "&9Cosmetics> &7You recieved the &eShadow Walk &7from &e%player%" to arg 1
3191 stop
3192 if arg 3 is "particle_flame":
3193 if {mineplex.particle.%arg 1%.owned.flame} is 1:
3194 message "&9Cosmetics> &e%arg 1% &7already owns &eShadow Walk"
3195 stop
3196 set {mineplex.particle.%arg 1%.owned.flame} to 1
3197 add 1 to {mineplex.%arg 1%.cosmetics.particles}
3198 message "&9Cosmetics> &7You gave &e%arg 1% Flame Rings" to player
3199 message "&9Cosmetics> &7You recieved the &eFlame Rings &7from &e%player%" to arg 1
3200 stop
3201 if arg 3 is "take:hat_compCube":
3202 if {mineplex.hat.%arg 1%.owned.compCube} is 0:
3203 message "&9Cosmetics> &e%arg 1% &7doesnt own &eCompanion Cube"
3204 stop
3205 set {mineplex.hat.%arg 1%.owned.compCube} to 0
3206 remove 1 from {mineplex.%arg 1%.cosmetics.hats}
3207 message "&9Cosmetics> &7You took &e%arg 1%'s Companion Cube" to player
3208 message "&9Cosmetics> &e%player% &7took your &eCompanion Cube" to arg 1
3209 stop
3210 if arg 3 is "take:hat_present":
3211 if {mineplex.hat.%arg 1%.owned.present} is 0:
3212 message "&9Cosmetics> &e%arg 1% &7doesnt own &ePresent"
3213 stop
3214 set {mineplex.hat.%arg 1%.owned.present} to 0
3215 remove 1 from {mineplex.%arg 1%.cosmetics.hats}
3216 message "&9Cosmetics> &7You took &e%arg 1%'s Present" to player
3217 message "&9Cosmetics> &e%player% &7took your &ePresent" to arg 1
3218 stop
3219 if arg 3 is "pearl":
3220 add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.pearl}
3221 message "&9Item> &7You gave %arg 2% Ethereal Pearls &7to player %arg 1%" to player
3222 message "&9Item> &e%player% &7gave you &e%arg 2% Ethereal Pearls" to arg 1
3223 stop
3224 if arg 3 is "fireworks":
3225 add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.firework}
3226 message "&9Item> &7You gave %arg 2% Fireworks &7to player %arg 1%" to player
3227 message "&9Item> &e%player% &7gave you &e%arg 2% Fireworks" to arg 1
3228 stop
3229 if arg 3 is "coal":
3230 add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.coal}
3231 message "&9Item> &7You gave %arg 2% Coal &7to player %arg 1%" to player
3232 message "&9Item> &e%player% &7gave you &e%arg 2% Coal" to arg 1
3233 stop
3234 if arg 3 is "tnt":
3235 add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.tnt}
3236 message "&9Item> &7You gave %arg 2% TNT &7to player %arg 1%" to player
3237 message "&9Item> &e%player% &7gave you &e%arg 2% TNT" to arg 1
3238 stop
3239 if arg 3 is "snowball":
3240 add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.snowball}
3241 message "&9Item> &7You gave %arg 2% Snowballs &7to player %arg 1%" to player
3242 message "&9Item> &e%player% &7gave you &e%arg 2% Snowballs" to arg 1
3243 stop
3244 message "&9Cosmetics> &c&lInvalid Cosmetic."
3245
3246
3247command /gadget:
3248 permission: mineplex.admin
3249 permission message: &9Permissions> &7You do not have permission to do that.
3250 trigger:
3251 if {mineplex.cosmetics} is not set:
3252 set {mineplex.cosmetics} to 1
3253 if {mineplex.cosmetics} is 1:
3254 set {mineplex.cosmetics} to 0
3255 broadcast "&f&lGadgets/Mounts are now &c&lDisabled"
3256 stop
3257 if {mineplex.cosmetics} is 0:
3258 set {mineplex.cosmetics} to 1
3259 broadcast "&f&lGadgets/Mounts are now &a&lEnabled"
3260 stop
3261
3262every tick:
3263 loop all players:
3264 if {mineplex.cosmetics} is not set:
3265 set {mineplex.cosmetics} to 1
3266 if {mineplex.cosmetics} is 0:
3267 set slot 3 of loop-player to air with name "remove"
3268 stop
3269 loop-player's gamemode is not creative:
3270 if {mineplex.cosmetics.%loop-player%} is not set:
3271 set {mineplex.cosmetics.%loop-player%} to 1
3272 if {mineplex.gadget.selected.%loop-player%} is "Ethereal Pearl":
3273 set slot 3 of loop-player to ender pearl with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.pearl}% Ethereal Pearl"
3274 if {mineplex.gadget.selected.%loop-player%} is "Fireworks":
3275 set slot 3 of loop-player to firework rocket with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.firework}% Fireworks"
3276 if {mineplex.gadget.selected.%loop-player%} is "Coal":
3277 set slot 3 of loop-player to coal with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.coal}% Coal"
3278 if {mineplex.gadget.selected.%loop-player%} is "TNT":
3279 set slot 3 of loop-player to tnt with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.tnt}% TNT"
3280 if {mineplex.gadget.selected.%loop-player%} is "Snowball":
3281 set slot 3 of loop-player to snowball with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.snowball}% Snowballs"
3282
3283
3284on shoot:
3285 if projectile is an enderpearl:
3286 if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.pearl}% Ethereal Pearl":
3287 if {mineplex.%shooter%.cosmetics.gadgets.pearl} is 0:
3288 cancel event
3289 cosmetic_system("buy", "pearl", shooter)
3290 stop
3291 if {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} is 1:
3292 set action bar of shooter to "&f&lEthereal Pearl is recharging"
3293 cancel event
3294 stop
3295 remove 1 from {mineplex.%shooter%.cosmetics.gadgets.pearl}
3296 set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 1
3297 message "&9Skill> &7You threw &aEthereal Pearl&7." to shooter
3298 make shooter ride projectile
3299 wait 3 ticks
3300 make shooter ride projectile
3301 wait 3 seconds
3302 set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 0
3303 set action bar of shooter to "&a&lEthereal Pearl Recharged."
3304 if projectile is an snowball:
3305 if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.snowball}% Snowballs":
3306 if {mineplex.%shooter%.cosmetics.gadgets.snowball} is 0:
3307 cancel event
3308 message "&9Gadget> &7You have no Snowballs left!" to shooter
3309 stop
3310 if {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} is 1:
3311 set action bar of shooter to "&f&lSnowball is recharging"
3312 cancel event
3313 stop
3314 remove 1 from {mineplex.%shooter%.cosmetics.gadgets.snowball}
3315 set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 1
3316 message "&9Skill> &7You threw &aSnowball&7." to shooter
3317 wait 10 ticks
3318 set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 0
3319 set action bar of shooter to "&a&lSnowball Recharged."
3320
3321on right click:
3322 if player's tool is tnt:
3323 if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.tnt}% TNT":
3324 if {mineplex.%player%.cosmetics.gadgets.tnt} is less than 1:
3325 cosmetic_system("buy", "tnt", player)
3326 stop
3327 if {mineplex.%player%.cosmetics.gadgets.tntCooldown} is 1:
3328 set action bar of player to "&f&lTNT is recharging"
3329 stop
3330 remove 1 from {mineplex.%player%.cosmetics.gadgets.tnt}
3331 spawn a primed tnt 1 meter above the player
3332 add "{Fuse:60}" to nbt of the spawned entity
3333 push the spawned entity in direction of player at speed 0.9
3334 push the spawned entity upwards at speed 0.2
3335 message "&9Skill> &7You threw &aTNT&7."
3336 set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 1
3337 wait 3 seconds
3338 set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 0
3339 set action bar of player to "&a&lTNT Recharged."
3340
3341on right click:
3342 if player's tool is firework rocket:
3343 if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.firework}% Fireworks":
3344 if {mineplex.%player%.cosmetics.gadgets.firework} is 0:
3345 cancel event
3346 cosmetic_system("buy", "firework", player)
3347 stop
3348 if {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} is 1:
3349 set action bar of player to "&f&lFireworks &f&lis recharging..."
3350 cancel event
3351 stop
3352 remove 1 from {mineplex.%player%.cosmetics.gadgets.firework}
3353 cancel event
3354 set {firework} to a random integer from 1 to 15
3355 if {firework} is 1:
3356 launch creeper firework colored red at player timed 1
3357 if {firework} is 2:
3358 launch burst firework colored green at player timed 1
3359 if {firework} is 3:
3360 launch ball firework colored yellow at player timed 1
3361 if {firework} is 4:
3362 launch ball firework colored blue at player timed 1
3363 if {firework} is 5:
3364 launch burst firework colored red at player timed 1
3365 if {firework} is 6:
3366 launch creeper firework colored light green at player timed 1
3367 if {firework} is 7:
3368 launch burst firework colored light green at player timed 1
3369 if {firework} is 8:
3370 launch ball firework colored orange at player timed 1
3371 if {firework} is 9:
3372 launch burst firework colored orange at player timed 1
3373 if {firework} is 10:
3374 launch creeper firework colored pink at player timed 1
3375 if {firework} is 11:
3376 launch burst firework colored orange at player timed 1
3377 if {firework} is 12:
3378 launch burst firework colored light green at player timed 1
3379 if {firework} is 13:
3380 launch burst firework colored blue at player timed 1
3381 if {firework} is 14:
3382 launch burst firework colored blue at player timed 1
3383 if {firework} is 15:
3384 launch burst firework colored yellow at player timed 1
3385 set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 1
3386 message "&9Skill> &7You used &aFireworks&7."
3387 wait 10 ticks
3388 set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 0
3389 set action bar of player to "&a&lFireworks Recharged."
3390on right click:
3391 if player's tool is coal:
3392 if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.coal}% Coal":
3393 if {mineplex.%player%.cosmetics.gadgets.coal} is 0:
3394 message "&9Coal> &7You should go and get some coal..."
3395 stop
3396 if {mineplex.%player%.cosmetics.gadgets.coalCooldown} is 1:
3397 set action bar of player to "&f&lCoal &f&lis recharging..."
3398 cancel event
3399 stop
3400 message "&9Skill> &7You used &aCoal&7."
3401 set {coalMessage} to a random integer from 1 to 10
3402 if {coalMessage} is 1:
3403 message "&9Coal> &7Maybe you could... eat it?"
3404 if {coalMessage} is 2:
3405 message "&9Coal> &7Now... if you only had a furnace."
3406 if {coalMessage} is 3:
3407 message "&9Coal> &7Did you know a diamond is formed from coal?"
3408 if {coalMessage} is 4:
3409 message "&9Coal> &7Coal is a word that sounds wierd if you say it too much."
3410 if {coalMessage} is 5:
3411 message "&9Coal> &7Did you know coal is used for &knothing&7!"
3412 if {coalMessage} is 6:
3413 message "&9Coal> &7I hope you didn't miss any diamonds."
3414 if {coalMessage} is 7:
3415 message "&9Coal> &7Na na na na, Na na na na, &8BLACK COAL"
3416 if {coalMessage} is 8:
3417 message "&9Coal> &7With 9 of these you could make a Block."
3418 if {coalMessage} is 9:
3419 message "&9Coal> &7Lava is hotter, but coal is quicker."
3420 if {coalMessage} is 10:
3421 message "&9Coal> &7For what do you even need Coal on a Minigame server?"
3422 set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 1
3423 wait 10 ticks
3424 set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 0
3425 set action bar of player to "&a&lCoal Recharged."
3426
3427#Slime mount test
3428on right click on slime:
3429 if {currentmount.%player%} is not set:
3430 delete {currentmount.%player%}
3431 message "&9Mount> &7This is not your mount."
3432 else:
3433 if {currentmount.%player%} is the clicked entity:
3434 make the player ride the clicked entity
3435 else:
3436 message "&9Mount> &7This is not your mount."
3437
3438
3439
3440on explode:
3441 create a safe explosion with force 3
3442 cancel event
3443
3444on damage:
3445 attacker's name contains "Slime"
3446 set damage to 0
3447 cancel event
3448
3449#Morph Disablers (Quit)
3450on quit:
3451 if {mineplex.currentmorph.%player%} is "Creeper Morph":
3452 cosmetic_system("use", "morph_creeper", player)
3453 if {mineplex.currentmorph.%player%} is "Slime Morph":
3454 cosmetic_system("use", "morph_slime", player)
3455 if {mineplex.currentmorph.%player%} is "Cow Morph":
3456 cosmetic_system("use", "morph_cow", player)
3457 if {mineplex.currentmorph.%player%} is "Villager Morph":
3458 cosmetic_system("use", "morph_villager", player)
3459 if {mineplex.currentmorph.%player%} is "Wither Morph":
3460 cosmetic_system("use", "morph_wither", player)
3461
3462#Treasure System
3463
3464function resetPoints(p: offline player, l: number) :: number:
3465 delete {mineplex.chestbusy.%{_l}%}
3466 delete {mineplex.inchest.%{_p}%}
3467 delete {mineplex.chestsopened.%{_p}%}
3468 set block at {mineplex.chestpoint.%{_l}%.sub.1} to air
3469 set block at {mineplex.chestpoint.%{_l}%.sub.2} to air
3470 set block at {mineplex.chestpoint.%{_l}%.sub.3} to air
3471 set block at {mineplex.chestpoint.%{_l}%.sub.4} to air
3472 set block at {mineplex.chestpoint.%{_l}%.sub.5} to air
3473 set block at {mineplex.chestpoint.%{_l}%.sub.6} to air
3474 set block at {mineplex.chestpoint.%{_l}%.sub.7} to air
3475 set block at {mineplex.chestpoint.%{_l}%.sub.8} to air
3476 set block at {mineplex.chestpoint.%{_l}%} to chest
3477
3478function rewardTreasure(p: player , c: number , l: number , s: number) :: number:
3479 set {_mineplex.chestpoint.%{_l}%.sub.%{_s}%} to {mineplex.chestpoint.%{_l}%.sub.%{_s}%}
3480 add 0 to y-coordinate of {_mineplex.chestpoint.%{_l}%.sub.%{_s}%}
3481 if {_c} is 3:
3482 set {_r} to a random integer between 1 and 350
3483 if {_r} is 50:
3484 if {mineplex.rank.%{_p}%} is "":
3485 set {_ra} to "ULTRA"
3486 else if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
3487 set {_ra} to "HERO"
3488 else if {mineplex.rank.%{_p}%} is "&d&lHERO ":
3489 set {_ra} to "LEGEND"
3490 else if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
3491 set {_ra} to "TITAN"
3492 else if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
3493 set {_ra} to "ETERNAL"
3494 else:
3495 set {_ra} to a random integer between 2750 and 3750
3496 broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
3497 addShards({_p}, {_ra})
3498 wait 2.25 seconds
3499 execute console command "/rank set %{_p}% %{_ra}%"
3500 broadcast "&9Treasure> &e%{_p}% &7found &cMythical %{_ra}% Rank&7."
3501 send all players title "&eTreasure" with subtitle "&f%{_p}% has found &cMythical Rank Upgrade" for 10 seconds
3502 else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
3503 set {_ra} to a random integer between 1500 and 2250
3504 broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
3505 addShards({_p}, {_ra})
3506 else if {_r} is 35 or 36 or 37 or 38 or 39 or 40 or 41 or 42 or 43 or 44 or 65 or 64 or 63 or 62 or 61 or 60 or 59 or 58 or 57 or 56 or 55:
3507 set {_ra} to a random integer between 1025 and 1495
3508 broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
3509 addShards({_p}, {_ra})
3510 else if {_r} is 21 or 22 or 23 or 24 or 25 or 26 or 27 or 28 or 29 or 30 or 31 or 32 or 33 or 34 or 65 or 66 or 67 or 68:
3511 set {_ra} to a random integer between 525 and 985
3512 send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
3513 addShards({_p}, {_ra})
3514 else:
3515 set {_ra} to a random integer between 150 and 499
3516 send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
3517 addShards({_p}, {_ra})
3518 else:
3519 set {_r} to a random integer between 1 and 350
3520 if {_r} is 50:
3521 set {_ra} to a random integer between 2750 and 3750
3522 broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
3523 addShards({_p}, {_ra})
3524 else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
3525 set {_ra} to a random integer between 1500 and 2250
3526 broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
3527 addShards({_p}, {_ra})
3528 wait 2.25 seconds
3529 resetPoints({_p}, {_l})
3530 delete {mineplex.inchest.%{_p}%}
3531 else if {_r} is 35 or 36 or 37 or 38 or 39 or 40 or 41 or 42 or 43 or 44 or 65 or 64 or 63 or 62 or 61 or 60 or 59 or 58 or 57 or 56 or 55:
3532 set {_ra} to a random integer between 1025 and 1495
3533 broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
3534 addShards({_p}, {_ra})
3535 else if {_r} is 21 or 22 or 23 or 24 or 25 or 26 or 27 or 28 or 29 or 30 or 31 or 32 or 33 or 34 or 65 or 66 or 67 or 68:
3536 set {_ra} to a random integer between 525 and 985
3537 send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
3538 addShards({_p}, {_ra})
3539 else:
3540 set {_ra} to a random integer between 150 and 499
3541 send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
3542 addShards({_p}, {_ra})
3543
3544on join:
3545 if {oldchests.%player%} is not set:
3546 set {oldchests.%player%} to 0
3547 if {ancientchests.%player%} is not set:
3548 set {ancientchests.%player%} to 0
3549 if {mythicalchests.%player%} is not set:
3550 set {mythicalchests.%player%} to 0
3551
3552function buyChest(p: player, n: number) :: player:
3553 if {_n} is 1:
3554 if {mineplex.shards.%{_p}%} >= 1000:
3555 close {_p}'s inventory
3556 wait 3 ticks
3557 open chest with 6 rows named " Confirmation" to {_p}
3558 wait 5 ticks
3559 set {_slot} to 0
3560 format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3561 loop 44 times:
3562 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3563 add 1 to {_slot}
3564 loop 10 times:
3565 wait 1 tick
3566 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3567 add 1 to {slot}
3568 delShards({_p}, 1000)
3569 add 1 to {oldchests.%{_p}%}
3570 wait 10 ticks
3571 close {_p}'s inventory
3572 else:
3573 close {_p}'s inventory
3574 wait 3 ticks
3575 open chest with 6 rows named " Confirmation" to {_p}
3576 wait 5 ticks
3577 format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3578 set {_slot} to 0
3579 loop 54 times:
3580 format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3581 add 1 to {_slot}
3582 wait 10 ticks
3583 close {_p}'s inventory
3584 if {_n} is 2:
3585 if {mineplex.shards.%{_p}%} >= 5000:
3586 close {_p}'s inventory
3587 wait 3 ticks
3588 open chest with 6 rows named " Confirmation" to {_p}
3589 wait 5 ticks
3590 set {_slot} to 0
3591 format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3592 loop 44 times:
3593 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3594 add 1 to {_slot}
3595 loop 10 times:
3596 wait 1 tick
3597 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3598 add 1 to {slot}
3599 remove 5000 from {mineplex.shards.%{_p}%}
3600 delShards({_p}, 5000)
3601 add 1 to {ancientchests.%{_p}%}
3602 wait 10 ticks
3603 close {_p}'s inventory
3604 else:
3605 close {_p}'s inventory
3606 wait 3 ticks
3607 open chest with 6 rows named " Confirmation" to {_p}
3608 wait 5 ticks
3609 format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3610 set {_slot} to 0
3611 loop 54 times:
3612 format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3613 add 1 to {_slot}
3614 wait 10 ticks
3615 close {_p}'s inventory
3616 if {_n} is 3:
3617 if {mineplex.shards.%{_p}%} >= 10000:
3618 close {_p}'s inventory
3619 wait 3 ticks
3620 open chest with 6 rows named " Confirmation" to {_p}
3621 wait 5 ticks
3622 set {_slot} to 0
3623 format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3624 loop 44 times:
3625 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3626 add 1 to {_slot}
3627 loop 10 times:
3628 wait 1 tick
3629 format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
3630 add 1 to {slot}
3631 delShards({_p}, 10000)
3632 add 1 to {mythicalchests.%{_p}%}
3633 wait 10 ticks
3634 close {_p}'s inventory
3635 else:
3636 close {_p}'s inventory
3637 wait 3 ticks
3638 open chest with 6 rows named " Confirmation" to {_p}
3639 wait 5 ticks
3640 format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3641 set {_slot} to 0
3642 loop 54 times:
3643 format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
3644 add 1 to {_slot}
3645 wait 10 ticks
3646 close {_p}'s inventory
3647
3648function openTreasure(p: player , c: number , l: number) :: number:
3649 if {_c} is 1:
3650 if {oldchests.%{_p}%} < 1:
3651 close {_p}'s inventory
3652 wait 2 ticks
3653 open chest with 6 rows named " Confirmation" to {_p}
3654 wait 1 tick
3655 format slot 4 of {_p} with prismarine shard named "&b&l1000 Shards" to be unstealable
3656 format slot 22 of {_p} with chest named "&a&lOld Chest" with lore " ||&fOld Chests Owned: &e0 ||&7We've scoured the lands of Minecraft||&7and found these abandoned chests.||&7The contents are unknown, but||&7according to the inscriptions on the||&7straps they appear to contain||&7many kinds of loot." to be unstealable
3657 format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3658 format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3659 format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3660 format slot 33 of {_p} with redstone block named "&cNO" to close
3661 format slot 34 of {_p} with redstone block named "&cNO" to close
3662 format slot 35 of {_p} with redstone block named "&cNO" to close
3663 format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3664 format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3665 format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3666 format slot 42 of {_p} with redstone block named "&cNO" to close
3667 format slot 43 of {_p} with redstone block named "&cNO" to close
3668 format slot 44 of {_p} with redstone block named "&cNO" to close
3669 format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3670 format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3671 format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
3672 format slot 51 of {_p} with redstone block named "&cNO" to close
3673 format slot 52 of {_p} with redstone block named "&cNO" to close
3674 format slot 53 of {_p} with redstone block named "&cNO" to close
3675 if {oldchests.%{_p}%} >= 1:
3676 remove 1 from {oldchests.%{_p}%}
3677 set {mineplex.chestbusy.%{_l}%.} to {_p}
3678 send {_p} title "&eOld Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
3679 set {mineplex.inchest.%{_p}%} to {_l}
3680 set block at {mineplex.chestpoint.%{_l}%} to air
3681 teleport {_p} to {mineplex.chestpoint.%{_l}%}
3682 send "&9Treasure> &7Choose 4 chests to open" to {_p}
3683 wait 1.2 seconds
3684 set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
3685 set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
3686 set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
3687 set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
3688 set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
3689 set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
3690 set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
3691 set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
3692 set {_get} to getPlayerdata({_p}, "stats.global.chests")
3693 set {_cur} to {_get} parsed as a number
3694 add 1 to {_cur}
3695 setPlayerdata({_p}, "stats.global.chests", "%{_cur}%")
3696 if {_c} is 2:
3697 if {ancientchests.%{_p}%} < 1:
3698 close {_p}'s inventory
3699 wait 2 ticks
3700 open chest with 6 rows named " Confirmation" to {_p}
3701 wait 1 tick
3702 format slot 4 of {_p} with prismarine shard named "&b&l5000 Shards" to be unstealable
3703 format slot 22 of {_p} with chest named "&6&lAncient Chest" with lore " ||&fAncient Chests Owned: &e0 ||&7Some of our bravest adventurers||&7have discovered these chests within||&7temples hidden in Minecrafts worlds." to be unstealable
3704 format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3705 format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3706 format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3707 format slot 33 of {_p} with redstone block named "&cNO" to close
3708 format slot 34 of {_p} with redstone block named "&cNO" to close
3709 format slot 35 of {_p} with redstone block named "&cNO" to close
3710 format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3711 format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3712 format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3713 format slot 42 of {_p} with redstone block named "&cNO" to close
3714 format slot 43 of {_p} with redstone block named "&cNO" to close
3715 format slot 44 of {_p} with redstone block named "&cNO" to close
3716 format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3717 format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3718 format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
3719 format slot 51 of {_p} with redstone block named "&cNO" to close
3720 format slot 52 of {_p} with redstone block named "&cNO" to close
3721 format slot 53 of {_p} with redstone block named "&cNO" to close
3722 if {ancientchests.%{_p}%} >= 1:
3723 remove 1 from {ancientchests.%{_p}%}
3724 set {mineplex.chestbusy.%{_l}%.} to {_p}
3725 send {_p} title "&6Ancient Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
3726 set {mineplex.inchest.%{_p}%} to {_l}
3727 set block at {mineplex.chestpoint.%{_l}%} to air
3728 teleport {_p} to {mineplex.chestpoint.%{_l}%}
3729 send "&9Treasure> &7Choose 4 chests to open" to {_p}
3730 wait 2.5 seconds
3731 set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
3732 set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
3733 set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
3734 set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
3735 set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
3736 set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
3737 set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
3738 set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
3739 if {_c} is 3:
3740 if {mythicalchests.%{_p}%} < 1:
3741 close {_p}'s inventory
3742 wait 2 ticks
3743 open chest with 6 rows named " Confirmation" to {_p}
3744 wait 1 tick
3745 format slot 4 of {_p} with prismarine shard named "&b&l10000 Shards" to be unstealable
3746 format slot 22 of {_p} with ender chest named "&c&lMythical Chest" with lore " ||&fMythical Chests Owned: &e0 ||&7All our previous adventurers have||&7perished in search of these chests.||&7However, legends of thier existence||&7convinced Sterling, Chiss, and Defek7||&7to venture out and discover the||&7location of these chests on thier own." to be unstealable
3747 format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3748 format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3749 format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3750 format slot 33 of {_p} with redstone block named "&cNO" to close
3751 format slot 34 of {_p} with redstone block named "&cNO" to close
3752 format slot 35 of {_p} with redstone block named "&cNO" to close
3753 format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3754 format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3755 format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3756 format slot 42 of {_p} with redstone block named "&cNO" to close
3757 format slot 43 of {_p} with redstone block named "&cNO" to close
3758 format slot 44 of {_p} with redstone block named "&cNO" to close
3759 format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3760 format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3761 format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
3762 format slot 51 of {_p} with redstone block named "&cNO" to close
3763 format slot 52 of {_p} with redstone block named "&cNO" to close
3764 format slot 53 of {_p} with redstone block named "&cNO" to close
3765 if {mythicalchests.%{_p}%} >= 1:
3766 remove 1 from {mythicalchests.%{_p}%}
3767 set {mineplex.chestbusy.%{_l}%.} to {_p}
3768 send {_p} title "&cMythical Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
3769 set {mineplex.inchest.%{_p}%} to {_l}
3770 set block at {mineplex.chestpoint.%{_l}%} to air
3771 teleport {_p} to {mineplex.chestpoint.%{_l}%}
3772 send "&9Treasure> &7Choose 4 chests to open" to {_p}
3773 wait 2.5 seconds
3774 set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
3775 set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
3776 set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
3777 set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
3778 set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
3779 set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
3780 set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
3781 set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
3782
3783on inventory click:
3784 if inventory name of player's current inventory is " Confirmation":
3785 cancel event
3786 close player's inventory
3787
3788function TreasurePage(p: player , n: number , c: number) :: player:
3789 if {_N} is 2:
3790 if {_C} is 1:
3791 close {_p}'s inventory
3792 wait 4 ticks
3793 open chest with 6 rows named "Open Treasure - Page 2" to {_p}
3794 wait 2 ticks
3795 format slot 10 of {_p} with rose bush named "&a&lSpring Treasure" with lore " ||&fSpring Chests Owned: &e0 ||||&7Spring is here! Find 6 limited ||&7edition Spring Cosmetics in the ||&7Spring Chest! Only available for ||&7a limited time. Garunteed no ||&7Duplicate items! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3796 format slot 12 of {_p} with skull of ("luigi" parsed as an offline player) named "&a&lSt. Patrick's treasure" with lore "||&fSt Patrick's Chests Owned: &e0 ||||&7Happy St. Patrick's Day! Get||&7your Pot's of Gold and Luck||&7of the Irish in this chest! ||&7items, no duplicates||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3797 format slot 14 of {_p} with pink wool named "&c&lLove Chest" with lore " ||&fLove Chests Owned: &e0 ||||&7Cupid and his hunters have||&7searched far and wide to||&7collect a whole bunch of lovey||&7dovey items. 6 items, no||&7duplicates.||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3798 format slot 16 of {_p} with skull of ("CruXXx" parsed as an offline player) named "&2&lWinter Holiday Treasure" with lore "||&fWinter Holiday Chests Owned: &e0 ||||&7Legend tells of the Winter Lord's ||&7vast treasuer horde, locked away in ||&7a vault of ice, deep beneath the ||&7Frozen Sea. It is said it can only be ||&7accessed in the deepest parts of Winter... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3799 format slot 22 of {_p} with skull of ("EternalKnowedge" parsed as an offline player) named "&c&lFreedom &9&lTreasure" with lore "||&fFreedom Chests Owned: &e0 ||||&7It is said that George Washington ||&7carved this chest himself from the wood ||&7of the apple tree he cut down... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3800 format slot 28 of {_p} with skull of ("unyelped" parsed as an offline player) named "&6&lHaunted Treasure" with lore "||&fHaunted Chests Owned: &e0 ||||&7The haunted chest can only be found ||&7during the month of October when the ||&7veil between this world and the shadow is thin... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3801 format slot 30 of {_p} with skull of ("Torksi" parsed as an offline player) named "&6&lTrick or Treat Treasure" with lore "||&fTrick or Treat Chests Owned: &e0 ||||&7The Trick or Treat Chest contains all ||&7sorts of surprises. From Rank Upgrades to ||&7long lost Halloween items. and even other chests! ||||&cThis item is no longer available" to close
3802 format slot 32 of {_p} with cooked chicken named "&6&lThankful Treasure" with lore "||&fThankful Chests Owned: &e0 ||||&7The Thankful Chest is our way of ||&7showing thanks to you. Containing items from Rank Upgrades to ||&7Power Play Club Subscriptions. Among other things! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3803 format slot 34 of {_p} with skull of ("Ottelino" parsed as an offline player) named "&c&lGingerbread &a&lTreasure" with lore "||&fGingerbread Chests Owned: &e0 ||||&7The legendary burglar, the ||&7Gingerbread Man, has finally ||&7been caught! Now, for the first ||&7time his loot is available for ||&7auction. There are 8 pieces ||&7available to collect and no ||&7duplicates can be obtained from ||&7this chest! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3804 format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 1)]
3805 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3806 else if {_C} is 2:
3807 close {_p}'s inventory
3808 wait 4 ticks
3809 open chest with 6 rows named "Open Treasure - Page 2" to {_p}
3810 wait 2 ticks
3811 format slot 10 of {_p} with rose bush named "&a&lSpring Treasure" with lore " ||&fSpring Chests Owned: &e0 ||||&7Spring is here! Find 6 limited ||&7edition Spring Cosmetics in the ||&7Spring Chest! Only available for ||&7a limited time. Garunteed no ||&7Duplicate items! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3812 format slot 12 of {_p} with skull of ("luigi" parsed as an offline player) named "&a&lSt. Patrick's treasure" with lore "||&fSt Patrick's Chests Owned: &e0 ||||&7Happy St. Patrick's Day! Get||&7your Pot's of Gold and Luck||&7of the Irish in this chest! ||&7items, no duplicates||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3813 format slot 14 of {_p} with pink wool named "&c&lLove Chest" with lore " ||&fLove Chests Owned: &e0 ||||&7Cupid and his hunters have||&7searched far and wide to||&7collect a whole bunch of lovey||&7dovey items. 6 items, no||&7duplicates.||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3814 format slot 16 of {_p} with skull of ("CruXXx" parsed as an offline player) named "&2&lWinter Holiday Treasure" with lore "||&fWinter Holiday Chests Owned: &e0 ||||&7Legend tells of the Winter Lord's ||&7vast treasuer horde, locked away in ||&7a vault of ice, deep beneath the ||&7Frozen Sea. It is said it can only be ||&7accessed in the deepest parts of Winter... ||||&cThis item is no longer available" to close
3815 format slot 22 of {_p} with skull of ("EternalKnowedge" parsed as an offline player) named "&c&lFreedom &9&lTreasure" with lore "||&fFreedom Chests Owned: &e0 ||||&7It is said that George Washington ||&7carved this chest himself from the wood ||&7of the apple tree he cut down... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3816 format slot 28 of {_p} with skull of ("unyelped" parsed as an offline player) named "&6&lHaunted Treasure" with lore "||&fHaunted Chests Owned: &e0 ||||&7The haunted chest can only be found ||&7during the month of October when the ||&7veil between this world and the shadow is thin... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3817 format slot 30 of {_p} with skull of ("Torksi" parsed as an offline player) named "&6&lTrick or Treat Treasure" with lore "||&fTrick or Treat Chests Owned: &e0 ||||&7The Trick or Treat Chest contains all ||&7sorts of surprises. From Rank Upgrades to ||&7long lost Halloween items. and even other chests! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3818 format slot 32 of {_p} with cooked chicken named "&6&lThankful Treasure" with lore "||&fThankful Chests Owned: &e0 ||||&7The Thankful Chest is our way of ||&7showing thanks to you. Containing items from Rank Upgrades to ||&7Power Play Club Subscriptions. Among other things! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3819 format slot 34 of {_p} with skull of ("Ottelino" parsed as an offline player) named "&c&lGingerbread &a&lTreasure" with lore "||&fGingerbread Chests Owned: &e0 ||||&7The legendary burglar, the ||&7Gingerbread Man, has finally ||&7been caught! Now, for the first ||&7time his loot is available for ||&7auction. There are 8 pieces ||&7available to collect and no ||&7duplicates can be obtained from ||&7this chest! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3820 format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 2)]
3821 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3822 else if {_C} is 3:
3823 close {_p}'s inventory
3824 wait 4 ticks
3825 open chest with 6 rows named "Open Treasure - Page 2" to {_p}
3826 wait 2 ticks
3827 format slot 10 of {_p} with rose bush named "&a&lSpring Treasure" with lore " ||&fSpring Chests Owned: &e0 ||||&7Spring is here! Find 6 limited ||&7edition Spring Cosmetics in the ||&7Spring Chest! Only available for ||&7a limited time. Garunteed no ||&7Duplicate items! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3828 format slot 12 of {_p} with skull of ("luigi" parsed as an offline player) named "&a&lSt. Patrick's treasure" with lore "||&fSt Patrick's Chests Owned: &e0 ||||&7Happy St. Patrick's Day! Get||&7your Pot's of Gold and Luck||&7of the Irish in this chest! ||&7items, no duplicates||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3829 format slot 14 of {_p} with pink wool named "&c&lLove Chest" with lore " ||&fLove Chests Owned: &e0 ||||&7Cupid and his hunters have||&7searched far and wide to||&7collect a whole bunch of lovey||&7dovey items. 6 items, no||&7duplicates.||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3830 format slot 16 of {_p} with skull of ("CruXXx" parsed as an offline player) named "&2&lWinter Holiday Treasure" with lore "||&fWinter Holiday Chests Owned: &e0 ||||&7Legend tells of the Winter Lord's ||&7vast treasuer horde, locked away in ||&7a vault of ice, deep beneath the ||&7Frozen Sea. It is said it can only be ||&7accessed in the deepest parts of Winter... ||||&cThis item is no longer available" to close
3831 format slot 22 of {_p} with skull of ("EternalKnowedge" parsed as an offline player) named "&c&lFreedom &9&lTreasure" with lore "||&fFreedom Chests Owned: &e0 ||||&7It is said that George Washington ||&7carved this chest himself from the wood ||&7of the apple tree he cut down... ||||&cThis item is no longer available" to close
3832 format slot 28 of {_p} with skull of ("unyelped" parsed as an offline player) named "&6&lHaunted Treasure" with lore "||&fHaunted Chests Owned: &e0 ||||&7The haunted chest can only be found ||&7during the month of October when the ||&7veil between this world and the shadow is thin... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3833 format slot 30 of {_p} with skull of ("Torksi" parsed as an offline player) named "&6&lTrick or Treat Treasure" with lore "||&fTrick or Treat Chests Owned: &e0 ||||&7The Trick or Treat Chest contains all ||&7sorts of surprises. From Rank Upgrades to ||&7long lost Halloween items. and even other chests! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3834 format slot 32 of {_p} with cooked chicken named "&6&lThankful Treasure" with lore "||&fThankful Chests Owned: &e0 ||||&7The Thankful Chest is our way of ||&7showing thanks to you. Containing items from Rank Upgrades to ||&7Power Play Club Subscriptions. Among other things! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3835 format slot 34 of {_p} with skull of ("Ottelino" parsed as an offline player) named "&c&lGingerbread &a&lTreasure" with lore "||&fGingerbread Chests Owned: &e0 ||||&7The legendary burglar, the ||&7Gingerbread Man, has finally ||&7been caught! Now, for the first ||&7time his loot is available for ||&7auction. There are 8 pieces ||&7available to collect and no ||&7duplicates can be obtained from ||&7this chest! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3836 format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 3)]
3837 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3838 else if {_C} is 4:
3839 close {_p}'s inventory
3840 wait 4 ticks
3841 open chest with 6 rows named "Open Treasure - Page 2" to {_p}
3842 wait 2 ticks
3843 format slot 10 of {_p} with rose bush named "&a&lSpring Treasure" with lore " ||&fSpring Chests Owned: &e0 ||||&7Spring is here! Find 6 limited ||&7edition Spring Cosmetics in the ||&7Spring Chest! Only available for ||&7a limited time. Garunteed no ||&7Duplicate items! ||||&cThis item is no longer available" to close
3844 format slot 12 of {_p} with skull of ("luigi" parsed as an offline player) named "&a&lSt. Patrick's treasure" with lore "||&fSt Patrick's Chests Owned: &e0 ||||&7Happy St. Patrick's Day! Get||&7your Pot's of Gold and Luck||&7of the Irish in this chest! ||&7items, no duplicates||||&cThis item is no longer available" to close
3845 format slot 14 of {_p} with pink wool named "&c&lLove Chest" with lore " ||&fLove Chests Owned: &e0 ||||&7Cupid and his hunters have||&7searched far and wide to||&7collect a whole bunch of lovey||&7dovey items. 6 items, no||&7duplicates.||||&cThis item is no longer available" to close
3846 format slot 16 of {_p} with skull of ("CruXXx" parsed as an offline player) named "&2&lWinter Holiday Treasure" with lore "||&fWinter Holiday Chests Owned: &e0 ||||&7Legend tells of the Winter Lord's ||&7vast treasuer horde, locked away in ||&7a vault of ice, deep beneath the ||&7Frozen Sea. It is said it can only be ||&7accessed in the deepest parts of Winter... ||||&cThis item is no longer available" to close
3847 format slot 22 of {_p} with skull of ("EternalKnowedge" parsed as an offline player) named "&c&lFreedom &9&lTreasure" with lore "||&fFreedom Chests Owned: &e0 ||||&7It is said that George Washington ||&7carved this chest himself from the wood ||&7of the apple tree he cut down... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3848 format slot 28 of {_p} with skull of ("unyelped" parsed as an offline player) named "&6&lHaunted Treasure" with lore "||&fHaunted Chests Owned: &e0 ||||&7The haunted chest can only be found ||&7during the month of October when the ||&7veil between this world and the shadow is thin... ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3849 format slot 30 of {_p} with skull of ("Torksi" parsed as an offline player) named "&6&lTrick or Treat Treasure" with lore "||&fTrick or Treat Chests Owned: &e0 ||||&7The Trick or Treat Chest contains all ||&7sorts of surprises. From Rank Upgrades to ||&7long lost Halloween items. and even other chests! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3850 format slot 32 of {_p} with cooked chicken named "&6&lThankful Treasure" with lore "||&fThankful Chests Owned: &e0 ||||&7The Thankful Chest is our way of ||&7showing thanks to you. Containing items from Rank Upgrades to ||&7Power Play Club Subscriptions. Among other things! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3851 format slot 34 of {_p} with skull of ("Ottelino" parsed as an offline player) named "&c&lGingerbread &a&lTreasure" with lore "||&fGingerbread Chests Owned: &e0 ||||&7The legendary burglar, the ||&7Gingerbread Man, has finally ||&7been caught! Now, for the first ||&7time his loot is available for ||&7auction. There are 8 pieces ||&7available to collect and no ||&7duplicates can be obtained from ||&7this chest! ||||&cThis item is no longer available" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3852 format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 4)]
3853 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3854 if {_N} is 1:
3855 if {_C} is 1:
3856 wait 2 ticks
3857 open chest with 6 rows named "Open Treasure - Page 1" to {_p}
3858 wait 2 ticks
3859 format slot 19 of {_p} with chest named "&a&lOld Chest" with lore " ||&fOld Chests Owned: &e%{oldchests.%{_p}%}% ||||&7We've scoured the lands of Minecraft||&7and found these abandoned chests.||&7The contents are unknown, but||&7according to the inscriptions on the||&7straps they appear to contain||&7many kinds of loot.|| ||&fClick to Purchase for &b1000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 1, 1)]
3860 format slot 21 of {_p} with trapped chest named "&6&lAncient Chest" with lore " ||&fAncient Chests Owned: &e%{ancientchests.%{_p}%}% ||||&7Some of our bravest adventurers||&7have discovered these chests within||&7temples hidden in Minecrafts worlds.|| ||&fClick to Purchase for &b5000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 2, 1)]
3861 format slot 23 of {_p} with ender chest named "&c&lMythical Chest" with lore " ||&fMythical Chests Owned: &e%{mythicalchests.%{_p}%}% ||||&7All our previous adventurers have||&7perished in search of these chests.||&7However, legends of thier existence||&7convinced Sterling, Chiss, and Defek7||&7to venture out and discover the||&7location of these chests on thier own.|| ||&fClick to Purchase for &b10000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 3, 1)]
3862 format slot 25 of {_p} with sea lantern named "&3&lIlluminated Treasure" with lore "||&fIlluminated Chests Owned: &e0 ||||&7The illuminated chest shines brightly ||&7in the depths, always bringing a new ||&7treasure from the darkness. ||&fClick to craft for &b20000 Treasure Shards || ||&for Purchase at: &e%{mineplex.config.website}%." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3863 format slot 38 of {_p} with skull of ("Chest" parsed as an offline player) named "&b&lOmega Treasure" with lore "||&fOmega Chests Owned: &e0 ||||&7The most powerful of all chests, ||&7it is able to go back in time to find ||&7loot that has been lost..." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3864 format slot 42 of {_p} with tnt named "&6&lMinestrike Treasure" with lore "||&fMinestrike Chests Owned: &e0 ||||&7The Minestrike Chest is the ||&7only place to get the unique ||&7skins for Minestrike weapons! ||||&fEach use opens two chests. Can ||&fGive duplicates. ||||&fClick to craft for &b10000 Treasure Shards ||||&for Purchase at: &e%{mineplex.config.website}%" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3865 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3866 format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 1)]
3867 if {_C} is 2:
3868 wait 2 ticks
3869 open chest with 6 rows named "Open Treasure - Page 1" to {_p}
3870 wait 2 ticks
3871 format slot 19 of {_p} with chest named "&a&lOld Chest" with lore " ||&fOld Chests Owned: &e%{oldchests.%{_p}%}% ||||&7We've scoured the lands of Minecraft||&7and found these abandoned chests.||&7The contents are unknown, but||&7according to the inscriptions on the||&7straps they appear to contain||&7many kinds of loot.|| ||&fClick to Purchase for &b1000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 1, 2)]
3872 format slot 21 of {_p} with trapped chest named "&6&lAncient Chest" with lore " ||&fAncient Chests Owned: &e%{ancientchests.%{_p}%}% ||||&7Some of our bravest adventurers||&7have discovered these chests within||&7temples hidden in Minecrafts worlds.|| ||&fClick to Purchase for &b5000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 2, 2)]
3873 format slot 23 of {_p} with ender chest named "&c&lMythical Chest" with lore " ||&fMythical Chests Owned: &e%{mythicalchests.%{_p}%}% ||||&7All our previous adventurers have||&7perished in search of these chests.||&7However, legends of thier existence||&7convinced Sterling, Chiss, and Defek7||&7to venture out and discover the||&7location of these chests on thier own.|| ||&fClick to Purchase for &b10000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 3, 2)]
3874 format slot 25 of {_p} with sea lantern named "&3&lIlluminated Treasure" with lore "||&fIlluminated Chests Owned: &e0 ||||&7The illuminated chest shines brightly ||&7in the depths, always bringing a new ||&7treasure from the darkness. ||&fClick to craft for &b20000 Treasure Shards || ||&for Purchase at: &e%{mineplex.config.website}%." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3875 format slot 38 of {_p} with skull of ("Chest" parsed as an offline player) named "&b&lOmega Treasure" with lore "||&fOmega Chests Owned: &e0 ||||&7The most powerful of all chests, ||&7it is able to go back in time to find ||&7loot that has been lost..." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3876 format slot 42 of {_p} with tnt named "&6&lMinestrike Treasure" with lore "||&fMinestrike Chests Owned: &e0 ||||&7The Minestrike Chest is the ||&7only place to get the unique ||&7skins for Minestrike weapons! ||||&fEach use opens two chests. Can ||&fGive duplicates. ||||&fClick to craft for &b10000 Treasure Shards ||||&for Purchase at: &e%{mineplex.config.website}%" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3877 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3878 format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 2)]
3879 if {_C} is 3:
3880 wait 2 ticks
3881 open chest with 6 rows named "Open Treasure - Page 1" to {_p}
3882 wait 2 ticks
3883 format slot 19 of {_p} with chest named "&a&lOld Chest" with lore " ||&fOld Chests Owned: &e%{oldchests.%{_p}%}% ||||&7We've scoured the lands of Minecraft||&7and found these abandoned chests.||&7The contents are unknown, but||&7according to the inscriptions on the||&7straps they appear to contain||&7many kinds of loot.|| ||&fClick to Purchase for &b1000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 1, 3)]
3884 format slot 21 of {_p} with trapped chest named "&6&lAncient Chest" with lore " ||&fAncient Chests Owned: &e%{ancientchests.%{_p}%}% ||||&7Some of our bravest adventurers||&7have discovered these chests within||&7temples hidden in Minecrafts worlds.|| ||&fClick to Purchase for &b5000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 2, 3)]
3885 format slot 23 of {_p} with ender chest named "&c&lMythical Chest" with lore " ||&fMythical Chests Owned: &e%{mythicalchests.%{_p}%}% ||||&7All our previous adventurers have||&7perished in search of these chests.||&7However, legends of thier existence||&7convinced Sterling, Chiss, and Defek7||&7to venture out and discover the||&7location of these chests on thier own.|| ||&fClick to Purchase for &b10000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 3, 3)]
3886 format slot 25 of {_p} with sea lantern named "&3&lIlluminated Treasure" with lore "||&fIlluminated Chests Owned: &e0 ||||&7The illuminated chest shines brightly ||&7in the depths, always bringing a new ||&7treasure from the darkness. ||&fClick to craft for &b20000 Treasure Shards || ||&for Purchase at: &e%{mineplex.config.website}%." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3887 format slot 38 of {_p} with skull of ("Chest" parsed as an offline player) named "&b&lOmega Treasure" with lore "||&fOmega Chests Owned: &e0 ||||&7The most powerful of all chests, ||&7it is able to go back in time to find ||&7loot that has been lost..." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3888 format slot 42 of {_p} with tnt named "&6&lMinestrike Treasure" with lore "||&fMinestrike Chests Owned: &e0 ||||&7The Minestrike Chest is the ||&7only place to get the unique ||&7skins for Minestrike weapons! ||||&fEach use opens two chests. Can ||&fGive duplicates. ||||&fClick to craft for &b10000 Treasure Shards ||||&for Purchase at: &e%{mineplex.config.website}%" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3889 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3890 format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 3)]
3891 if {_C} is 4:
3892 wait 2 ticks
3893 open chest with 6 rows named "Open Treasure - Page 1" to {_p}
3894 wait 2 ticks
3895 format slot 19 of {_p} with chest named "&a&lOld Chest" with lore " ||&fOld Chests Owned: &e%{oldchests.%{_p}%}% ||||&7We've scoured the lands of Minecraft||&7and found these abandoned chests.||&7The contents are unknown, but||&7according to the inscriptions on the||&7straps they appear to contain||&7many kinds of loot.|| ||&fClick to Purchase for &b1000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 1, 4)]
3896 format slot 21 of {_p} with trapped chest named "&6&lAncient Chest" with lore " ||&fAncient Chests Owned: &e%{ancientchests.%{_p}%}% ||||&7Some of our bravest adventurers||&7have discovered these chests within||&7temples hidden in Minecrafts worlds.|| ||&fClick to Purchase for &b5000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 2, 4)]
3897 format slot 23 of {_p} with ender chest named "&c&lMythical Chest" with lore " ||&fMythical Chests Owned: &e%{mythicalchests.%{_p}%}% ||||&7All our previous adventurers have||&7perished in search of these chests.||&7However, legends of thier existence||&7convinced Sterling, Chiss, and Defek7||&7to venture out and discover the||&7location of these chests on thier own.|| ||&fClick to Purchase for &b10000 Treasure Shards|| ||&for Purchase at: &e%{mineplex.config.website}%" to close then run [openTreasure({_p}, 3, 4)]
3898 format slot 25 of {_p} with sea lantern named "&3&lIlluminated Treasure" with lore "||&fIlluminated Chests Owned: &e0 ||||&7The illuminated chest shines brightly ||&7in the depths, always bringing a new ||&7treasure from the darkness. ||&fClick to craft for &b20000 Treasure Shards || ||&for Purchase at: &e%{mineplex.config.website}%." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3899 format slot 38 of {_p} with skull of ("Chest" parsed as an offline player) named "&b&lOmega Treasure" with lore "||&fOmega Chests Owned: &e0 ||||&7The most powerful of all chests, ||&7it is able to go back in time to find ||&7loot that has been lost..." to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3900 format slot 42 of {_p} with tnt named "&6&lMinestrike Treasure" with lore "||&fMinestrike Chests Owned: &e0 ||||&7The Minestrike Chest is the ||&7only place to get the unique ||&7skins for Minestrike weapons! ||||&fEach use opens two chests. Can ||&fGive duplicates. ||||&fClick to craft for &b10000 Treasure Shards ||||&for Purchase at: &e%{mineplex.config.website}%" to close then run [send "&9Treasure> &7This Treasure Bundle isn't added in this version of MCR." to {_p}]
3901 format slot 49 of {_p} with prismarine shard named "&b&l%{mineplex.shards.%{_p}%}% Treasure Shards" with lore "||&7This seems like it might come in ||&7handy. Maybe I can collect more!" to close
3902 format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 4)]
3903
3904command /givetreasure [<string>] [<number>] [<offline player>]:
3905 permission: mineplex.support
3906 permission message: &9Permissions> &7You do not have permission to do that.
3907 trigger:
3908 if arg-1 is set:
3909 if arg-2 is set:
3910 if arg-2 is an integer:
3911 if arg-3 is set:
3912 if arg-1 is "Mythical":
3913 add arg-2 to {mythicalchests.%arg-3%}
3914 message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Mythical Treasure Chests." to sender
3915 message "&9Treasure> &7You recieved &e%arg-2% &7Mythical Treasure Chests." to arg-3
3916 stop
3917 else if arg-1 is "Ancient":
3918 add arg-2 to {ancientchests.%arg-3%}
3919 message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Ancient Treasure Chests." to sender
3920 message "&9Treasure> &7You recieved &e%arg-2% &7Ancient Treasure Chests." to arg-3
3921 stop
3922 else if arg-1 is "old":
3923 add arg-2 to {oldchests.%arg-3%}
3924 message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Old Treasure Chests." to sender
3925 message "&9Treasure> &7You recieved &e%arg-2% &7Old Treasure Chests." to arg-3
3926 stop
3927 else:
3928 send "&9Treasure> &7Unknown Treasure [&e%arg-1%&7]." to sender
3929 stop
3930 else:
3931 send "&9Treasure> &7Please specify a player" to sender
3932 stop
3933 else if arg-2 is not an integer:
3934 send "&9Treasure> &7Unknown Integer [&e%arg-2%&7]." to sender
3935 stop
3936 else:
3937 send "&9Treasure> &7Please specify an amount." to sender
3938 stop
3939 else:
3940 send "&9Treasure> &7Listing Commands:" to sender
3941 send "&4/GiveTreasure <treasure> <amount> <name> &7Gives a player some treasure chests &4Admin" to sender
3942 stop
3943
3944every 5 ticks:
3945 loop all players:
3946 if {mineplex.inchest.%loop-player%} is set:
3947 set {_di} to distance between {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%} and loop-player
3948 if {_di} is greater than 3.11:
3949 teleport loop-player to {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%}
3950
3951every 5 ticks:
3952 loop all players:
3953 if {mineplex.inchest.%loop-player%} is set:
3954 loop players in radius 4 of loop-player:
3955 if loop-player-2 is not loop-player-1:
3956 if {mineplex.pref.ff.%loop-player-2%} is false:
3957 push the loop-player-2 upwards at speed 0.925
3958 push the loop-player-2 backwards at speed 0.825
3959 play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
3960
3961on right click on chest:
3962 if player's tool is a chest:
3963 if name of player's tool is "&aCosmetic Menu":
3964 stop
3965 else:
3966 send "&9MCR> &e##BlameWheezy"
3967 else:
3968 if event-block is {mineplex.chestpoint.1}:
3969 cancel event
3970 TreasurePage(player, 1, 1)
3971 if event-block is {mineplex.chestpoint.2}:
3972 cancel event
3973 TreasurePage(player, 1, 2)
3974 if event-block is {mineplex.chestpoint.3}:
3975 cancel event
3976 TreasurePage(player, 1, 3)
3977 if event-block is {mineplex.chestpoint.4}:
3978 cancel event
3979 TreasurePage(player, 1, 4)
3980
3981on right click:
3982 target block of player is chest or ender chest
3983 if player's tool is a chest:
3984 if name of player's tool is "&aCosmetic Menu":
3985 stop
3986 else:
3987 send "&9MCR> &e##BlameWheezy"
3988 else:
3989 if event-block is {mineplex.chestpoint.1.sub.1} or {mineplex.chestpoint.1.sub.2} or {mineplex.chestpoint.1.sub.3} or {mineplex.chestpoint.1.sub.4} or {mineplex.chestpoint.1.sub.5} or {mineplex.chestpoint.1.sub.6} or {mineplex.chestpoint.1.sub.7} or {mineplex.chestpoint.1.sub.8}:
3990 if {mineplex.inchest.%player%} is set:
3991 if {mineplex.chestsopened.%player%} is not set:
3992 set {mineplex.chestsopened.%player%} to 1
3993 cancel event
3994 make the event-block appear open
3995 rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
3996 loop all players:
3997 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
3998 stop
3999 else if {mineplex.chestsopened.%player%} is 3:
4000 cancel event
4001 add 1 to {mineplex.chestsopened.%player%}
4002 make the event-block appear open
4003 rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
4004 loop all players:
4005 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4006 wait 3 seconds
4007 resetPoints(player, 1)
4008 execute player command "/hub"
4009 stop
4010 else if {mineplex.chestsopened.%player%} is 1 or 2:
4011 cancel event
4012 add 1 to {mineplex.chestsopened.%player%}
4013 make the event-block appear open
4014 rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
4015 loop all players:
4016 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4017 stop
4018 else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
4019 cancel event
4020 else:
4021 cancel event
4022 else if event-block is {mineplex.chestpoint.2.sub.1} or {mineplex.chestpoint.2.sub.2} or {mineplex.chestpoint.2.sub.3} or {mineplex.chestpoint.2.sub.4} or {mineplex.chestpoint.2.sub.5} or {mineplex.chestpoint.2.sub.6} or {mineplex.chestpoint.2.sub.7} or {mineplex.chestpoint.2.sub.8}:
4023 if {mineplex.inchest.%player%} is set:
4024 if {mineplex.chestsopened.%player%} is not set:
4025 set {mineplex.chestsopened.%player%} to 1
4026 cancel event
4027 make the event-block appear open
4028 rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
4029 loop all players:
4030 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4031 stop
4032 else if {mineplex.chestsopened.%player%} is 3:
4033 cancel event
4034 add 1 to {mineplex.chestsopened.%player%}
4035 make the event-block appear open
4036 rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
4037 loop all players:
4038 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4039 wait 3 seconds
4040 resetPoints(player, 2)
4041 execute player command "/hub"
4042 stop
4043 else if {mineplex.chestsopened.%player%} is 1 or 2:
4044 cancel event
4045 add 1 to {mineplex.chestsopened.%player%}
4046 make the event-block appear open
4047 rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
4048 loop all players:
4049 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4050 stop
4051 else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
4052 cancel event
4053 else:
4054 cancel event
4055 else if event-block is {mineplex.chestpoint.3.sub.1} or {mineplex.chestpoint.3.sub.2} or {mineplex.chestpoint.3.sub.3} or {mineplex.chestpoint.3.sub.4} or {mineplex.chestpoint.3.sub.5} or {mineplex.chestpoint.3.sub.6} or {mineplex.chestpoint.3.sub.7} or {mineplex.chestpoint.3.sub.8}:
4056 if {mineplex.inchest.%player%} is set:
4057 if {mineplex.chestsopened.%player%} is not set:
4058 set {mineplex.chestsopened.%player%} to 1
4059 cancel event
4060 make the event-block appear open
4061 rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
4062 loop all players:
4063 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4064 stop
4065 else if {mineplex.chestsopened.%player%} is 3:
4066 cancel event
4067 add 1 to {mineplex.chestsopened.%player%}
4068 make the event-block appear open
4069 rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
4070 loop all players:
4071 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4072 wait 3 seconds
4073 resetPoints(player, 3)
4074 execute player command "/hub"
4075 stop
4076 else if {mineplex.chestsopened.%player%} is 1 or 2:
4077 cancel event
4078 add 1 to {mineplex.chestsopened.%player%}
4079 make the event-block appear open
4080 rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
4081 loop all players:
4082 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4083 stop
4084 else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
4085 cancel event
4086 else:
4087 cancel event
4088 else if event-block is {mineplex.chestpoint.4.sub.1} or {mineplex.chestpoint.4.sub.2} or {mineplex.chestpoint.4.sub.3} or {mineplex.chestpoint.4.sub.4} or {mineplex.chestpoint.4.sub.5} or {mineplex.chestpoint.4.sub.6} or {mineplex.chestpoint.4.sub.7} or {mineplex.chestpoint.4.sub.8}:
4089 if {mineplex.inchest.%player%} is set:
4090 if {mineplex.chestsopened.%player%} is not set:
4091 set {mineplex.chestsopened.%player%} to 1
4092 cancel event
4093 make the event-block appear open
4094 rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
4095 loop all players:
4096 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4097 stop
4098 else if {mineplex.chestsopened.%player%} is 3:
4099 cancel event
4100 add 1 to {mineplex.chestsopened.%player%}
4101 make the event-block appear open
4102 rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
4103 loop all players:
4104 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4105 wait 3 seconds
4106 resetPoints(player, 4)
4107 execute player command "/hub"
4108 stop
4109 else if {mineplex.chestsopened.%player%} is 1 or 2:
4110 cancel event
4111 add 1 to {mineplex.chestsopened.%player%}
4112 make the event-block appear open
4113 rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
4114 loop all players:
4115 show 200 "flame" particles at location 0.1 metres above event-block for loop-player
4116 stop
4117 else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
4118 cancel event
4119 else:
4120 cancel event
4121
4122on quit:
4123 set {_p} to player
4124 if {mineplex.inchest.%{_p}%} is set:
4125 resetPoints({_p}, {mineplex.inchest.%{_p}%})
4126 delete {mineplex.inchest.%{_p}%}
4127
4128#Scoreboard
4129function animSB(p: player) :: text:
4130 while {_p} is online:
4131 set {_l} to the length of {mineplex.sb.anim.%{_p}%}
4132 remove 15 from {_l}
4133 set {_char} to 0
4134 loop {_l} times:
4135 if {_p} is online:
4136 wipe {_p}'s sidebar
4137 set name of sidebar of {_p} to "&f&l%subtext of {mineplex.sb.anim.%{_p}%} from characters {_char} to ({_char} + 15)%"
4138 set score "&b&lServer" in sidebar of {_p} to 15
4139 set score "&f%{mineplex.config.world}%" in sidebar of {_p} to 14
4140 set score "&1 " in sidebar of {_p} to 13
4141 set score "&a&lGems" in sidebar of {_p} to 12
4142 set score "&r%{mineplex.gems.%{_p}%}%" in sidebar of {_p} to 11
4143 set score "&2 " in sidebar of {_p} to 10
4144 set score "&e&lShards" in sidebar of {_p} to 9
4145 set score "&f%{mineplex.shards.%{_p}%}%" in sidebar of {_p} to 8
4146 set score "&3 " in sidebar of {_p} to 7
4147 set score "&6&lRank" in sidebar of {_p} to 6
4148 set score "&f%{mineplex.api.displayrank.%{_p}%}%" in sidebar of {_p} to 5
4149 set score "&4 " in sidebar of {_p} to 4
4150 set score "&c&lWebsite" in sidebar of {_p} to 3
4151 set score "&f%{mineplex.config.website}%" in sidebar of {_p} to 2
4152 set score "&f----------------" in sidebar of {_p} to 1
4153 set {mineplex.sbdisplay.name.%{_p}%} to "&f&l%subtext of {mineplex.sb.anim.%{_p}%} from characters {_char} to ({_char} + 15)%"
4154 add 1 to {_char}
4155 wait 3 ticks
4156 else:
4157 stop
4158
4159
4160on join:
4161 if {mineplex.usescoreboard} is false:
4162 stop
4163 set {mineplex.sb.anim.%player%} to " Welcome %player%, to the %{mineplex.config.servername}% Network! "
4164 animSB(player)
4165
4166#every 2 seconds:
4167 #if {mineplex.usescoreboard} is false:
4168 #stop
4169 #else:
4170 #loop all players:
4171 #wipe loop-player's sidebar
4172 #set {_fc} to convert string {mineplex.config.servername} to uppercase
4173 #set name of sidebar of loop-player to ""
4174 #set score "&b&lServer" in sidebar of loop-player to 15
4175 #set score "&f%{mineplex.config.world}%" in sidebar of loop-player to 14
4176 #set score "&1 " in sidebar of loop-player to 13
4177 #set score "&a&lGems" in sidebar of loop-player to 12
4178 #set score "&r%{mineplex.gems.%loop-player%}%" in sidebar of loop-player to 11
4179 #set score "&2 " in sidebar of loop-player to 10
4180 #set score "&e&lShards" in sidebar of loop-player to 9
4181 #set score "&f%{mineplex.shards.%loop-player%}%" in sidebar of loop-player to 8
4182 #set score "&3 " in sidebar of loop-player to 7
4183 #set score "&6&lRank" in sidebar of loop-player to 6
4184 #set score "&f%{mineplex.api.displayrank.%loop-player%}%" in sidebar of loop-player to 5
4185 #set score "&4 " in sidebar of loop-player to 4
4186 #set score "&c&lWebsite" in sidebar of loop-player to 3
4187 #set score "&f%{mineplex.config.website}%" in sidebar of loop-player to 2
4188 #set score "&f----------------" in sidebar of loop-player to 1
4189
4190#Rank Loader
4191
4192function rankLoad(p: player , n: number , t: number) :: string:
4193 if {_n} is 1:
4194 if {mineplex.testrank.%{_p}%} is set:
4195 if {_t} is 0:
4196 set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
4197 delete {mineplex.testrank.%{_p}%}
4198 if {mineplex.rank.%{_p}%} is not set:
4199 set {mineplex.rank.%{_p}%} to ""
4200 if {mineplex.rank.%{_p}%} is "":
4201 execute console command "/rank set %{_p}% ALL"
4202 set {_p} tab name to "&e%{_p}%"
4203 set {mineplex.displaya.%{_p}%} to "&fPlayer"
4204 set {mineplex.colora.%{_p}%} to "§f"
4205 return "&fPlayer"
4206 if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
4207 execute console command "/rank set %{_p}% ULTRA"
4208 set {_p} tab name to "&b&lULTRA &e%{_p}%"
4209 set {mineplex.displaya.%{_p}%} to "&bUltra"
4210 set {mineplex.colora.%{_p}%} to "§b"
4211 set {mineplex.hover.%{_p}%} to "&b&lULTRA%nl%&fA first step into the stories of the mist.%nl%&fOnly those brave enough may enter.%nl% %nl%&fThe first purchasable rank at %{mineplex.config.shoplink}%"
4212 return "&bUltra"
4213 if {mineplex.rank.%{_p}%} is "&d&lHERO ":
4214 execute console command "/rank set %{_p}% HERO"
4215 set {_p} tab name to "&d&lHERO &e%{_p}%"
4216 set {mineplex.displaya.%{_p}%} to "&dHero"
4217 set {mineplex.colora.%{_p}%} to "§d"
4218 set {mineplex.hover.%{_p}%} to "&d&lHERO%nl%&fThere are many stories of a%nl%&fvaliant Hero who was brave enough to%nl%&ftame the most fearsome dragon in the land.%nl% %nl%&fThe second purchasable rank at %{mineplex.config.shoplink}%"
4219 return "&dHero"
4220 if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
4221 execute console command "/rank set %{_p}% LEGEND"
4222 set {_p} tab name to "&a&lLEGEND &e%{_p}%"
4223 set {mineplex.displaya.%{_p}%} to "&aLegend"
4224 set {mineplex.colora.%{_p}%} to "§a"
4225 set {mineplex.hover.%{_p}%} to "&a&lLEGEND%nl%&fYears they have told stories of this rank,%nl%&fonly for the legends to be true.%nl% %nl%&fThe third purchasable rank at %{mineplex.config.shoplink}%"
4226 return "&aLegend"
4227 if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
4228 execute console command "/rank set %{_p}% TITAN"
4229 set {_p} tab name to "&c&lTITAN &e%{_p}%"
4230 set {mineplex.displaya.%{_p}%} to "&cTitan"
4231 set {mineplex.colora.%{_p}%} to "§c"
4232 set {mineplex.hover.%{_p}%} to "&c&lTITAN%nl%&fAncient myths spoke of a gigantic being%nl%&fwith immence power...%nl% %nl%&fThe fourth purchasable rank at %{mineplex.config.shoplink}%"
4233 return "&cTitan"
4234 if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
4235 execute console command "/rank set %{_p}% TRAINEE"
4236 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4237 if loop-value is {_p}:
4238 set {_p} tab name to "&6&lP.TRAINEE &e%{_p}%"
4239 else:
4240 set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
4241 set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
4242 set {mineplex.displaya.%{_p}%} to "&6Trainee"
4243 set {mineplex.colora.%{_p}%} to "§6"
4244 set {mineplex.hover.%{_p}%} to "&6&lTRAINEE%nl%&fTrainee are moderators-in-training.%nl%&ftheir duties include enforcing the rules and%nl%&fproviding help to anyone with questions or concerns.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4245 return "&6Trainee"
4246 if {mineplex.rank.%{_p}%} is "&6&lMOD ":
4247 execute console command "/rank set %{_p}% MODERATOR"
4248 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4249 if loop-value is {_p}:
4250 set {_p} tab name to "&6&lP.MOD &e%{_p}%"
4251 else:
4252 set {_p} tab name to "&6&lMOD &e%{_p}%"
4253 set {mineplex.displaya.%{_p}%} to "&6Mod"
4254 set {mineplex.colora.%{_p}%} to "§6"
4255 set {mineplex.hover.%{_p}%} to "&6&lMOD%nl%&fModerators enforce rules and provide help to%nl%&fanyone with questions or concerns.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4256 return "&6Mod"
4257 if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
4258 execute console command "/rank set %{_p}% SNR_MODERATOR"
4259 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4260 if loop-value is {_p}:
4261 set {_p} tab name to "&6&lP.SR.MOD &e%{_p}%"
4262 else:
4263 set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
4264 set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
4265 set {mineplex.colora.%{_p}%} to "§6"
4266 set {mineplex.hover.%{_p}%} to "&6&lSR.MOD%nl%&fSenior Moderators are members of a special%nl%&fSenior Moderators team where they have to fulfull specific tasks.%nl%&fJust like Moderators, you can always ask them for help.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4267 return "&6Sr.Mod"
4268 if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
4269 execute console command "/rank set %{_p}% CLANS_MOD"
4270 set {_p} tab name to "&6&lC.MOD &e%{_p}%"
4271 set {mineplex.displaya.%{_p}%} to "&6C.Mod"
4272 set {mineplex.colora.%{_p}%} to "§6"
4273 set {mineplex.hover.%{_p}%} to "&6&lC.MOD%nl%&fClans Moderators are members of a special%nl%&fSenior Moderators team where they focus on helping the clans servers.%nl%&fJust like Moderators, you can always ask them for help.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4274 return "&6C.Mod"
4275 if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
4276 execute console command "/rank set %{_p}% ADMIN"
4277 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4278 if loop-value is {_p}:
4279 set {_p} tab name to "&6&lP.ADMIN &e%{_p}%"
4280 else:
4281 set {_p} tab name to "&4&lADMIN &e%{_p}%"
4282 set {mineplex.displaya.%{_p}%} to "&4Admin"
4283 set {mineplex.colora.%{_p}%} to "§4"
4284 set {mineplex.hover.%{_p}%} to "&4&lADMIN%nl%&fAn Administrator's role is to manage%nl%&ftheir respective Senoir Moderator team%nl%&fand all moderators within it."
4285 return "&4Admin"
4286 if {mineplex.rank.%{_p}%} is "&9&lAPEX ":
4287 execute console command "/rank set %{_p}% APEX"
4288 set {_p} tab name to "&9&lAPEX &e%{_p}%"
4289 set {mineplex.displaya.%{_p}%} to "&9Apex"
4290 set {mineplex.colora.%{_p}%} to "§4"
4291 set {mineplex.hover.%{_p}%} to "&9&lAPEX%nl%&fStaff at Apex Hosting. These guys help support the test server!"
4292 return "&9Apex"
4293 if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
4294 execute console command "/rank set %{_p}% LEADER"
4295 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4296 if loop-value is {_p}:
4297 set {_p} tab name to "&6&lP.LEADER &e%{_p}%"
4298 else:
4299 set {_p} tab name to "&4&lLEADER &e%{_p}%"
4300 set {mineplex.displaya.%{_p}%} to "&4Leader"
4301 set {mineplex.colora.%{_p}%} to "§4"
4302 set {mineplex.hover.%{_p}%} to "&4&lLEADER%nl%&fLeaders manage the operation of their respective team%nl%&for projects. They usually operate on affairs within%nl%&fthe staff, development, or management team."
4303 return "&4Leader"
4304 if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
4305 execute console command "/rank set %{_p}% OWNER"
4306 loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
4307 if loop-value is {_p}:
4308 set {_p} tab name to "&6&lP.OWNER &e%{_p}%"
4309 else:
4310 set {_p} tab name to "&4&lOWNER &e%{_p}%"
4311 set {mineplex.displaya.%{_p}%} to "&4Owner"
4312 set {mineplex.colora.%{_p}%} to "§4"
4313 set {mineplex.hover.%{_p}%} to "&4&lOWNER%nl%&fOwners are the founders of Mineplex.%nl%&fEach owner manages a different aspect of the%nl%server and ensures its efficient operation."
4314 return "&4Owner"
4315 if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
4316 execute console command "/rank set %{_p}% BUILDER"
4317 set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
4318 set {mineplex.displaya.%{_p}%} to "&9Mapper"
4319 set {mineplex.colora.%{_p}%} to "§9"
4320 set {mineplex.hover.%{_p}%} to "&9&lBUILDER%nl%&fBuilders are members of the Mineplex Build Team.%nl%&fThey create many of the maps used across Mineplex."
4321 return "&9Builder"
4322 if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
4323 execute console command "/rank set %{_p}% MAPPER"
4324 set {_p} tab name to "&9&lMAPPER &e%{_p}%"
4325 set {mineplex.displaya.%{_p}%} to "&9Mapper"
4326 set {mineplex.colora.%{_p}%} to "§9"
4327 set {mineplex.hover.%{_p}%} to "&9&lMAPPER%nl%&fThese senior members work closely with the development and design teams to build new maps for new and old content!"
4328 return "&9Mapper"
4329 if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
4330 execute console command "/rank set %{_p}% MAPLEAD"
4331 set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
4332 set {mineplex.displaya.%{_p}%} to "&9MapLead"
4333 set {mineplex.colora.%{_p}%} to "§9"
4334 set {mineplex.hover.%{_p}%} to "&9&lMAPLEAD%nl%&fMap Leaders are leaders of the Mineplex Build Team.%nl%&fThey oversee the creation of new maps and manage Builders."
4335 return "&9MapLead"
4336 if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
4337 execute console command "/rank set %{_p}% JNR_DEV"
4338 set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
4339 set {mineplex.colora.%{_p}%} to "§c"
4340 set {mineplex.hover.%{_p}%} to "&6&lJR.DEV%nl%&fThese are part time Developers that work behind the%nl%&fscenes to create new games and features,%nl%&fand fix bugs to give the best experience."
4341 return "&6Jr.Dev"
4342 if {mineplex.rank.%{_p}%} is "&4&lDEV ":
4343 execute console command "/rank set %{_p}% DEVELOPER"
4344 set {_p} tab name to "&4&lDEV &e%{_p}%"
4345 set {mineplex.displaya.%{_p}%} to "&4Dev"
4346 set {mineplex.colora.%{_p}%} to "§4"
4347 set {mineplex.hover.%{_p}%} to "&4&lDEV%nl%&fDevelopers work behind the scenes to%nl%&fcreate new games and features, and fix bugs to%nl%&fgive the best experience."
4348 return "&4Dev"
4349 if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
4350 execute console command "/rank set %{_p}% TWITCH"
4351 set {_p} tab name to "&5&lTWITCH &e%{_p}%"
4352 set {mineplex.displaya.%{_p}%} to "&5Twitch"
4353 set {mineplex.colora.%{_p}%} to "§5"
4354 set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
4355 return "&5Twitch"
4356 if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
4357 execute console command "/rank set %{_p}% YOUTUBE"
4358 set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
4359 set {mineplex.displaya.%{_p}%} to "&cYouTube"
4360 set {mineplex.colora.%{_p}%} to "§c"
4361 set {mineplex.hover.%{_p}%} to "&c&lYOUTUBE%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex.%nl%&fThey are the official YouTubers of Mineplex."
4362 return "&cYouTube"
4363 if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
4364 execute console command "/rank set %{_p}% EVENT"
4365 set {_p} tab name to "&f&lEVENT &e%{_p}%"
4366 set {mineplex.displaya.%{_p}%} to "&fEvent"
4367 set {mineplex.colora.%{_p}%} to "§f"
4368 set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
4369 return "&fEvent"
4370 if {mineplex.rank.%{_p}%} is "&5&lYT ":
4371 execute console command "/rank set %{_p}% YT"
4372 set {_p} tab name to "&5&lYT &e%{_p}%"
4373 set {mineplex.displaya.%{_p}%} to "&5YT"
4374 set {mineplex.colora.%{_p}%} to "§5"
4375 set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
4376 return "&5YT"
4377 if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
4378 execute console command "/rank set %{_p}% ETERNAL"
4379 set {_p} tab name to "&3&lETERNAL &e%{_p}%"
4380 set {mineplex.displaya.%{_p}%} to "&3Eternal"
4381 set {mineplex.colora.%{_p}%} to "§3"
4382 set {mineplex.hover.%{_p}%} to "&3&lETERNAL%nl%&fFantastic and magical, no one%nl%&fexcept the time lords truly understand%nl%&fthe power of this rank.%nl% %nl%&fThe fifth purchasable rank at %{mineplex.config.shoplink}%"
4383 return "&3Eternal"
4384 if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
4385 execute console command "/rank set %{_p}% SUPPORT"
4386 set {mineplex.displaya.%{_p}%} to "&9Support"
4387 set {mineplex.colora.%{_p}%} to "§9"
4388 set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
4389 return "&9Support"
4390 if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
4391 execute console command "/rank set %{_p}% ARTIST"
4392 set {mineplex.displaya.%{_p}%} to "&9Artist"
4393 set {mineplex.colora.%{_p}%} to "§9"
4394 set {mineplex.hover.%{_p}%} to "&9&lARTIST%nl%&fThe Artist rank is given to talented artists%nl%who are endorsed to create content for Mineplex."
4395 return "&9Artist"
4396 else if {_n} is 2:
4397 if {mineplex.testrank.%{_p}%} is set:
4398 if {_t} is 0:
4399 set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
4400 delete {mineplex.testrank.%{_p}%}
4401 if {mineplex.rank.%{_p}%} is not set:
4402 set {mineplex.rank.%{_p}%} to ""
4403 if {mineplex.rank.%{_p}%} is "":
4404 set {_p} tab name to "&e%{_p}%"
4405 set {mineplex.displaya.%{_p}%} to "&fPlayer"
4406 set {mineplex.colora.%{_p}%} to "§f"
4407 return "&fPlayer"
4408 if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
4409 set {_p} tab name to "&b&lULTRA &e%{_p}%"
4410 set {mineplex.displaya.%{_p}%} to "&bUltra"
4411 set {mineplex.colora.%{_p}%} to "§b"
4412 set {mineplex.hover.%{_p}%} to "&b&lULTRA%nl%&fA first step into the stories of the mist.%nl%&fOnly those brave enough may enter.%nl% %nl%&fThe first purchasable rank at %{mineplex.config.shoplink}%"
4413 return "&bUltra"
4414 if {mineplex.rank.%{_p}%} is "&d&lHERO ":
4415 set {_p} tab name to "&d&lHERO &e%{_p}%"
4416 set {mineplex.displaya.%{_p}%} to "&dHero"
4417 set {mineplex.colora.%{_p}%} to "§d"
4418 set {mineplex.hover.%{_p}%} to "&d&lHERO%nl%&fThere are many stories of a%nl%&fvaliant Hero who was brave enough to%nl%&ftame the most fearsome dragon in the land.%nl% %nl%&fThe second purchasable rank at %{mineplex.config.shoplink}%"
4419 return "&dHero"
4420 if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
4421 set {_p} tab name to "&a&lLEGEND &e%{_p}%"
4422 set {mineplex.displaya.%{_p}%} to "&aLegend"
4423 set {mineplex.colora.%{_p}%} to "§a"
4424 set {mineplex.hover.%{_p}%} to "&a&lLEGEND%nl%&fYears they have told stories of this rank,%nl%&fonly for the legends to be true.%nl% %nl%&fThe third purchasable rank at %{mineplex.config.shoplink}%"
4425 return "&aLegend"
4426 if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
4427 set {_p} tab name to "&c&lTITAN &e%{_p}%"
4428 set {mineplex.displaya.%{_p}%} to "&cTitan"
4429 set {mineplex.colora.%{_p}%} to "§c"
4430 set {mineplex.hover.%{_p}%} to "&c&lTITAN%nl%&fAncient myths spoke of a gigantic being%nl%&fwith immence power...%nl% %nl%&fThe fourth purchasable rank at %{mineplex.config.shoplink}%"
4431 return "&cTitan"
4432 if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
4433 set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
4434 set {mineplex.displaya.%{_p}%} to "&6Trainee"
4435 set {mineplex.colora.%{_p}%} to "§6"
4436 set {mineplex.hover.%{_p}%} to "&6&lTRAINEE%nl%&fTrainee are moderators-in-training.%nl%&ftheir duties include enforcing the rules and%nl%&fproviding help to anyone with questions or concerns.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4437 return "&6Trainee"
4438 if {mineplex.rank.%{_p}%} is "&6&lMOD ":
4439 set {_p} tab name to "&6&lMOD &e%{_p}%"
4440 set {mineplex.displaya.%{_p}%} to "&6Mod"
4441 set {mineplex.colora.%{_p}%} to "§6"
4442 set {mineplex.hover.%{_p}%} to "&6&lMOD%nl%&fModerators enforce rules and provide help to%nl%&fanyone with questions or concerns.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4443 return "&6Mod"
4444 if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
4445 set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
4446 set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
4447 set {mineplex.colora.%{_p}%} to "§6"
4448 set {mineplex.hover.%{_p}%} to "&6&lSR.MOD%nl%&fSenior Moderators are members of a special%nl%&fSenior Moderators team where they have to fulfull specific tasks.%nl%&fJust like Moderators, you can always ask them for help.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4449 return "&6Sr.Mod"
4450 if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
4451 set {_p} tab name to "&6&lC.MOD &e%{_p}%"
4452 set {mineplex.displaya.%{_p}%} to "&6C.Mod"
4453 set {mineplex.colora.%{_p}%} to "§6"
4454 set {mineplex.hover.%{_p}%} to "&6&lC.MOD%nl%&fClans Moderators are members of a special%nl%&fSenior Moderators team where they focus on helping the clans servers.%nl%&fJust like Moderators, you can always ask them for help.%nl% %nl%&fFor assistance, contact them using &e/a <message>&f."
4455 return "&6C.Mod"
4456 if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
4457 set {_p} tab name to "&4&lADMIN &e%{_p}%"
4458 set {mineplex.displaya.%{_p}%} to "&4Admin"
4459 set {mineplex.colora.%{_p}%} to "§4"
4460 set {mineplex.hover.%{_p}%} to "&4&lADMIN%nl%&fAn Administrator's role is to manage%nl%&ftheir respective Senoir Moderator team%nl%&fand all moderators within it."
4461 return "&4Admin"
4462 if {mineplex.rank.%{_p}%} is "&9&lAPEX ":
4463 set {_p} tab name to "&9&lAPEX &e%{_p}%"
4464 set {mineplex.displaya.%{_p}%} to "&9Apex"
4465 set {mineplex.colora.%{_p}%} to "§4"
4466 set {mineplex.hover.%{_p}%} to "&9&lAPEX%nl%&fStaff at Apex Hosting. These guys help support the test server!"
4467 return "&9Apex"
4468 if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
4469 set {_p} tab name to "&4&lLEADER &e%{_p}%"
4470 set {mineplex.displaya.%{_p}%} to "&4Leader"
4471 set {mineplex.colora.%{_p}%} to "§4"
4472 set {mineplex.hover.%{_p}%} to "&4&lLEADER%nl%&fLeaders manage the operation of their respective team%nl%&for projects. They usually operate on affairs within%nl%&fthe staff, development, or management team."
4473 return "&4Leader"
4474 if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
4475 set {_p} tab name to "&4&lOWNER &e%{_p}%"
4476 set {mineplex.displaya.%{_p}%} to "&4Owner"
4477 set {mineplex.colora.%{_p}%} to "§4"
4478 set {mineplex.hover.%{_p}%} to "&4&lOWNER%nl%&fOwners are the founders of Mineplex.%nl%&fEach owner manages a different aspect of the%nl%server and ensures its efficient operation."
4479 return "&4Owner"
4480 if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
4481 set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
4482 set {mineplex.displaya.%{_p}%} to "&8Builder"
4483 set {mineplex.colora.%{_p}%} to "§9"
4484 set {mineplex.hover.%{_p}%} to "&9&lBUILDER%nl%&fThese creative staff members help build maps for your favorite games!"
4485 return "&9Builder"
4486 if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
4487 set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
4488 set {mineplex.displaya.%{_p}%} to "&9MapLead"
4489 set {mineplex.colora.%{_p}%} to "§9"
4490 set {mineplex.hover.%{_p}%} to "&9&lMAPLEAD%nl%&fMap Leaders are leaders of the Mineplex Build Team.%nl%&fThey oversee the creation of new maps and manage Builders."
4491 return "&9MapLead"
4492 if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
4493 set {_p} tab name to "&9&lMAPPER &e%{_p}%"
4494 set {mineplex.displaya.%{_p}%} to "&9Mapper"
4495 set {mineplex.colora.%{_p}%} to "§9"
4496 set {mineplex.hover.%{_p}%} to "&9&lMAPPER%nl%&fThese senior members work closely with the development and design teams to build new maps for new and old content!"
4497 return "&9Mapper"
4498 if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
4499 set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
4500 set {mineplex.colora.%{_p}%} to "§c"
4501 set {mineplex.hover.%{_p}%} to "&6&lJR.DEV%nl%&fThese are part time Developers that work behind the%nl%&fscenes to create new games and features,%nl%&fand fix bugs to give the best experience."
4502 return "&6Jr.Dev"
4503 if {mineplex.rank.%{_p}%} is "&4&lDEV ":
4504 set {_p} tab name to "&4&lDEV &e%{_p}%"
4505 set {mineplex.displaya.%{_p}%} to "&4Dev"
4506 set {mineplex.colora.%{_p}%} to "§4"
4507 set {mineplex.hover.%{_p}%} to "&4&lDEV%nl%&fDevelopers work behind the scenes to%nl%&fcreate new games and features, and fix bugs to%nl%&fgive the best experience."
4508 return "&4Dev"
4509 if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
4510 set {_p} tab name to "&5&lTWITCH &e%{_p}%"
4511 set {mineplex.displaya.%{_p}%} to "&5Twitch"
4512 set {mineplex.colora.%{_p}%} to "§5"
4513 set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
4514 return "&5Twitch"
4515 if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
4516 set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
4517 set {mineplex.displaya.%{_p}%} to "&cYouTube"
4518 set {mineplex.colora.%{_p}%} to "§c"
4519 set {mineplex.hover.%{_p}%} to "&c&lYOUTUBE%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex.%nl%&fThey are the official YouTubers of Mineplex."
4520 return "&cYouTube"
4521 if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
4522 set {_p} tab name to "&f&lEVENT &e%{_p}%"
4523 set {mineplex.displaya.%{_p}%} to "&fEvent"
4524 set {mineplex.colora.%{_p}%} to "§f"
4525 set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
4526 return "&fEvent"
4527 if {mineplex.rank.%{_p}%} is "&5&lYT ":
4528 set {_p} tab name to "&5&lYT &e%{_p}%"
4529 set {mineplex.displaya.%{_p}%} to "&5YT"
4530 set {mineplex.colora.%{_p}%} to "§5"
4531 set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
4532 return "&5YT"
4533 if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
4534 set {_p} tab name to "&3&lETERNAL &e%{_p}%"
4535 set {mineplex.displaya.%{_p}%} to "&3Eternal"
4536 set {mineplex.colora.%{_p}%} to "§3"
4537 set {mineplex.hover.%{_p}%} to "&3&lETERNAL%nl%&fFantastic and magical, no one%nl%&fexcept the time lords truly understand%nl%&fthe power of this rank.%nl% %nl%&fThe fifth purchasable rank at %{mineplex.config.shoplink}%"
4538 return "&3Eternal"
4539 if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
4540 set {mineplex.displaya.%{_p}%} to "&9Support"
4541 set {mineplex.colora.%{_p}%} to "§9"
4542 set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
4543 return "&9Support"
4544 if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
4545 set {mineplex.displaya.%{_p}%} to "&9Artist"
4546 set {mineplex.colora.%{_p}%} to "§9"
4547 set {mineplex.hover.%{_p}%} to "&9&lARTIST%nl%&fThe Artist rank is given to talented artists%nl%who are endorsed to create content for Mineplex."
4548 return "&9Artist"
4549
4550on death of player:
4551 if attacker is a player:
4552 if projectile is set:
4553 set the death message to "&9Death> &e%victim% &7killed by &e%attacker% &7with &eArchery&7."
4554 if attacker is not a player:
4555 if attacker is set:
4556 set {_dm} to 1st char in each word of "%attacker%" to caps
4557 set the death message to "&9Death> &e%victim% &7killed by &e%{_dm}%&7."
4558
4559on join:
4560 wait 2 ticks
4561 rankLoad(player, 1, 0)
4562 loop all players:
4563 updateRankAPI(loop-player)
4564
4565on flight toggle:
4566 if {mineplex.config.doublejump} is "true":
4567 if {doublejump.%uuid of player%} is set:
4568 if player's gamemode is not creative:
4569 cancel event
4570 delete {doublejump.%uuid of player%}
4571 wait 1 tick
4572 set player's flight state to false
4573 push player upward at speed 0.3
4574 push player forward at speed 0.9
4575 play raw sound "mob.ghast.fireball" at player with pitch 2 volume 0.99
4576 else:
4577 stop
4578 else:
4579 stop
4580 else:
4581 stop
4582
4583on jump:
4584 if player's gamemode is not creative:
4585 if {doublejump.%uuid of player%} is not set:
4586 if block below player is not air or water:
4587 set player's flight state to true
4588 set {doublejump.%uuid of player%} to true
4589 else:
4590 stop
4591 else:
4592 stop
4593 else:
4594 stop
4595
4596on quit:
4597 set {mineplex.rank.uuid.%uuid of player%} to {mineplex.rank.%player%}
4598
4599#Chat System
4600
4601on chat:
4602 set {_get} to getPlayerdata(player, "muted")
4603 if {_get} is "yes":
4604 if {muted::%player%::type} is "perm":
4605 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
4606 cancel event
4607 stop
4608 if {muted::%player%::type} is "temp":
4609 set {_waited} to difference between now and {muted::%player%::when}
4610 if {_waited} is less than {muted::%player%::time}:
4611 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
4612 cancel event
4613 stop
4614 if message contains "hack" or "hax":
4615 cancel event
4616 send "&9Chat> &7Accusing players of cheating in-game is against the rules. If you think someone is cheating, please gather evidence and report it at &a%{mineplex.config.website}%"
4617 stop
4618 if {mineplex.vanish.%player%} is false:
4619 if {mineplex.chatslow} is set:
4620 if player has permission "mineplex.mod":
4621 set {_check} to mcs((player), (message))
4622 if {_check} is less than 0:
4623 cancel event
4624 delete {_check}
4625 else:
4626 if difference between {lastChat::%player%} and now < {mineplex.chatslow}:
4627 cancel event
4628 send "&9Chat> &7Chat slow enabled. Please wait."
4629 else:
4630 set {lastChat::%player%} to now
4631 set {_check} to mcs((player), (message))
4632 if {_check} is less than 0:
4633 cancel event
4634 delete {_check}
4635 else if {mineplex.chatsilence} is set:
4636 if player has permission "mineplex.trainee":
4637 set {_check} to mcs((player), (message))
4638 if {_check} is less than 0:
4639 cancel event
4640 delete {_check}
4641 else:
4642 cancel event
4643 send "&9Chat> &7The chat is silenced."
4644 else:
4645 if {party.%player%.chat} is true:
4646 if length of message is greater than 1:
4647 if first character of message is "@":
4648 cancel event
4649 set message to subtext of message from characters 2 to (length of message)
4650 loop {party.%{party.%player%}%::*}:
4651 message "&5&lParty &f&l%player% &d%message%" to loop-value
4652 else:
4653 set {_check} to mcs((player), (message))
4654 if {_check} is less than 0:
4655 cancel event
4656 delete {_check}
4657 else:
4658 set {_check} to mcs((player), (message))
4659 if {_check} is less than 0:
4660 cancel event
4661 delete {_check}
4662 else:
4663 set {_check} to mcs((player), (message))
4664 if {_check} is less than 0:
4665 cancel event
4666 delete {_check}
4667 else if {mineplex.vanish.%player%} is true:
4668 send "&eYou can not chat while incognito."
4669 cancel event
4670 else:
4671 set {mineplex.vanish.%player%} to false
4672 set {_check} to mcs((player), (message))
4673 if {_check} is less than 0:
4674 cancel event
4675 delete {_check}
4676
4677#Join, Quit, and Load Handlers
4678
4679on join:
4680 if player has permission "mineplex.admin":
4681 $ thread
4682 set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
4683 set {_c} to "{@MCRVER}" parsed as a number
4684 if {_c} is greater than {_ver}:
4685 send "&9MCR> &7You must be using some fancy indev version!"
4686 send "&9MCR> &7or you're retarded and changed the version in the config!"
4687 stop
4688 else if {_c} is less than {_ver}:
4689 send "&9MCR> &7Version &e%{_ver}% &7is ready for download"
4690 else:
4691 send "&9MCR> &7Your version of MCR is currently up to date!"
4692 stop
4693 send "&9MCR> &7Changelog:"
4694 $ thread
4695 set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
4696 loop {_var1::*}:
4697 send "%loop-value%"
4698
4699 loop {_var::*}:
4700 send "&9MCR> &7Version &e%loop-value% &7is ready for download"
4701 send "&9MCR> &7End of Changelog!"
4702 if {mineplex.gadget.enabled} is not set:
4703 set {mineplex.gadget.enabled} to true
4704 if {mineplex.report.id} is not set:
4705 set {mineplex.report.id} to 1
4706 if {mineplex.dj} is not set:
4707 set {mineplex.dj} to true
4708 if {mineplex.tntlauncher} is not set:
4709 set {mineplex.tntlauncher} to true
4710 if {poll.id.last} is not set:
4711 set {poll.id.last} to 0
4712 if {mineplex.ff.list::%player%} is set:
4713 if player does not have permission "mineplex.trainee":
4714 delete {mineplex.ff.list::%player%}
4715 delete {mineplex.pref.ff.%player%}
4716 if {mineplex.totalaccounts.%ip address of player%::*} does not contain "%player%":
4717 add "%player%" to {mineplex.totalaccounts.%ip address of player%::*}
4718
4719on load:
4720 #set {_var::*} to contents from url "https://raw.githubusercontent.com/EternalKnowedge/Mineplex-Core/master/version.txt" Raw in GitHub does not update fast enough rip lel
4721 set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
4722 set {_c} to "{@MCRVER}" parsed as a number
4723 if {_c} is more than {_ver}:
4724 broadcast "&9MCR> &7You must be using some fancy indev version!"
4725 broadcast "&9MCR> &7or you're retarded and changed the version in the config!"
4726 stop
4727 else if {_c} is less than {_ver}:
4728 broadcast "&9MCR> &7Version &e%{_ver}% &7is ready for download"
4729 else:
4730 broadcast "&9MCR> &7Your version of MCR is currently up to date!"
4731 broadcast "&9MCR> &7Client Version: {@MCRVER}"
4732 broadcast "&9MCR> &7Server Version: %{_ver}%"
4733 stop
4734 broadcast "&9MCR> &7Changelog:"
4735 $ thread
4736 set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
4737 loop {_var1::*}:
4738 broadcast "%loop-value%"
4739
4740 loop {_var::*}:
4741 broadcast "&9MCR> &7Version &e%loop-value% &7is ready for download"
4742 broadcast "&9MCR> &7End of Changelog!"
4743 if {mineplex.gadget.enabled} is not set:
4744 set {mineplex.gadget.enabled} to true
4745 if {mineplex.report.id} is not set:
4746 set {mineplex.report.id} to 1
4747 if {mineplex.dj} is not set:
4748 set {mineplex.dj} to true
4749 if {mineplex.tntlauncher} is not set:
4750 set {mineplex.tntlauncher} to true
4751 if {poll.id.last} is not set:
4752 set {poll.id.last} to 0
4753
4754function runNews(p: player) :: boolean:
4755 set {_sn} to convert string {mineplex.config.servername} to uppercase
4756 send title from "&6&l%{_sn}%" and "%{mineplex.news.line1}%" to {_p} for 5, 70, 0
4757 wait 3 seconds
4758 send title from "&6&l%{_sn}%" and "%{mineplex.news.line2}%" to {_p} for 1, 70, 0
4759 wait 3 seconds
4760 send title from "&6&l%{_sn}%" and "%{mineplex.news.line3}%" to {_p} for 1, 70, 0
4761 wait 3 seconds
4762 send title from "&6&l%{_sn}%" and "%{mineplex.news.line4}%" to {_p} for 1, 60, 5
4763
4764on join:
4765 set join message to "&8Join> &7%player%"
4766 updateRankAPI(player)
4767 delete {mineplex.disguise.%player%}
4768 execute console command "/ud %player%"
4769 delete {mineplex.lastm.%player%}
4770 delete {mineplex.lasta.%player%}
4771 set tab header to "&f&l%{mineplex.config.servername}% Network &a%{mineplex.config.world}%" and footer to "&fVisit &a%{mineplex.config.website}% &ffor News, Forums and Shop" for player
4772 if {mineplex.news.allow} is true:
4773 runNews(player)
4774 if {mineplex.vanish.%player%} is not set:
4775 set {mineplex.vanish.%player%} to false
4776 if {mineplex.overridechat} is not set:
4777 set {mineplex.overridechat} to true
4778 if {mineplex.vanish.%player%} is true:
4779 send ""
4780 send ""
4781 send "&6&lYou are currently incognito"
4782 send "&eThis means you are invisible to all except for those who are"
4783 send "&4&lAdmin&f+"
4784 send ""
4785 send ""
4786 if {mineplex.pref.hpv.%player%} is false:
4787 hide all players from player
4788 if {mineplex.pref.hpv.%player%} is not set:
4789 set {mineplex.pref.hpv.%player%} to true
4790 if {mineplex.pref.ff.%player%} is not set:
4791 set {mineplex.pref.ff.%player%} to false
4792 if {mineplex.ff.%player%} is not set:
4793 set {mineplex.ff.%player%} to false
4794 if {mineplex.pref.pm.%player%} is not set:
4795 set {mineplex.pref.pm.%player%} to true
4796 if {mineplex.pref.pc.%player%} is not set:
4797 set {mineplex.pref.pc.%player%} to true
4798 if {mineplex.pref.gwen.%player%} is not set:
4799 set {mineplex.pref.gwen.%player%} to true
4800 if {mineplex.pref.report.%player%} is not set:
4801 set {mineplex.pref.report.%player%} to true
4802 if {mineplex.shards.%player%} is not set:
4803 set {mineplex.shards.%player%} to 0
4804 if {mineplex.gems.%player%} is not set:
4805 set {mineplex.gems.%player%} to 0
4806 if {mineplex.particle.active.%player%} is not set:
4807 set {mineplex.particle.active.%player%} to false
4808 if {mineplex.arrorw.active} is not set:
4809 set {mineplex.arrow.active} to false
4810 if {mineplex.adminmode.%player%} is true:
4811 set {mineplex.adminmode.%player%} to false
4812 loop all players:
4813 if {mineplex.vanish.%loop-player%} is true:
4814 add loop-player to {%player%.vanishlist::*}
4815 loop all players:
4816 if loop-player does not have permission "mineplex.admin":
4817 hide {%player%.vanishlist::*} from all players
4818 delete {%player%.vanishlist::*}
4819 delete {mineplex.tp.back.%player%}
4820 if {mineplex.config.autoop} is "true":
4821 if player has permission "mineplex.admin":
4822 op the player
4823 else:
4824 deop the player
4825
4826function newsinit(i: integer) :: number:
4827 if {mineplex.mode} is "sql":
4828 set {_get} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
4829 if {_get} is not set:
4830 update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('1', '§b§lMineplex Core Remake')"
4831 update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('2', '§a§lThe best remake for Mineplex Commands')"
4832 update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('3', '§3§lRate this on Spigot!')"
4833 update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('4', '§c§lCheck me out on SkUnity!')"
4834 set {mineplex.news.line1} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
4835 set {mineplex.news.line2} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '2'"
4836 set {mineplex.news.line3} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '3'"
4837 set {mineplex.news.line4} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '4'"
4838 set {mineplex.news.allow} to true
4839 else:
4840 set {mineplex.news.line1} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
4841 set {mineplex.news.line2} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '2'"
4842 set {mineplex.news.line3} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '3'"
4843 set {mineplex.news.line4} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '4'"
4844 else:
4845 if {mineplex.news.line1} is not set:
4846 set {mineplex.news.line1} to "§b§lMineplex Core Remake"
4847 set {mineplex.news.line2} to "§a§lThe best remake for Mineplex Commands"
4848 set {mineplex.news.line3} to "§3§lRate this on Spigot!"
4849 set {mineplex.news.line4} to "§c§lCheck me out on SkUnity!"
4850 set {mineplex.news.allow} to true
4851
4852#NewsINIT
4853on load:
4854 newsinit(1)
4855
4856on quit:
4857 set quit message to "&8Quit> &7%player%"
4858 delete {mineplex.tp.back.%player%}
4859
4860every second:
4861 loop all players:
4862 add 1 to {mineplex.time.%loop-player%}
4863
4864#Forcefield
4865
4866every 2 ticks:
4867 loop all players:
4868 if {mineplex.ff.list::%loop-player%} is set:
4869 loop players in radius 4 of loop-player:
4870 if {mineplex.pref.ff.%loop-player-2%} is false:
4871 if loop-player-2 is not loop-player-1:
4872 play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
4873 push the loop-player-2 upwards at speed 0.3
4874 push the loop-player-2 backwards at speed 0.45
4875 play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
4876
4877#2 Factor
4878
4879command /2fareset <player>:
4880 permission: op
4881 trigger:
4882 delete {mineplex.newauth.%uuid of arg-1%}
4883 set {mineplex.authlock.%arg-1%} to false
4884 delete {mineplex.newauthlast.%uuid of arg-1%}
4885
4886on join:
4887 wait 5 ticks
4888 if player has permission "mineplex.2fa":
4889 if {mineplex.newauth.%uuid of player%} is set:
4890 set {_t} to difference between {mineplex.newauthlast.%uuid of player%} and now
4891 set {_tc} to "1 day" parsed as a timespan
4892 if {_t} is less than {_tc}:
4893 send "&92FA> &7Authorized!"
4894 else:
4895 set {mineplex.authlock.%player%} to true
4896 apply slowness 999 to player for 999 seconds
4897 apply blindness 999 to player for 999 seconds
4898 send "&92FA> &7Please enter your two-factor auth code"
4899 send "&92FA> &c/2fa (code)"
4900 else:
4901 stop
4902
4903on command:
4904 if {mineplex.authlock.%player%} is true:
4905 if executor is player:
4906 if command is not "2fa":
4907 cancel event
4908 send "&92FA> &7Please enter your two-factor auth code"
4909 send "&92FA> &c/2fa (code)"
4910
4911on chat:
4912 if {mineplex.authlock.%player%} is true:
4913 cancel event
4914 send "&92FA> &7Please enter your two-factor auth code"
4915 send "&92FA> &c/2fa (code)"
4916
4917on quit:
4918 delete {autowarn.%player%}
4919
4920#Mineplex Commands
4921command /2fa [<string>] [<string>]:
4922 permission: mineplex.2fa
4923 permission message: &9Permissions> &7You do not have permission to do that.
4924 trigger:
4925 if {mineplex.newauth.%uuid of player%} is not set:
4926 if {authwarn.%player%} is not set:
4927 send "&92FA> &7Hey There! This sets a code that you will have to remember for the rest of your life!"
4928 send "&92FA> &7Do &e/2fa &7if you are 100%% sure!"
4929 set {authwarn.%player%} to true
4930 stop
4931 else:
4932 send "&92FA> &7Generating secret..."
4933 set {_clientSecret} to a new two-factor base-32 secret code
4934 send "&92FA> &7Saving secret..."
4935 set {mineplex.newauth.%uuid of player%} to {_clientSecret}
4936 send "&92FA> &7Secret key saved."
4937 send "&92FA> &7You must enter this code into your Two-Factor App:%nl%&92FA> &e%{_clientSecret}%"
4938 send "&92FA> &7Then redo /2fa with your code"
4939 set {mineplex.authlock.%player%} to false
4940 set {_t} to arg 1 parsed as an integer
4941 if {_t} is a number:
4942 send "&92FA> &7Authorized for 24 hours."
4943 send "&92FA> &7Saving secret..."
4944 wait 5 ticks
4945 set {mineplex.newauth.%uuid of player%} to skutil hashed arg 1 using "MD5"
4946 set {mineplex.authlock.%player%} to false
4947 send "&92FA> &7Secret key saved."
4948 else:
4949 send "&92FA> &7Invalid authentication code (not a number)."
4950 else:
4951 set {_t} to difference between {mineplex.newauthlast.%uuid of player%} and now
4952 set {_tc} to "1 day" parsed as a timespan
4953 if {_t} is less than {_tc}:
4954 send "&92FA> &7Authorized for 24 hours."
4955 else:
4956 set {_c} to the current two-factor code of secret code {mineplex.newauth.%uuid of player%}
4957 set {_t} to arg 1 parsed as an integer
4958 if {_t} is a number:
4959 if {_c} is arg-1:
4960 send "&92FA> &7Authorized for 24 hours."
4961 send "&92FA> &7Saving secret..."
4962 wait 5 ticks
4963 remove slowness from the player
4964 remove blindness from the player
4965 set {mineplex.newauthlast.%uuid of player%} to now
4966 set {mineplex.authlock.%player%} to false
4967 send "&92FA> &7Secret key saved."
4968 else:
4969 send "&92FA> &7Invalid authentication code"
4970 else:
4971 send "&92FA> &7Invalid authentication code (not a number)."
4972
4973command /tp [<text>] [<text>] [<text>] [<text>] [<text>]:
4974 aliases: /teleport
4975 permission: mineplex.mod
4976 permission message: &9Permissions> &7You do not have permission to do that.
4977 trigger:
4978 if arg-1 is not set:
4979 send "&9Teleport> &7Commands List:"
4980 send "&6/tp <target> &7Teleport to Player &6Mod"
4981 send "&6/tp b(ack) &7Undo Teleports &6Mod"
4982 send "&4/tp h(ere) <player> &7Teleport Player to Self &4Admin"
4983 send "&4/tp <player> <target> &7Teleport Player to Player &4Admin"
4984 send "&4/tp <player> <X> <Y> <Z> &7Teleport to Location &4Admin"
4985 send "&4/tp all &7Teleport All to Self &4Owner"
4986 else:
4987 if arg-2 is not set:
4988 if arg-1 is set:
4989 if arg-1 is not "all":
4990 if arg-1 is not "here" or "h" or "back" or "b":
4991 if arg-1 parsed as player is online:
4992 set {mineplex.tp.back.%player%} to location of player
4993 teleport player to arg-1 parsed as player's location
4994 set {_t} to arg-1 parsed as player
4995 send "&9Teleport> &7Teleported to &e%{_t}%&7."
4996 stop
4997 else:
4998 send "&9Teleport> &7Locating &e%arg-1%&7..."
4999 wait 5 seconds
5000 send "&9Teleport> &7Could not locate &e%arg-1%&7."
5001 stop
5002 if arg-1 is "all":
5003 if player has permission "mineplex.owner":
5004 teleport all players to player
5005 send "&9Teleport> &7You teleported &e%amount of players% Players &7to yourself."
5006 broadcast "&9Teleport> &7You teleported to &e%player%&7."
5007 stop
5008 else:
5009 send "&9Permissions> &7You do not have permission to do that."
5010 stop
5011 if arg 4 is set:
5012 if arg-1 parsed as player is online:
5013 set {_p} to arg-1 parsed as a player
5014 set {_x} to arg-2 parsed as a number
5015 set {_y} to arg-3 parsed as a number
5016 set {_z} to arg-4 parsed as a number
5017 if {_x} is not set:
5018 send "&9Teleport> &7Invalid X-Coordinate [&e%arg-2%&7]."
5019 stop
5020 if {_y} is not set:
5021 send "&9Teleport> &7Invalid Y-Coordinate [&e%arg-3%&7]."
5022 stop
5023 if {_z} is not set:
5024 send "&9Teleport> &7Invalid Z-Coordinate [&e%arg-4%&7]."
5025 stop
5026 teleport {_p} to the location at {_x}, {_y}, {_z}
5027 send "&9Teleport> &7Teleported &e%{_p}% &7%{_x}%, %{_y}%, %{_z}%."
5028 else:
5029 send "&9Teleport> &7Locating &e%arg-1%&7..."
5030 wait 5 seconds
5031 send "&9Teleport> &7Could not locate &e%arg-1%&7."
5032
5033 if arg-1 is "here" or "h":
5034 if player has permission "mineplex.admin":
5035 if arg-3 is not set:
5036 if arg-2 is set:
5037 if arg-2 parsed as player is online:
5038 teleport arg-2 parsed as player to player's location
5039 send "&9Teleport> &7%player% teleported you to self." to arg-2 parsed as player
5040 set {_t} to arg-2 parsed as player
5041 send "&9Teleport> &7Teleported &e%arg-2% &7to self."
5042 stop
5043 else:
5044 send "&9Teleport> &7Locating &e%arg-2%&7..."
5045 wait 5 seconds
5046 send "&9Teleport> &7Could not locate &e%arg-2%&7."
5047 stop
5048 else:
5049 send "&9Permissions> &7You do not have permission to do that."
5050 stop
5051 if arg-2 is not set:
5052 send "&9Teleport> &7Commands List:"
5053 send "&6/tp <target> &7Teleport to Player &6Mod"
5054 send "&6/tp b(ack) &7Undo Teleports &6Mod"
5055 send "&4/tp h(ere) <player> &7Teleport Player to Self &4Admin"
5056 send "&4/tp <player> <target> &7Teleport Player to Player &4Admin"
5057 send "&4/tp <player> <X> <Y> <Z> &7Teleport to Location &4Admin"
5058 send "&4/tp all &7Teleport All to Self &4Owner"
5059 if arg-1 is "back" or "b":
5060 if {mineplex.tp.back.%player%} is set:
5061 set {_new} to {mineplex.tp.back.%player%}
5062 set {mineplex.tp.back.%player%} to location of player
5063 teleport player to {_new}
5064 send "&9Teleport> &7You have been teleported to your previous location."
5065 else:
5066 send "&9Teleport> &7There is no place to teleport you back to."
5067 stop
5068 if arg-3 is not set:
5069 if arg-2 is set:
5070 if player has permission "mineplex.admin":
5071 if arg-2 parsed as player is online:
5072 if arg-1 parsed as player is online:
5073 set {mineplex.tp.back.%player%} to location of player
5074 teleport arg-1 parsed as player to arg-2 parsed as player
5075 set {_t1} to arg-1 parsed as player
5076 set {_t} to arg-2 parsed as player
5077 send "&9Teleport> &e%{_t1}% &7was teleported to you." to arg-2 parsed as player
5078 send "&9Teleport> &7You were teleported to &e%{_t}%&7." to arg-1 parsed as player
5079 stop
5080 else:
5081 send "&9Teleport> &7Locating &e%arg-1%&7..."
5082 wait 5 seconds
5083 send "&9Teleport> &7Could not locate &e%arg-1%&7."
5084 stop
5085 else:
5086 send "&9Teleport> &7Locating &e%arg-2%&7..."
5087 wait 5 seconds
5088 send "&9Teleport> &7Could not locate &e%arg-2%&7."
5089 stop
5090 else:
5091 send "&9Permissions> &7You do not have permission to do that."
5092 stop
5093
5094command /time [<offline player>] [<string>]:
5095 permission: mineplex.mod
5096 permission message: &9Permissions> &7You do not have permission to do that.
5097 trigger:
5098 if arg 1 is not set:
5099 send "&9Time> &7Usage: /time <playerName>"
5100 else:
5101 if {mineplex.time.%arg-1%} is not set:
5102 set {mineplex.time.%arg-1%} to 0
5103 send "&9Time> &e%arg-1% &7has spent &e%{mineplex.time.%arg-1%}%.0 Seconds &7in game"
5104 else:
5105 set {_tm} to {mineplex.time.%arg-1%}
5106 if {_tm} is less than 60:
5107 send "&9Time> &e%arg-1% &7has spent &e%{_tm}%.0 Seconds &7in game"
5108 stop
5109 else if {_tm} is less than 3600:
5110 set {_final} to {_tm} / 60
5111 send "&9Time> &e%arg-1% &7has spent &e%{_final}% Minutes &7in game"
5112 stop
5113 else if {_tm} is less than 86400:
5114 set {_final} to {_tm} / 3600
5115 send "&9Time> &e%arg-1% &7has spent &e%{_final}% Hours &7in game"
5116 stop
5117 else if {_tm} is less than 604800:
5118 set {_final} to {_tm} / 86400
5119 send "&9Time> &e%arg-1% &7has spent &e%{_final}% Days &7in game"
5120 stop
5121 else:
5122 set {_final} to {_tm} / 604800
5123 send "&9Time> &e%arg-1% &7has spent &e%{_final}% Weeks &7in game"
5124
5125command /disguise [<string>] [<string>]:
5126 permission: mineplex.youtube
5127 permission message: &9Permissions> &7You do not have permission to do that.
5128 trigger:
5129 if arg 1 is not set:
5130 if {mineplex.disguise.%player%} is set:
5131 send "&9Disguise> &7You are no longer disguised!"
5132 execute console command "/ud %player%"
5133 delete {mineplex.disguise.%player%}
5134 set player tab name to "%{mineplex.rank.%player%}%&e%player%"
5135 updateRankAPI(player)
5136 else:
5137 send "&9Disguise> &7You are not disguised. You can disguise with /disguise <username>"
5138 else:
5139 if {mineplex.disguise.%player%} is set:
5140 send "&9Disguise> &7You are already disguised. Please undisguise by using /disguise"
5141 else:
5142 set {_n} to the length of arg 1
5143 if {_n} is greater than 16:
5144 send "&9Disguise> &7The chosen name of &e%arg-1% &7is &e%{_n} - 16% &7characters too long!"
5145 stop
5146 if arg-1 contains "~" or "`" or "!" or "@" or "##" or "$" or "%%" or "^" or "&" or "*" or "(" or ")" or "-" or "=" or "+" or "[" or "]" or "{" or "}" or ":" or ";" or "," or "<" or ">" or "." or "?" or "/" or "\":
5147 send "&9Disguise> &7That disguise name is not permitted!"
5148 stop
5149 set {_p1} to arg-1 parsed as offline player
5150 if {_p1} is online:
5151 send "&9Disguise> &7This name already in use!"
5152 stop
5153 set {_ban} to getPlayerdata({_p1}, "banned")
5154 set {_mute} to getPlayerdata({_p1}, "muted")
5155 if {_ban} or {_muted} is "yes":
5156 send "&9Disguise> &7You may not disguise as people who are muted or banned."
5157 stop
5158 set {_rank} to getPlayerdata({_p1}, "rank")
5159 if {_rank} is set: #Not in the database
5160 if {_rank} is not "" or "All" or "Ultra" or "Hero" or "Legend" or "Titan" or "Eternal":
5161 send "&9Disguise> &7You may not disguise as users who are staff, youtubers, or twitchers."
5162 stop
5163 send "&9Disguise> &7Disguise Active: &f%arg-1%"
5164 set {_localp} to arg 1 parsed as a player
5165 rankLoad({_localp} , 2, 1)
5166 if {mineplex.level.%arg-1%} is not set:
5167 set {mineplex.level.%arg-1%} to "&70"
5168 if {mineplex.rank.%arg-1%} is not set:
5169 set {mineplex.rank.%arg-1%} to ""
5170 execute console command "/odisguise %player% player %arg-1%"
5171 set {mineplex.disguise.%player%} to arg-1 parsed as offline player
5172 set {_player} to arg 1
5173 if {mineplex.rank.%{_player}%} is not set:
5174 set {mineplex.rank.%{_player}%} to ""
5175 set player tab name to "%{mineplex.rank.%{_player}%}%&e%arg-1%"
5176 updateRankAPI(player)
5177
5178command /api [<string>] [<string>] [<string>]:
5179 trigger:
5180 if arg 1 is not set:
5181 send "&9API> &7Mineplex Core API"
5182 send "&9API> &7/api (api name)"
5183 send "&9API> &7Current API's; &adisplayrank&7, &adisplayname"
5184 send "&9API> &7Use /api (api name) (player) to view a different players's api output"
5185 else:
5186 if arg 2 is set:
5187 set {_p} to arg-2
5188 else:
5189 set {_p} to "%player%"
5190 if arg 1 is "displayrank":
5191 if {mineplex.api.displayrank.%{_p}%} is not set:
5192 set {mineplex.api.displayrank.%{_p}%} to "null"
5193 send "&9API> &7Raw API Output; &f%{mineplex.api.displayrank.%{_p}%}%"
5194 else if arg 1 is "displayname":
5195 if {mineplex.api.displayname.%{_p}%} is not set:
5196 set {mineplex.api.displayname.%{_p}%} to "null"
5197 send "&9API> &7Raw API Output; &f%{mineplex.api.displayname.%{_p}%}%"
5198 else:
5199 send "&9API> &7Invalid API!"
5200
5201command /give [<string>] [<string>] [<string>] [<string>] [<string>]:
5202 aliases: /g, /item, /i
5203 permission: mineplex.admin
5204 permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
5205 trigger:
5206 if arg 1 is not set:
5207 send "&9Give: &7Listing Commands:"
5208 send "&4/give (item) Admin"
5209 send "&4/give (player) (item) (amount) Admin"
5210 send "&4/give (player) (item) (amount) (Enchantment:level) Admin"
5211 send "&4/give all (item) (amount) Admin"
5212 send "&4/give all (item) (amount) (Enchantment:level) Admin"
5213 else if arg 5 is set:
5214 send "&9Give: &7Listing Commands:"
5215 send "&4/give (item) Admin"
5216 send "&4/give (player) (item) (amount) Admin"
5217 send "&4/give (player) (item) (amount) (Enchantment:level) Admin"
5218 send "&4/give all (item) (amount) Admin"
5219 send "&4/give all (item) (amount) (Enchantment:level) Admin"
5220 else:
5221 if arg 2 is not set:
5222 set {_i1} to arg-1
5223 replace all "_" with " " in {_i1}
5224 set {_i} to "%{_i1}%" parsed as an item
5225 if {_i} is an item:
5226 send "&9Give> &7You gave &e1 %{_i}% &7to &e%player%&7."
5227 give player {_i}
5228 else:
5229 send "&9Item Search> &e0 &7matches for [&e%arg-1%&7]."
5230 send "&9Item(s) Search> &7Invalid [&e%arg-1%&7]."
5231 if arg 2 is set:
5232 if arg 3 is set:
5233 if arg 1 is "all":
5234 set {_i1} to arg-2
5235 replace all "_" with " " in {_i1}
5236 set {_i} to "%{_i1}%" parsed as an item
5237 set {_a} to arg-3 parsed as a number
5238 if {_i} is an item:
5239 if {_a} is a number:
5240 if arg 4 is set:
5241 set {_e} to arg-4 parsed as text
5242 set {_oe} to arg-4 parsed as text
5243 replace all "_" with " " in {_e}
5244 replace all ":" with " " in {_e}
5245 if "%{_e}%" parsed as an enchantment type is an enchantment type:
5246 set {_e} to "%{_e}%" parsed as an enchantment type
5247 enchant {_i} with "%{_e}%" parsed as a enchantment type
5248 else:
5249 send "&9Give> &7Invalid Enchantment [&6%{_oe}%&7]."
5250 send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &eALL&7."
5251 send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to all players
5252 loop all players:
5253 loop {_a} times:
5254 give loop-player {_i}
5255 else:
5256 send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
5257 send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
5258 send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
5259 loop all players:
5260 give loop-player {_i}
5261 else:
5262 send "&9Item Search> &e0 &7matches for [&e%{_i1}%&7]."
5263 send "&9Item(s) Search> &7Invalid [&e%{_i}%&7]."
5264 else:
5265 set {_i1} to arg-2
5266 replace all "_" with " " in {_i1}
5267 set {_i} to "%{_i1}%" parsed as an item
5268 set {_a} to arg-3 parsed as a number
5269 set {_p} to arg-1 parsed as a player
5270 if {_i} is an item:
5271 if {_p} is online:
5272 if {_a} is a number:
5273 if arg 4 is set:
5274 set {_e} to arg-4 parsed as text
5275 set {_oe} to arg-4 parsed as text
5276 replace all "_" with " " in {_e}
5277 replace all ":" with " " in {_e}
5278 if "%{_e}%" parsed as an enchantment type is an enchantment type:
5279 set {_e} to "%{_e}%" parsed as an enchantment type
5280 enchant {_i} with "%{_e}%" parsed as a enchantment type
5281 else:
5282 send "&9Give> &7Invalid Enchantment [&6%{_oe}%&7]."
5283 send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &e%{_p}%&7."
5284 send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to {_p}
5285 loop {_a} times:
5286 give {_p} {_i}
5287 else:
5288 send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
5289 send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
5290 send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
5291 give {_p} {_i}
5292 else:
5293 send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
5294 send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
5295 stop
5296 else:
5297 send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
5298 send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
5299 else:
5300 if arg 1 is "all":
5301 set {_i1} to arg-2
5302 replace all "_" with " " in {_i1}
5303 set {_i} to "%{_i1}%" parsed as an item
5304 if {_i} is an item:
5305 send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
5306 send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
5307 loop all players:
5308 give loop-player {_i}
5309 else:
5310 send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
5311 send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
5312 else:
5313 set {_i1} to arg-2
5314 replace all "_" with " " in {_i1}
5315 set {_i} to "%{_i1}%" parsed as an item
5316 set {_p} to arg-1 parsed as a player
5317 if {_i} is an item:
5318 if {_p} is online:
5319 send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
5320 send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
5321 give {_p} {_i}
5322 else:
5323 send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
5324 send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
5325 stop
5326 else:
5327 send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
5328 send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
5329
5330#/givestat player stat amount
5331command /givestat [<offline player>] [<string>] [<string>] [<string>]:
5332 permission: mineplex.support
5333 permission message: &9Permissions> &7You do not have permission to do that.
5334 trigger:
5335 if arg 1 is not set:
5336 send "&9Stats> &e/givestat (player) (stat) (amount)"
5337 else if arg 1 is set:
5338 if arg 2 is set:
5339 if arg 3 parsed as a number is set:
5340 if arg 2 is "Global.ExpEarned":
5341 set {_lvl} to arg 3 parsed as a number
5342 if {_lvl} is less than 0:
5343 send "&9Stats> &7Unknown value for &eGlobal.ExpEarned&7!"
5344 stop
5345 else if {_lvl} is less than 20:
5346 set {_temp} to "&7%{_lvl}%"
5347 set {mineplex.level.%arg-1%} to "%{_temp}%"
5348 send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
5349 setPlayerdata(arg-1, "level", "%{_lvl}%")
5350 stop
5351 else if {_lvl} is less than 40:
5352 set {_temp} to "&9%{_lvl}%"
5353 set {mineplex.level.%arg-1%} to "%{_temp}%"
5354 send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
5355 setPlayerdata(arg-1, "level", "%{_lvl}%")
5356 stop
5357 else if {_lvl} is less than 60:
5358 set {_temp} to "&2%{_lvl}%"
5359 set {mineplex.level.%arg-1%} to "%{_temp}%"
5360 send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
5361 setPlayerdata(arg-1, "level", "%{_lvl}%")
5362 stop
5363 else if {_lvl} is less than 80:
5364 set {_temp} to "&6%{_lvl}%"
5365 set {mineplex.level.%arg-1%} to "%{_temp}%"
5366 send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
5367 setPlayerdata(arg-1, "level", "%{_lvl}%")
5368 stop
5369 else if {_lvl} is less than or equal to 100:
5370 set {_temp} to "&c%{_lvl}%"
5371 set {mineplex.level.%arg-1%} to "%{_temp}%"
5372 send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
5373 setPlayerdata(arg-1, "level", "%{_lvl}%")
5374 stop
5375 else if arg 2 is "Global.GemsEarned":
5376 set {_num} to arg 3 parsed as a number
5377 set {_get} to getPlayerdata(arg-1, "stats.global.gems")
5378 set {_cur} to {_get} parsed as a number
5379 add {_num} to {_cur}
5380 setPlayerdata(arg-1, "stats.global.gems", "%{_cur}%")
5381 send "&9Stats> &7Applied &e%{_num}% Global.GemsEarned &7to &e%arg-1%&7."
5382 else if arg 2 is "Global.GamesPlayed":
5383 set {_num} to arg 3 parsed as a number
5384 set {_get} to getPlayerdata(arg-1, "stats.global.games")
5385 set {_cur} to {_get} parsed as a number
5386 add {_num} to {_cur}
5387 setPlayerdata(arg-1, "stats.global.games", "%{_cur}%")
5388 send "&9Stats> &7Applied &e%{_num}% Global.GamesPlayed &7to &e%arg-1%&7."
5389 else if arg 2 is "Global.DailyRewards":
5390 set {_num} to arg 3 parsed as a number
5391 set {_get} to getPlayerdata(arg-1, "stats.global.dailyr")
5392 set {_cur} to {_get} parsed as a number
5393 add {_num} to {_cur}
5394 setPlayerdata(arg-1, "stats.global.dailyr", "%{_cur}%")
5395 send "&9Stats> &7Applied &e%{_num}% Global.DailyRewards &7to &e%arg-1%&7."
5396 else if arg 2 is "Global.TimesVoted":
5397 set {_num} to arg 3 parsed as a number
5398 set {_get} to getPlayerdata(arg-1, "stats.global.voted")
5399 set {_cur} to {_get} parsed as a number
5400 add {_num} to {_cur}
5401 setPlayerdata(arg-1, "stats.global.voted", "%{_cur}%")
5402 send "&9Stats> &7Applied &e%{_num}% Global.TimesVoted &7to &e%arg-1%&7."
5403 else if arg 2 is "Global.ChestsOpened":
5404 set {_num} to arg 3 parsed as a number
5405 set {_get} to getPlayerdata(arg-1, "stats.global.chests")
5406 set {_cur} to {_get} parsed as a number
5407 add {_num} to {_cur}
5408 setPlayerdata(arg-1, "stats.global.chests", "%{_cur}%")
5409 send "&9Stats> &7Applied &e%{_num}% Global.ChestsOpened &7to &e%arg-1%&7."
5410 else:
5411 send "&9Stats> &e/givestat (player) (stat) (amount)"
5412 else:
5413 send "&9Stats> &e/givestat (player) (stat) (amount)"
5414 else:
5415 send "&9Stats> &e/givestat (player) (stat) (amount)"
5416
5417command /stats [<offline player>] [<string>]:
5418 trigger:
5419 if arg 1 is not set:
5420 set {_p} to player
5421 set {_good} to true
5422 else:
5423 if arg 1 is online:
5424 set {_p} to arg 1
5425 set {_good} to true
5426 else:
5427 send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
5428 if {_good} is true:
5429 open chest with 5 rows named "%{_p}%'s Stats" to player
5430 wait 1 tick
5431 set {_tm} to {mineplex.time.%{_p}%}
5432 if {_tm} is less than 60:
5433 set {_global.time} to "%{_final}%.0 Seconds"
5434 else if {_tm} is less than 3600:
5435 set {_final} to {_tm} / 60
5436 set {_global.time} to "%{_final}% Minutes"
5437 else if {_tm} is less than 86400:
5438 set {_final} to {_tm} / 3600
5439 set {_global.time} to "%{_final}% Hours"
5440 else if {_tm} is less than 604800:
5441 set {_final} to {_tm} / 86400
5442 set {_global.time} to "%{_final}% Days"
5443 else:
5444 set {_final} to {_tm} / 604800
5445 set {_global.time} to "%{_final}% Weeks"
5446 set {_global.gems} to getPlayerdata({_p}, "stats.global.gems")
5447 set {_global.games} to getPlayerdata({_p}, "stats.global.games")
5448 set {_global.dailyr} to getPlayerdata({_p}, "stats.global.dailyr")
5449 set {_global.voted} to getPlayerdata({_p}, "stats.global.voted")
5450 set {_global.chests} to getPlayerdata({_p}, "stats.global.chests")
5451 format slot 2 of player with emerald named "&a&lGlobal" with lore "||&eGems Earned: &f%{_global.gems}%|| ||&eGames Played: &f%{_global.games}%||&eTime In Game: &f%{_global.time}%|| ||&eDaily Rewards: &f%{_global.dailyr}%||&eTimes Voted: &f%{_global.voted}%|| ||&eChests Opened: &f%{_global.chests}%" to be unstealable
5452
5453command /mcr:
5454 trigger:
5455 send "&9Plugin> &7Mineplex Core"
5456 send "&9Plugin> &7Running MCR: &e{@MCRVER}"
5457 send "&9Plugin> &7Hotfix/Release Cycle: &e{@MCRHOTFIX}"
5458 send "&9Plugin> &7by &aEternalKnowedge&7, &eOttelino&7, &eTheSkripterDK&7, &eTorksi&7, &7and &eItzRenderman"
5459 send "&9Plugin> &7GitHub Contributors: NaiculS, termanator1128, IsGeorgeCurious, Techno3600, TreyRuffy, and WilliePlaysMC."
5460 send "&9Plugin> &7Special thanks to SoftBreeze, Rezz, Boobah, TonyMaster21, LimeGlass, and Citrin_"
5461 send ""
5462 send "&9Patreon> &7Huge Thanks to my Patreons:"
5463 send "&9Patreon> &eNone, anymore"
5464 send "&9Patreon> &7If you want to be listed there than support me on Patreon!:"
5465 send "&9Patreon> &bhttps://www.patreon.com/EternalKnowedge"
5466
5467command /a [<text>]:
5468 aliases: /admin
5469 trigger:
5470 if arg 1 is not set:
5471 send "&9Admin> &7Corect Usage: /a (message)"
5472 stop
5473 if {mineplex.disguise.%player%} is set:
5474 send "&9Admin> &7Disguised users cannot use /a while disguised!"
5475 stop
5476 else:
5477 set {_p} to player
5478 set {_get} to getPlayerdata(player, "muted")
5479 if {_get} is "yes":
5480 if {muted::%player%::type} is "perm":
5481 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
5482 stop
5483 if {muted::%player%::type} is "temp":
5484 set {_waited} to difference between {muted::%player%::when} and now
5485 if {_waited} is less than {muted::%player%::time}:
5486 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
5487 stop
5488 if {mineplex.rank.%{_p}%} is "":
5489 set {_display} to "Player %{_p}%"
5490 else:
5491 set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
5492 if player has permission "mineplex.trainee":
5493 loop all players:
5494 if loop-player has permission "mineplex.trainee":
5495 send "%{_display}% &d%arg-1%" to loop-player
5496 play "NOTE_PLING" to loop-player at volume 0.5
5497 else:
5498 send "%{_display}% &d%arg-1%"
5499 play "NOTE_PLING" to player at volume 0.5
5500 loop all players:
5501 if loop-player has permission "mineplex.trainee":
5502 send "%{_display}% &d%arg-1%" to loop-player
5503 play "NOTE_PLING" to loop-player at volume 0.5
5504
5505command /ma [<player>] [<text>]:
5506 permission: mineplex.trainee
5507 permission message: &9Permissions> &7You do not have permission to do that.
5508 trigger:
5509 if {mineplex.disguise.%player%} is set:
5510 send "&9Admin> &7Disguised users cannot use /a while disguised!"
5511 stop
5512 else:
5513 set {_p} to player
5514 if {mineplex.rank.%{_p}%} is "":
5515 set {_display} to "&fPlayer %{_p}%"
5516 else:
5517 set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
5518 if {mineplex.rank.%arg-1%} is "":
5519 set {_display2} to "&fPlayer %arg-1%"
5520 else:
5521 set {_display2} to "%{mineplex.displaya.%arg-1%}% %arg-1%"
5522 if player has permission "mineplex.trainee":
5523 if argument 1 and argument 2 is set:
5524 send "&d-> %{_display2}% &d%arg 2%"
5525 send "&d<- %{_display}% &d%arg 2%" to arg-1
5526 set {mineplex.lasta.%player%} to arg-1
5527 play "NOTE_PLING" to player at volume 0.5
5528 play "NOTE_PLING" to arg-1 at volume 0.5
5529 loop all players:
5530 if loop-player has permission "mineplex.trainee":
5531 if loop-player is not player or arg-1:
5532 send "%{_display}% &d-> %{_display2}% &d%arg 2%" to loop-player
5533 else:
5534 send "&9Message> &cErr...something went wrong?"
5535 else:
5536 send "&9Permissions> &7You do not have permission to do that."
5537
5538command /ra [<text>]:
5539 permission: mineplex.trainee
5540 permission message: &9Permissions> &7You do not have permission to do that.
5541 trigger:
5542 if {mineplex.disguise.%player%} is set:
5543 set {_p} to {mineplex.disguise.%player%}
5544 else:
5545 set {_p} to player
5546 if {mineplex.rank.%{_p}%} is "":
5547 set {_display} to "&fPlayer %{_p}%"
5548 else:
5549 set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
5550 if {mineplex.rank.%{mineplex.lasta.%player%}%} is "":
5551 set {_display2} to "&fPlayer %{mineplex.lasta.%player%}%"
5552 else:
5553 set {_display2} to "%{mineplex.displaya.%{mineplex.lasta.%player%}%}% %{mineplex.lasta.%player%}%"
5554 if {mineplex.lasta.%player%} is not set:
5555 send "&9Message> &7You have not messaged anyone recently."
5556 stop
5557 else:
5558 if argument 1 is set:
5559 send "&d-> %{_display2}% &d%arg 1%"
5560 send "&d<- %{_display}% &d%arg-1%" to {mineplex.lasta.%player%}
5561 play "NOTE_PLING" to player at volume 0.5
5562 play "NOTE_PLING" to {mineplex.lasta.%player%} at volume 0.5
5563 loop all players:
5564 if loop-player has permission "mineplex.trainee":
5565 if loop-player is not player or {mineplex.lasta.%player%}:
5566 send "%{_display}% &d-> %{_display2}% &d%arg 1%" to loop-player
5567 else:
5568 send "&9Message> &cErr...something went wrong?"
5569
5570command /vanish:
5571 aliases: /incognito
5572 permission: mineplex.trainee
5573 permission message: &9Permissions> &7You do not have permission to do that.
5574 trigger:
5575 if {mineplex.vanish.%player%} is true:
5576 loop all players:
5577 loop-value doesn't have permission "mineplex.admin"
5578 add loop-value to {_vanishto::*}
5579
5580 reveal player from all players
5581 set {mineplex.vanish.%player%} to false
5582 send "&9Moderation> &7Disabled moderator mode."
5583 send "&9Incognito> &7You are no longer incognito. Your status will only change when you run &e/vanish &7again."
5584 else:
5585 loop all players:
5586 loop-value doesn't have permission "mineplex.admin"
5587 add loop-value to {_vanishto::*}
5588
5589 hide player from {_vanishto::*}
5590 set {mineplex.vanish.%player%} to true
5591 send "&9Moderation> &7Enabled moderator mode."
5592 send "&9Incognito> &7You are now incognito. Your status will only change when you run &e/vanish &7again."
5593
5594function friendButtons(p: player) :: number:
5595 set {_t} to "Steve" parsed as an offline player
5596 set slot 0 of {_p}'s current inventory to {_t}'s skull named "&fFriends" with lore ""
5597 set slot 2 of {_p}'s current inventory to rose named "&fFriend Requests" with lore ""
5598 set slot 4 of {_p}'s current inventory to tnt named "&fDelete Friends" with lore ""
5599 set slot 6 of {_p}'s current inventory to book and quill named "&fSend Friend Request" with lore ""
5600 set slot 8 of {_p}'s current inventory to sign item named "&7Toggle friends to display in chat" with lore ""
5601
5602function friendClean(p: player) :: number:
5603 set {_s} to 18
5604 loop 27 times:
5605 set slot {_s} of {_p}'s current inventory to air
5606 add 1 to {_s}
5607 if {_s} = 44:
5608 exit loop
5609 friendButtons({_p})
5610
5611function friendMain(p: player) :: number:
5612 open chest with 6 rows named "Friends" to {_p}
5613 friendClean({_p})
5614 set {_s} to 18
5615 loop {friends.list.%{_p}%::*}:
5616 set {_t} to "%loop-value%" parsed as offline player
5617 if {_t} is online:
5618 set {_a} to "&2Online"
5619 set {_w} to "&e%{_t}'s world%"
5620 set slot {_s} of {_p}'s current inventory to {_t}'s skull named "&f&l%{_t}%" with lore "&7&lStatus: %{_a}%||&7&lServer: %{_w}%|| ||&7Left click to teleport to their server"
5621 else:
5622 set {_a} to "&cOffline"
5623 set slot {_s} of {_p}'s current inventory to {_t}'s skull named "&f&l%{_t}%" with lore "&7&lStatus: %{_a}%||&7Last seen N/A Days ago"
5624 add 1 to {_s}
5625 if {_s} = 44:
5626 exit loop
5627
5628function friendDel(p: player) :: number:
5629 open chest with 6 rows named "Delete Friends" to {_p}
5630 friendClean({_p})
5631 set {_s} to 18
5632 loop {friends.list.%{_p}%::*}:
5633 set {_t} to "%loop-value%" parsed as offline player
5634 if {_t} is online:
5635 set {_a} to "&2Online"
5636 set {_w} to "&e%{_t}'s world%"
5637 set slot {_s} of {_p}'s current inventory to {_t}'s skull named "&f&l%{_t}%" with lore "&7&lStatus: %{_a}%||&7&lServer: %{_w}%|| ||&7Left click to teleport to their server"
5638 else:
5639 set {_a} to "&cOffline"
5640 set slot {_s} of {_p}'s current inventory to {_t}'s skull named "&f&l%{_t}%" with lore "&7&lStatus: %{_a}%||&7Last seen N/A Days ago"
5641 add 1 to {_s}
5642 if {_s} = 44:
5643 exit loop
5644
5645function friendReq(p: player) :: number:
5646 open chest with 6 rows named "Friend Requests" to {_p}
5647 friendClean({_p})
5648 set {_s} to 18
5649 loop {friends.request.%{_p}%::*}:
5650 set {_t} to "%loop-value%" parsed as offline player
5651 set slot {_s} of {_p}'s current inventory to paper named "&7Friend request from &f&l%{_t}%" with lore "||&7Left click to accept friend request"
5652 add 1 to {_s}
5653 if {_s} = 44:
5654 exit loop
5655
5656command /friend [<string>] [<string>]:
5657 aliases: /f
5658 trigger:
5659 if arg 1 is not set:
5660 friendMain(player)
5661 else:
5662 if arg 1 is "%player%":
5663 send "&9Friends> &7You cannot friend yourself!"
5664 stop
5665 stop
5666 loop {friends.list.%arg-1%::*}:
5667 if loop-value is "%player%":
5668 set {_f} to true
5669 loop {friends.request.%arg-1%::*}:
5670 if loop-value is "%player%":
5671 set {_a} to true
5672 if {_a} is true:
5673 send "&9Friends> &a%arg-1% &7has yet to respond to your friend request."
5674 else if {_f} is true:
5675 send "&9Friends> &7You are already friends with &a%arg-1%"
5676 else:
5677 add "%player%" to {friends.request.%arg-1%::*}
5678 send "&9Friends> &7Added &a%arg-1% &7to your friends list!"
5679
5680on inventory click:
5681 if inventory name of player's current inventory is "Friends":
5682 if clicked slot is 2:
5683 friendReq(player)
5684 if clicked slot is 4:
5685 friendDel(player)
5686 cancel event
5687 if inventory name of player's current inventory is "Friend Requests":
5688 if clicked slot is 0:
5689 friendMain(player)
5690 if clicked slot is 4:
5691 friendDel(player)
5692 else:
5693 set {_n} to name of clicked item
5694 if {_n} contains "&7Friend request from ":
5695 replace all "&7Friend request from " with "" in {_n}
5696 set {_f} to uncolored {_n}
5697 remove {_f} from {friends.request.%player%::*}
5698 add {_f} to {friends.list.%player%::*}
5699 add "%player%" to {friends.list.%{_f}%::*}
5700 send "&9Friends> &aYou &7and &a%{_f}% &7are now friends!"
5701 friendReq(player)
5702 cancel event
5703 if inventory name of player's current inventory is "Delete Friends":
5704 if clicked slot is 0:
5705 friendMain(player)
5706 if clicked slot is 2:
5707 friendReq(player)
5708 else:
5709 if "%clicked item%" is "player head":
5710 if clicked slot is not 0:
5711 set {_n} to name of clicked item
5712 set {_f} to uncolored {_n}
5713 replace all " " with "" in {_f}
5714 remove {_f} from {friends.list.%player%::*}
5715 remove {_f} from {friends.list.%{_l}%::*}
5716 send "&9Friends> &7Deleted &a%{_f}% &7from your friends list!"
5717 friendDel(player)
5718 cancel event
5719
5720command /chatslow [<integer>]:
5721 aliases: /cs
5722 permission: mineplex.srmod
5723 permission message: &9Permissions> &7You do not have permission to do that.
5724 trigger:
5725 if {mineplex.disguise.%player%} is set:
5726 set {_p} to {mineplex.disguise.%player%}
5727 else:
5728 set {_p} to player
5729 if argument 1 is set:
5730 if {mineplex.chatsilence} is set:
5731 send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
5732 stop
5733 else:
5734 if {mineplex.chatslow} is not set:
5735 set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
5736 send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
5737 else:
5738 set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
5739 send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
5740 send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
5741 else:
5742 if {mineplex.chatsilence} is set:
5743 send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
5744 stop
5745 else:
5746 if {mineplex.chatslow} is set:
5747 delete {mineplex.chatslow}
5748 send "&9Chat> &6%{_p}% &7has disabled chat slow." to all players
5749 else:
5750 send "&9Message> &cYou didn't enter a time limit! Defaulting to 10 seconds."
5751 set {mineplex.chatslow} to "10 seconds" parsed as timespan
5752 send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
5753 send "&9Chat> &6%{_p}% &7has set the chat delay to &610 &7seconds." to all players
5754command /silence:
5755 permission: mineplex.admin
5756 permission message: &9Permissions> &7You do not have permission to do that.
5757 trigger:
5758 if {mineplex.chatslow} is set:
5759 delete {mineplex.chatslow}
5760 send "&9Chat> &6%player% &7has disabled chat slow." to all players
5761 set {mineplex.chatsilence} to true
5762 send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
5763 stop
5764 if {mineplex.chatsilence} is set:
5765 delete {mineplex.chatsilence}
5766 send "&9Chat> &7The chat is no longer silenced." to all players
5767 else:
5768 set {mineplex.chatsilence} to true
5769 send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
5770
5771command /locate [<string>]:
5772 aliases: /find, /where
5773 permission: mineplex.trainee
5774 permission message: &9Permissions> &7You do not have permission to do that.
5775 trigger:
5776 if argument 1 is set:
5777 set {_tmp} to arg 1 parsed as an offline player
5778 if {_tmp} is online:
5779 set {_mineplex.locate.temp} to "%{_tmp}'s world%"
5780 send "&9Locate> &7Located [&e%arg-1%&7] at &9%{_mineplex.locate.temp}%"
5781 else:
5782 send "&9Locate> &7Failed to locate [&e%arg-1%&7]."
5783 else:
5784 send "&9Locate> &7Player argument missing."
5785
5786command /rank [<string>] [<offline player>] [<string>]:
5787 permission: mineplex.support
5788 permission message: &9Permissions> &7You do not have permission to do that.
5789 trigger:
5790 if argument 1 is not set:
5791 send "&9Client Manager> &7Listing Commands:"
5792 send "&4/rank set <player> <rank>: &fSets the target user's rank"
5793 send "&4/rank test <player> <rank>: &fTemporarily sets the target users' rank"
5794 stop
5795 if argument 1 is not "set" or "test":
5796 send "&9Client Manager> &7Listing Commands:"
5797 send "&4/rank set <player> <rank>: &fSets the target user's rank"
5798 send "&4/rank test <player> <rank>: &fTemporarily sets the target users' rank"
5799 stop
5800 if argument 1 is "set":
5801 if argument 2 or argument 3 is not set:
5802 send "&9Client Manager> &7Listing Rank Update Commands:"
5803 send "&f/rank set (player) (rank): &eupdates chosen player's rank to the chosen rank"
5804 send ""
5805 send "&9Rank Update> &7Listing Rank List:"
5806 send "&9Ranks> &7ALL, ULTRA, HERO, LEGEND, TITAN, ETERNAL, TRAINEE, MODERATOR, SNR_MODERATOR, CLANS_MOD, JNR_DEV, SUPPORT, ADMIN, LEADER, DEVELOPER, OWNER, ARTIST, MAPLEAD, BUILDER, MAPPER, EVENT, TWITCH, YOUTUBE, YT."
5807 #send "&9Ranks> &7ULTRA"
5808 #send "&9Ranks> &7HERO"
5809 #send "&9Ranks> &7LEGEND"
5810 #send "&9Ranks> &7TITAN"
5811 #send "&9Ranks> &7ETERNAL"
5812 #send "&9Ranks> &7TRAINEE"
5813 #send "&9Ranks> &7MODERATOR"
5814 #send "&9Ranks> &7SNR_MODERATOR"
5815 #send "&9Ranks> &7CLANS_MOD"
5816 #send "&9Ranks> &7JNR_DEV"
5817 #send "&9Ranks> &7SUPPORT"
5818 #send "&9Ranks> &7ADMIN"
5819 #send "&9Ranks> &7LEADER"
5820 #send "&9Ranks> &7DEVELOPER"
5821 #send "&9Ranks> &7OWNER"
5822 #send "&9Ranks> &7ARTIST"
5823 #send "&9Ranks> &7MAPLEAD"
5824 #send "&9Ranks> &7BUILDER"
5825 #send "&9Ranks> &7MAPPER"
5826 #send "&9Ranks> &7EVENT"
5827 #send "&9Ranks> &7TWITCH"
5828 #send "&9Ranks> &7YOUTUBE"
5829 #send "&9Ranks> &7YT"
5830 stop
5831 set {_uuid} to uuid of arg-2
5832 set {_allcap} to convert arg-3 to all caps
5833 if argument 3 is "ALL":
5834 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5835 if {_c} is true:
5836 set {mineplex.rank.%arg-2%} to ""
5837 execute console command "/__mp__dp__ %arg-2%"
5838 send "&9Client Manager> &7%arg-2%'s rank has been updated to None!"
5839 send "&9Client Manager> &7Your rank has been updated to None!" to arg 2
5840 set arg-2 tab name to "&e%arg-2%"
5841 updateRankAPI(arg-2)
5842 setPlayerdata(arg-2, "rank", "All")
5843 else:
5844 send "&9Client Manager> &c&lInvalid rank!"
5845 else if argument 3 is "ULTRA":
5846 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5847 if {_c} is true:
5848 set {mineplex.rank.%arg-2%} to "&b&lULTRA "
5849 execute console command "/__mp__dp__ %arg-2%"
5850 send "&9Client Manager> &7%arg-2%'s rank has been updated to Ultra!"
5851 send "&9Client Manager> &7Your rank has been updated to Ultra!" to arg 2
5852 set arg-2 tab name to "&b&lULTRA &e%arg-2%"
5853 updateRankAPI(arg-2)
5854 setPlayerdata(arg-2, "rank", "Ultra")
5855 else:
5856 send "&9Client Manager> &c&lInvalid rank!"
5857 else if argument 3 is "HERO":
5858 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5859 if {_c} is true:
5860 set {mineplex.rank.%arg-2%} to "&d&lHERO "
5861 execute console command "/__mp__dp__ %arg-2%"
5862 send "&9Client Manager> &7%arg-2%'s rank has been updated to Hero!"
5863 send "&9Client Manager> &7Your rank has been updated to Hero!" to arg 2
5864 set arg-2 tab name to "&d&lHERO &e%arg-2%"
5865 updateRankAPI(arg-2)
5866 setPlayerdata(arg-2, "rank", "Hero")
5867 else:
5868 send "&9Client Manager> &c&lInvalid rank!"
5869 else if argument 3 is "LEGEND":
5870 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5871 if {_c} is true:
5872 set {mineplex.rank.%arg-2%} to "&a&lLEGEND "
5873 execute console command "/__mp__dp__ %arg-2%"
5874 add "mineplex.legend" to arg-2's permissions
5875 send "&9Client Manager> &7%arg-2%'s rank has been updated to Legend!"
5876 send "&9Client Manager> &7Your rank has been updated to Legend!" to arg 2
5877 set arg-2 tab name to "&a&lLEGEND &e%arg-2%"
5878 updateRankAPI(arg-2)
5879 setPlayerdata(arg-2, "rank", "Legend")
5880 else:
5881 send "&9Client Manager> &c&lInvalid rank!"
5882 else if argument 3 is "TITAN":
5883 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5884 if {_c} is true:
5885 set {mineplex.rank.%arg-2%} to "&c&lTITAN "
5886 execute console command "/__mp__dp__ %arg-2%"
5887 add "mineplex.legend" to arg-2's permissions
5888 add "mineplex.titan" to arg-2's permissions
5889 send "&9Client Manager> &7%arg-2%'s rank has been updated to Titan!"
5890 send "&9Client Manager> &7Your rank has been updated to Titan!" to arg 2
5891 set arg-2 tab name to "&c&lTITAN &e%arg-2%"
5892 updateRankAPI(arg-2)
5893 setPlayerdata(arg-2, "rank", "Titan")
5894 else:
5895 send "&9Client Manager> &c&lInvalid rank!"
5896 else if argument 3 is "ETERNAL":
5897 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5898 if {_c} is true:
5899 set {mineplex.rank.%arg-2%} to "&3&lETERNAL "
5900 execute console command "/__mp__dp__ %arg-2%"
5901 add "mineplex.legend" to arg-2's permissions
5902 add "mineplex.titan" to arg-2's permissions
5903 send "&9Client Manager> &7%arg-2%'s rank has been updated to Eternal!"
5904 send "&9Client Manager> &7Your rank has been updated to Eternal!" to arg 2
5905 set arg-2 tab name to "&3&lETERNAL &e%arg-2%"
5906 updateRankAPI(arg-2)
5907 setPlayerdata(arg-2, "rank", "Eternal")
5908 else:
5909 send "&9Client Manager> &c&lInvalid rank!"
5910 else if argument 3 is "TRAINEE":
5911 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5912 if {_c} is true:
5913 set {mineplex.rank.%arg-2%} to "&6&lTRAINEE "
5914 execute console command "/__mp__dp__ %arg-2%"
5915 add "mineplex.trainee" to arg-2's permissions
5916 add "mineplex.legend" to arg-2's permissions
5917 add "mineplex.titan" to arg-2's permissions
5918 add "mineplex.2fa" to arg-2's permissions
5919 send "&9Client Manager> &7%arg-2%'s rank has been updated to Trainee!"
5920 send "&9Client Manager> &7Your rank has been updated to Trainee!" to arg 2
5921 set arg-2 tab name to "&6&lTRAINEE &e%arg-2%"
5922 updateRankAPI(arg-2)
5923 setPlayerdata(arg-2, "rank", "Trainee")
5924 else:
5925 send "&9Client Manager> &c&lInvalid rank!"
5926 else if argument 3 is "MODERATOR":
5927 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5928 if {_c} is true:
5929 set {mineplex.rank.%arg-2%} to "&6&lMOD "
5930 execute console command "/__mp__dp__ %arg-2%"
5931 add "mineplex.trainee" to arg-2's permissions
5932 add "mineplex.mod" to arg-2's permissions
5933 add "mineplex.legend" to arg-2's permissions
5934 add "mineplex.2fa" to arg-2's permissions
5935 add "mineplex.titan" to arg-2's permissions
5936 send "&9Client Manager> &7%arg-2%'s rank has been updated to Mod!"
5937 send "&9Client Manager> &7Your rank has been updated to Mod!" to arg 2
5938 set arg-2 tab name to "&6&lMOD &e%arg-2%"
5939 updateRankAPI(arg-2)
5940 setPlayerdata(arg-2, "rank", "Mod")
5941 else:
5942 send "&9Client Manager> &c&lInvalid rank!"
5943 else if argument 3 is "SNR_MODERATOR":
5944 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5945 if {_c} is true:
5946 set {mineplex.rank.%arg-2%} to "&6&lSR.MOD "
5947 execute console command "/__mp__dp__ %arg-2%"
5948 add "mineplex.trainee" to arg-2's permissions
5949 add "mineplex.mod" to arg-2's permissions
5950 add "mineplex.srmod" to arg-2's permissions
5951 add "mineplex.legend" to arg-2's permissions
5952 add "mineplex.2fa" to arg-2's permissions
5953 add "mineplex.titan" to arg-2's permissions
5954 send "&9Client Manager> &7%arg-2%'s rank has been updated to Sr.Mod!"
5955 send "&9Client Manager> &7Your rank has been updated to Sr.Mod!" to arg 2
5956 set arg-2 tab name to "&6&lSR.MOD &e%arg-2%"
5957 updateRankAPI(arg-2)
5958 set "rank" to "SrMod" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
5959 setPlayerdata(arg-2, "rank", "SrMod")
5960 else:
5961 send "&9Client Manager> &c&lInvalid rank!"
5962 else if argument 3 is "CLANS_MOD":
5963 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5964 if {_c} is true:
5965 set {mineplex.rank.%arg-2%} to "&6&lC.MOD "
5966 execute console command "/__mp__dp__ %arg-2%"
5967 add "mineplex.trainee" to arg-2's permissions
5968 add "mineplex.mod" to arg-2's permissions
5969 add "mineplex.srmod" to arg-2's permissions
5970 add "mineplex.legend" to arg-2's permissions
5971 add "mineplex.2fa" to arg-2's permissions
5972 add "mineplex.titan" to arg-2's permissions
5973 send "&9Client Manager> &7%arg-2%'s rank has been updated to C.Mod!"
5974 send "&9Client Manager> &7Your rank has been updated to C.Mod!" to arg 2
5975 set arg-2 tab name to "&6&lC.MOD &e%arg-2%"
5976 updateRankAPI(arg-2)
5977 setPlayerdata(arg-2, "rank", "CMod")
5978 else:
5979 send "&9Client Manager> &c&lInvalid rank!"
5980 else if argument 3 is "ADMIN":
5981 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
5982 if {_c} is true:
5983 set {mineplex.rank.%arg-2%} to "&4&lADMIN "
5984 execute console command "/__mp__dp__ %arg-2%"
5985 add "mineplex.trainee" to arg-2's permissions
5986 add "mineplex.legend" to arg-2's permissions
5987 add "mineplex.mod" to arg-2's permissions
5988 add "mineplex.jrdev" to arg-2's permissions
5989 add "mineplex.youtube" to arg-2's permissions
5990 add "mineplex.builder" to arg-2's permissions
5991 add "mineplex.srmod" to arg-2's permissions
5992 add "mineplex.support" to arg-2's permissions
5993 add "mineplex.admin" to arg-2's permissions
5994 add "mineplex.titan" to arg-2's permissions
5995 add "mineplex.2fa" to arg-2's permissions
5996 send "&9Client Manager> &7%arg-2%'s rank has been updated to Admin!"
5997 send "&9Client Manager> &7Your rank has been updated to Admin!" to arg 2
5998 set arg-2 tab name to "&4&lADMIN &e%arg-2%"
5999 updateRankAPI(arg-2)
6000 setPlayerdata(arg-2, "rank", "Admin")
6001 else:
6002 send "&9Client Manager> &c&lInvalid rank!"
6003 else if argument 3 is "APEX":
6004 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6005 if {_c} is true:
6006 set {mineplex.rank.%arg-2%} to "&9&lAPEX "
6007 execute console command "/__mp__dp__ %arg-2%"
6008 add "mineplex.trainee" to arg-2's permissions
6009 add "mineplex.legend" to arg-2's permissions
6010 add "mineplex.mod" to arg-2's permissions
6011 add "mineplex.jrdev" to arg-2's permissions
6012 add "mineplex.support" to arg-2's permissions
6013 add "mineplex.youtube" to arg-2's permissions
6014 add "mineplex.builder" to arg-2's permissions
6015 add "mineplex.srmod" to arg-2's permissions
6016 add "mineplex.admin" to arg-2's permissions
6017 add "mineplex.titan" to arg-2's permissions
6018 add "mineplex.2fa" to arg-2's permissions
6019 send "&9Client Manager> &7%arg-2%'s rank has been updated to Apex Minecraft Hosting!"
6020 send "&9Client Manager> &7Your rank has been updated to Apex Minecraft Hosting!" to arg 2
6021 set arg-2 tab name to "&9&lAPEX &e%arg-2%"
6022 updateRankAPI(arg-2)
6023 setPlayerdata(arg-2, "rank", "Apex")
6024 else:
6025 send "&9Client Manager> &c&lInvalid rank!"
6026 else if argument 3 is "LEADER":
6027 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6028 if {_c} is true:
6029 set {mineplex.rank.%arg-2%} to "&4&lLEADER "
6030 execute console command "/__mp__dp__ %arg-2%"
6031 add "mineplex.trainee" to arg-2's permissions
6032 add "mineplex.mod" to arg-2's permissions
6033 add "mineplex.jrdev" to arg-2's permissions
6034 add "mineplex.builder" to arg-2's permissions
6035 add "mineplex.srmod" to arg-2's permissions
6036 add "mineplex.admin" to arg-2's permissions
6037 add "mineplex.support" to arg-2's permissions
6038 add "mineplex.youtube" to arg-2's permissions
6039 add "mineplex.legend" to arg-2's permissions
6040 add "mineplex.2fa" to arg-2's permissions
6041 add "mineplex.leader" to arg-2's permissions
6042 add "mineplex.titan" to arg-2's permissions
6043 send "&9Client Manager> &7%arg-2%'s rank has been updated to Leader!"
6044 send "&9Client Manager> &7Your rank has been updated to Leader!" to arg 2
6045 set arg-2 tab name to "&4&lLEADER &e%arg-2%"
6046 updateRankAPI(arg-2)
6047 setPlayerdata(arg-2, "rank", "Leader")
6048 else:
6049 send "&9Client Manager> &c&lInvalid rank!"
6050 else if argument 3 is "OWNER":
6051 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6052 if {_c} is true:
6053 set {mineplex.rank.%arg-2%} to "&4&lOWNER "
6054 execute console command "/__mp__dp__ %arg-2%"
6055 add "mineplex.trainee" to arg-2's permissions
6056 add "mineplex.mod" to arg-2's permissions
6057 add "mineplex.srmod" to arg-2's permissions
6058 add "mineplex.admin" to arg-2's permissions
6059 add "mineplex.jrdev" to arg-2's permissions
6060 add "mineplex.dev" to arg-2's permissions
6061 add "mineplex.youtube" to arg-2's permissions
6062 add "mineplex.builder" to arg-2's permissions
6063 add "mineplex.leader" to arg-2's permissions
6064 add "mineplex.jrdev" to arg-2's permissions
6065 add "mineplex.2fa" to arg-2's permissions
6066 add "mineplex.support" to arg-2's permissions
6067 add "mineplex.owner" to arg-2's permissions
6068 add "mineplex.legend" to arg-2's permissions
6069 add "mineplex.titan" to arg-2's permissions
6070 send "&9Client Manager> &7%arg-2%'s rank has been updated to Owner!"
6071 send "&9Client Manager> &7Your rank has been updated to Owner!" to arg 2
6072 set arg-2 tab name to "&4&lOWNER &e%arg-2%"
6073 updateRankAPI(arg-2)
6074 setPlayerdata(arg-2, "rank", "Owner")
6075 else:
6076 send "&9Client Manager> &c&lInvalid rank!"
6077 else if argument 3 is "BUILDER":
6078 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6079 if {_c} is true:
6080 set {mineplex.rank.%arg-2%} to "&9&lBUILDER "
6081 execute console command "/__mp__dp__ %arg-2%"
6082 add "mineplex.titan" to arg-2's permissions
6083 add "mineplex.legend" to arg-2's permissions
6084 add "mineplex.2fa" to arg-2's permissions
6085 send "&9Client Manager> &7%arg-2%'s rank has been updated to Builder!"
6086 send "&9Client Manager> &7Your rank has been updated to Builder!" to arg 2
6087 set arg-2 tab name to "&9&lBUIDLER &e%arg-2%"
6088 updateRankAPI(arg-2)
6089 setPlayerdata(arg-2, "rank", "Builder")
6090 else:
6091 send "&9Client Manager> &c&lInvalid rank!"
6092 else if argument 3 is "MAPPER":
6093 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6094 if {_c} is true:
6095 set {mineplex.rank.%arg-2%} to "&9&lMAPPER "
6096 execute console command "/__mp__dp__ %arg-2%"
6097 add "mineplex.builder" to arg-2's permissions
6098 add "mineplex.titan" to arg-2's permissions
6099 add "mineplex.legend" to arg-2's permissions
6100 add "mineplex.2fa" to arg-2's permissions
6101 send "&9Client Manager> &7%arg-2%'s rank has been updated to Mapper!"
6102 send "&9Client Manager> &7Your rank has been updated to Mapper!" to arg 2
6103 set arg-2 tab name to "&9&lMAPPER &e%arg-2%"
6104 updateRankAPI(arg-2)
6105 setPlayerdata(arg-2, "rank", "Mapper")
6106 else:
6107 send "&9Client Manager> &c&lInvalid rank!"
6108 else if argument 3 is "SUPPORT":
6109 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6110 if {_c} is true:
6111 set {mineplex.rank.%arg-2%} to "&9&lSUPPORT "
6112 execute console command "/__mp__dp__ %arg-2%"
6113 add "mineplex.trainee" to arg-2's permissions
6114 add "mineplex.legend" to arg-2's permissions
6115 add "mineplex.jrdev" to arg-2's permissions
6116 add "mineplex.2fa" to arg-2's permissions
6117 add "mineplex.mod" to arg-2's permissions
6118 add "mineplex.youtube" to arg-2's permissions
6119 add "mineplex.builder" to arg-2's permissions
6120 add "mineplex.srmod" to arg-2's permissions
6121 add "mineplex.support" to arg-2's permissions
6122 add "mineplex.titan" to arg-2's permissions
6123 send "&9Client Manager> &7%arg-2%'s rank has been updated to Support!"
6124 send "&9Client Manager> &7Your rank has been updated to Support!" to arg 2
6125 set arg-2 tab name to "&9&lSUPPORT &e%arg-2%"
6126 updateRankAPI(arg-2)
6127 setPlayerdata(arg-2, "rank", "Support")
6128 else:
6129 send "&9Client Manager> &c&lInvalid rank!"
6130 else if argument 3 is "ARTIST":
6131 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6132 if {_c} is true:
6133 set {mineplex.rank.%arg-2%} to "&9&lARTIST "
6134 execute console command "/__mp__dp__ %arg-2%"
6135 add "mineplex.legend" to arg-2's permissions
6136 add "mineplex.titan" to arg-2's permissions
6137 send "&9Client Manager> &7%arg-2%'s rank has been updated to Artist!"
6138 send "&9Client Manager> &7Your rank has been updated to Artist!" to arg 2
6139 set arg-2 tab name to "&9&lARTIST &e%arg-2%"
6140 updateRankAPI(arg-2)
6141 setPlayerdata(arg-2, "rank", "Artist")
6142 else:
6143 send "&9Client Manager> &c&lInvalid rank!"
6144 else if argument 3 is "MAPLEAD":
6145 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6146 if {_c} is true:
6147 set {mineplex.rank.%arg-2%} to "&9&lMAPLEAD "
6148 execute console command "/__mp__dp__ %arg-2%"
6149 add "mineplex.builder" to arg-2's permissions
6150 add "mineplex.2fa" to arg-2's permissions
6151 add "mineplex.titan" to arg-2's permissions
6152 add "mineplex.legend" to arg-2's permissions
6153 send "&9Client Manager> &7%arg-2%'s rank has been updated to MapLead!"
6154 send "&9Client Manager> &7Your rank has been updated to MapLead!" to arg 2
6155 set arg-2 tab name to "&9&lMAPLEAD &e%arg-2%"
6156 updateRankAPI(arg-2)
6157 setPlayerdata(arg-2, "rank", "Maplead")
6158 else:
6159 send "&9Client Manager> &c&lInvalid rank!"
6160 else if argument 3 is "JNR_DEV":
6161 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6162 if {_c} is true:
6163 set {mineplex.rank.%arg-2%} to "&6&lJR.DEV "
6164 execute console command "/__mp__dp__ %arg-2%"
6165 add "mineplex.trainee" to arg-2's permissions
6166 add "mineplex.mod" to arg-2's permissions
6167 add "mineplex.srmod" to arg-2's permissions
6168 add "mineplex.2fa" to arg-2's permissions
6169 add "mineplex.builder" to arg-2's permissions
6170 add "mineplex.jrdev" to arg-2's permissions
6171 add "mineplex.legend" to arg-2's permissions
6172 add "mineplex.titan" to arg-2's permissions
6173 send "&9Client Manager> &7%arg-2%'s rank has been updated to Jr.Dev!"
6174 send "&9Client Manager> &7Your rank has been updated to Jr.Dev!" to arg 2
6175 set arg-2 tab name to "&6&lJR.DEV &e%arg-2%"
6176 updateRankAPI(arg-2)
6177 setPlayerdata(arg-2, "rank", "JrDev")
6178 else:
6179 send "&9Client Manager> &c&lInvalid rank!"
6180 else if argument 3 is "DEVELOPER":
6181 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6182 if {_c} is true:
6183 set {mineplex.rank.%arg-2%} to "&4&lDEV "
6184 execute console command "/__mp__dp__ %arg-2%"
6185 add "mineplex.trainee" to arg-2's permissions
6186 add "mineplex.mod" to arg-2's permissions
6187 add "mineplex.srmod" to arg-2's permissions
6188 add "mineplex.jrdev" to arg-2's permissions
6189 add "mineplex.2fa" to arg-2's permissions
6190 add "mineplex.admin" to arg-2's permissions
6191 add "mineplex.leader" to arg-2's permissions
6192 add "mineplex.support" to arg-2's permissions
6193 add "mineplex.owner" to arg-2's permissions
6194 add "mineplex.builder" to arg-2's permissions
6195 add "mineplex.dev" to arg-2's permissions
6196 add "mineplex.youtube" to arg-2's permissions
6197 add "mineplex.admin" to arg-2's permissions
6198 add "mineplex.legend" to arg-2's permissions
6199 add "mineplex.titan" to arg-2's permissions
6200 send "&9Client Manager> &7%arg-2%'s rank has been updated to Dev!"
6201 send "&9Client Manager> &7Your rank has been updated to Dev!" to arg 2
6202 set arg-2 tab name to "&4&lDEV &e%arg-2%"
6203 updateRankAPI(arg-2)
6204 setPlayerdata(arg-2, "rank", "Dev")
6205 else:
6206 send "&9Client Manager> &c&lInvalid rank!"
6207 else if argument 3 is "TWITCH":
6208 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6209 if {_c} is true:
6210 set {mineplex.rank.%arg-2%} to "&5&lTWITCH "
6211 execute console command "/__mp__dp__ %arg-2%"
6212 add "mineplex.twitch" to arg-2's permissions
6213 add "mineplex.legend" to arg-2's permissions
6214 add "mineplex.titan" to arg-2's permissions
6215 add "mineplex.youtube" to arg-2's permissions
6216 send "&9Client Manager> &7%arg-2%'s rank has been updated to Twitch!"
6217 send "&9Client Manager> &7Your rank has been updated to Twitch!" to arg 2
6218 set arg-2 tab name to "&5&lTWITCH &e%arg-2%"
6219 updateRankAPI(arg-2)
6220 setPlayerdata(arg-2, "rank", "Twitch")
6221 else:
6222 send "&9Client Manager> &c&lInvalid rank!"
6223 else if argument 3 is "YOUTUBE":
6224 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6225 if {_c} is true:
6226 set {mineplex.rank.%arg-2%} to "&c&lYOUTUBE "
6227 execute console command "/__mp__dp__ %arg-2%"
6228 add "mineplex.youtube" to arg-2's permissions
6229 add "mineplex.legend" to arg-2's permissions
6230 add "mineplex.titan" to arg-2's permissions
6231 send "&9Client Manager> &7%arg-2%'s rank has been updated to YouTube!"
6232 send "&9Client Manager> &7Your rank has been updated to YouTube!" to arg 2
6233 set arg-2 tab name to "&c&lYOUTUBE &e%arg-2%"
6234 updateRankAPI(arg-2)
6235 setPlayerdata(arg-2, "rank", "Youtube")
6236 else:
6237 send "&9Client Manager> &c&lInvalid rank!"
6238 else if argument 3 is "EVENT":
6239 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6240 if {_c} is true:
6241 set {mineplex.rank.%arg-2%} to "&f&lEVENT "
6242 execute console command "/__mp__dp__ %arg-2%"
6243 add "mineplex.youtube" to arg-2's permissions
6244 add "mineplex.legend" to arg-2's permissions
6245 add "mineplex.titan" to arg-2's permissions
6246 send "&9Client Manager> &7%arg-2%'s rank has been updated to Event!"
6247 send "&9Client Manager> &7Your rank has been updated to Event!" to arg 2
6248 set arg-2 tab name to "&f&lEVENT &e%arg-2%"
6249 updateRankAPI(arg-2)
6250 setPlayerdata(arg-2, "rank", "Event")
6251 else:
6252 send "&9Client Manager> &c&lInvalid rank!"
6253 else if argument 3 is "YT":
6254 set {_c} to caseSensitive(arg-3, "%{_allcap}%")
6255 if {_c} is true:
6256 set {mineplex.rank.%arg-2%} to "&5&lYT "
6257 execute console command "/__mp__dp__ %arg-2%"
6258 add "mineplex.youtube" to arg-2's permissions
6259 add "mineplex.legend" to arg-2's permissions
6260 add "mineplex.titan" to arg-2's permissions
6261 send "&9Client Manager> &7%arg-2%'s rank has been updated to YT!"
6262 send "&9Client Manager> &7Your rank has been updated to YT!" to arg 2
6263 set arg-2 tab name to "&5&lYT &e%arg-2%"
6264 updateRankAPI(arg-2)
6265 setPlayerdata(arg-2, "rank", "Yt")
6266 else:
6267 send "&9Client Manager> &c&lInvalid rank!"
6268 else:
6269 send "&9Client Manager> &c&lInvalid rank!"
6270 rankLoad(arg-2, 2, 0)
6271 else if argument 1 is "test":
6272 if arg-2 or arg-3 is not set:
6273 send "&4/rank test <player> <rank>: Temporarily sets the target user's rank"
6274 else:
6275 if arg 2 is online:
6276 if {mineplex.testrank.%arg-2%} is not set:
6277 if arg 3 is "ULTRA":
6278 set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
6279 set {mineplex.rank.%arg-2%} to "&b&lULTRA "
6280 execute console command "/__mp__dp__ %arg-2%"
6281 set {_or} to uncolored {mineplex.testrank.%arg-2%}
6282 send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
6283 send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
6284 send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
6285 send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
6286 set arg-2 tab name to "&b&lULTRA &e%arg-2%"
6287 updateRankAPI(arg-2)
6288 wait 5 ticks
6289 rankLoad(arg-2, 2, 1)
6290 else if arg 3 is "HERO":
6291 set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
6292 set {mineplex.rank.%arg-2%} to "&d&lHERO "
6293 execute console command "/__mp__dp__ %arg-2%"
6294 set {_or} to uncolored {mineplex.testrank.%arg-2%}
6295 send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
6296 send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
6297 send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
6298 send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
6299 set arg-2 tab name to "&d&lHERO &e%arg-2%"
6300 updateRankAPI(arg-2)
6301 wait 5 ticks
6302 rankLoad(arg-2, 2, 1)
6303 else if arg 3 is "LEGEND":
6304 set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
6305 set {mineplex.rank.%arg-2%} to "&a&lLEGEND "
6306 execute console command "/__mp__dp__ %arg-2%"
6307 set {_or} to uncolored {mineplex.testrank.%arg-2%}
6308 send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
6309 send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
6310 send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
6311 send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
6312 set arg-2 tab name to "&a&lLEGEND &e%arg-2%"
6313 updateRankAPI(arg-2)
6314 wait 5 ticks
6315 rankLoad(arg-2, 2, 1)
6316 else if arg 3 is "TITAN":
6317 set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
6318 set {mineplex.rank.%arg-2%} to "&c&lTITAN "
6319 execute console command "/__mp__dp__ %arg-1%"
6320 set {_or} to uncolored {mineplex.testrank.%arg-2%}
6321 send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
6322 send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
6323 send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
6324 send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
6325 set arg-2 tab name to "&c&lTITAN &e%arg-2%"
6326 updateRankAPI(arg-2)
6327 wait 5 ticks
6328 rankLoad(arg-2, 2, 1)
6329 else if arg 3 is "ETERNAL":
6330 set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
6331 set {mineplex.rank.%arg-2%} to "&3&lETERNAL "
6332 execute console command "/__mp__dp__ %arg-2%"
6333 set {_or} to uncolored {mineplex.testrank.%arg-2%}
6334 send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
6335 send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
6336 send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
6337 send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
6338 set arg-2 tab name to "&3&lETERNAL &e%arg-2%"
6339 updateRankAPI(arg-2)
6340 wait 5 ticks
6341 rankLoad(arg-2, 2, 1)
6342 else:
6343 send "&9Client Manager> &c&lInvalid rank!"
6344 else:
6345 send "&9Client Manager> &c&lThis player already has a test rank!"
6346 else:
6347 send "&9Online Player Search> &e0 &7matches for [&e%arg-2%&7]."
6348
6349
6350
6351
6352command /powerplay [<offline player>]:
6353 permission: mineplex.jrdev
6354 permission message: &9Permissions> &7You do not have permission to do that.
6355 trigger:
6356 if arg 1 is set:
6357 if {mineplex.ppc.%arg-1%} is not set:
6358 set {mineplex.ppc.%arg-1%} to true
6359 send "&9PPC> &7%arg-1% Power Play: &aTrue"
6360 else:
6361 delete {mineplex.ppc.%arg-1%}
6362 send "&9PPC> &7%arg-1% Power Play: &cFalse"
6363 else:
6364 send "&9PPC> &7/powerplay (player)"
6365
6366command /shard [<offline player>] [<string>] [<string>]:
6367 permission: mineplex.admin
6368 permission message: &9Permissions> &7You do not have permission to do that.
6369 trigger:
6370 if arg 1 is not set:
6371 send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
6372 else:
6373 if arg 2 is not set:
6374 send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
6375 else:
6376 if arg 1 is not online:
6377 send "&9Shard> &7Could not find player &e%arg-1%"
6378 else:
6379 set {_num} to arg 2 parsed as an integer
6380 if {_num} is an integer:
6381 add {_num} to {mineplex.shards.%arg-1%}
6382 send "&9Shard> &7You gave &e%arg-2% Shards &7to &e%arg-1%&7."
6383 send "&9Shard> &e%player% &7gave you &e%arg-2% Shards&7." to arg-1
6384 addShards(arg-1, {_num})
6385 else:
6386 send "&9Shard> &7Invalid Shards Amount"
6387
6388command /gem [<offline player>] [<string>] [<string>]:
6389 permission: mineplex.admin
6390 permission message: &9Permissions> &7You do not have permission to do that.
6391 trigger:
6392 if arg 1 is not set:
6393 send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
6394 else:
6395 if arg 2 is not set:
6396 send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
6397 else:
6398 if arg 1 is not online:
6399 send "&9Gem> &7Could not find player &e%arg-1%"
6400 else:
6401 set {_num} to arg 2 parsed as an integer
6402 if {_num} is an integer:
6403 addGems(arg-1, {_num})
6404 send "&9Gem> &7You gave &e%arg-2% Gems &7to &e%arg-1%&7."
6405 send "&9Gem> &e%player% &7gave you &e%arg-2% Gems&7." to arg-1
6406 else:
6407 send "&9Gem> &7Invalid Gems Amount"
6408
6409command /getadmin:
6410 permission: mineplex.jrdev
6411 permission message: &9Permissions> &7You do not have permission to do that.
6412 trigger:
6413 if {mineplex.rank.%player%} is "&6&lJR.DEV ":
6414 if {mineplex.disguise.%player%} is set:
6415 set {_p} to {mineplex.disguise.%player%}
6416 else:
6417 set {_p} to player
6418 if {mineplex.adminmode.%player%} is true:
6419 remove "mineplex.admin" from player's permissions
6420 remove "mineplex.support" from player's permissions
6421 remove "mineplex.builder" from player's permissions
6422 remove "mineplex.youtube" from player's permissions
6423 set {mineplex.adminmode.%player%} to false
6424 send "&9Admin Mode> &7%{_p}% Admin Mode: &cFalse"
6425 else:
6426 set {mineplex.adminmode.%player%} to true
6427 add "mineplex.admin" to player's permissions
6428 add "mineplex.builder" to player's permissions
6429 add "mineplex.support" to player's permissions
6430 add "mineplex.youtube" to player's permissions
6431 send "&9Admin Mode> &7%{_p}% Admin Mode: &aTrue"
6432 else:
6433 send "&9Admin Mode> &7/getadmin is only for JR.DEV!"
6434
6435command /__mp__dp__ <player>:
6436 executable by: console
6437 trigger:
6438 remove "mineplex.trainee" from arg-1's permissions
6439 remove "mineplex.legend" from arg-1's permissions
6440 remove "mineplex.titan" from arg-1's permissions
6441 remove "mineplex.mod" from arg-1's permissions
6442 remove "mineplex.srmod" from arg-1's permissions
6443 remove "mineplex.admin" from arg-1's permissions
6444 remove "mineplex.leader" from arg-1's permissions
6445 remove "mineplex.owner" from arg-1's permissions
6446 remove "mineplex.jrdev" from arg-1's permissions
6447 remove "mineplex.2fa" from arg-1's permissions
6448 remove "mineplex.dev" from arg-1's permissions
6449 remove "mineplex.twitch" from arg-1's permissions
6450 remove "mineplex.youtube" from arg-1's permissions
6451 remove "mineplex.builder" from arg-1's permissions
6452
6453function rawreport(arg1: player , arg2: player , arg3: text , arg4: text , arg5: text) :: string:
6454 if {_arg3} is "Hacking":
6455 set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
6456 set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
6457 set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
6458 set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
6459 set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
6460 set {mineplex.report.open.%{mineplex.report.id}%} to true
6461 send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
6462 else if {_arg3} is "Chat-Abuse":
6463 set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
6464 set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
6465 set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
6466 set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
6467 set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
6468 set {mineplex.report.open.%{mineplex.report.id}%} to true
6469 send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
6470 else if {_arg3} is "Gameplay":
6471 set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
6472 set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
6473 set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
6474 set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
6475 set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
6476 set {mineplex.report.open.%{mineplex.report.id}%} to true
6477 send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
6478 else:
6479 stop
6480 loop all players:
6481 if loop-player has permission "mineplex.trainee":
6482 if {mineplex.pref.report.%loop-player%} is true:
6483 send "&9[Report ##%{mineplex.report.id}%] &7%{_arg2}% has reported %{_arg1}% for a &e%{_arg3}% &7offence with reason &e%{_arg5}%&7!" to loop-player
6484 add 1 to {mineplex.report.id}
6485
6486command /report [<offline player>] [<text>]:
6487 permission: mineplex.titan
6488 permission message: &9Report> &cThe report feature is currently in a trial phase for Titan players
6489 trigger:
6490 if arg-2 is set:
6491 if arg-1 is player:
6492 send "&9Report> &cYou cannot report yourself."
6493 stop
6494 open chest with 3 rows named "Report %arg-1%" to player
6495 format slot 11 of player with red dye named "&c&lHacking" with lore "&7X-ray, Forcefield, Speed, Fly etc" to close then run [send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to player]->[rawreport(arg-1, player, "Hacking", "%player's world%", arg-2)]
6496 format slot 13 of player with yellow dye named "&e&lChat Abuse" with lore "&7Verbal Abuse, Spam, Harassment, Trolling, etc" to close then run [send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to player]->[rawreport(arg-1, player, "Chat-Abuse", "%player's world%", arg-2)]
6497 format slot 15 of player with green dye named "&a&lGameplay" with lore "&7Map and Bug Exploits" to close then run [send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to player]->[rawreport(arg-1, player, "Gameplay", "%player's world%", arg-2)]
6498 else:
6499 send "&9Report> &cInvalid Usage: &e/report <player> <reason>"
6500
6501command /reporthandle [<string>] [<string>]:
6502 aliases: /rh
6503 permission: mineplex.mod
6504 permission message: &9Permissions> &7You do not have permission to do that.
6505 trigger:
6506 if arg 1 is not set:
6507 send "&9Report> &7Corect Usage: &e/reporthandle <report id>"
6508 else:
6509 set {_id} to arg-1 parsed as a number
6510 if {_id} is a number:
6511 if {mineplex.report.open.%{_id}%} is true:
6512 if {mineplex.report.hand.%{_id}%} is not set:
6513 set {mineplex.report.hand.%{_id}%} to player
6514 set {_sus} to {mineplex.report.player.%{_id}%} parsed as an offline player
6515 set {_ip} to ip address of {_sus}
6516 loop {mineplex.totalaccounts.%{_ip}%::*}:
6517 add 1 to {_accounts}
6518 if {_accounts} is not set:
6519 set {_accounts} to 1
6520 send ""
6521 send "&9Report ##%{_id}%> &bReport Overview"
6522 send "&9Report ##%{_id}%> &bSuspect - &6%{mineplex.report.player.%{_id}%}%"
6523 send "&9Report ##%{_id}%> &bType - &6%{mineplex.report.type.%{_id}%}%"
6524 send "&9Report ##%{_id}%> &bTeam - &6None"
6525 send "&9Report ##%{_id}%>"
6526 send "&9Report ##%{_id}%> &6SoonTM &btotal reports"
6527 send "&9Report ##%{_id}%>"
6528 send "&9Report ##%{_id}%> &7(1) &6%{mineplex.report.reporter.%{_id}%}% ##1 &7- ""&b%{mineplex.report.reason.%{_id}%}%&7"""
6529 send "&9Report ##%{_id}%>"
6530 send "&9Report ##%{_id}%> &bView chat log"
6531 mcrjson("%player%", "&9Report ##%{_id}%> ||&bClose this report||ttp:&bClick to close this report||cmd:/reportclose %{_id}% undetermined")
6532 loop all players:
6533 if loop-player has permission "mineplex.trainee":
6534 if {mineplex.pref.report.%loop-player%} is true:
6535 send "&9[Report %{_id}%] &e%player% &7is handling this report." to loop-player
6536 else:
6537 send "&9Report> &7This report is already being handling!"
6538 else:
6539 send "&9Report> &7This report has already been closed or does not exsit!"
6540 else:
6541 send "&9Report> &cYour arguments are inappropriate for this command!"
6542 send "&9Report> &e/reporthandle (id)"
6543
6544command /reportclose [<string>] [<string>] [<string>]:
6545 aliases: /rc
6546 permission: mineplex.mod
6547 permission message: &9Permissions> &7You do not have permission to do that.
6548 trigger:
6549 if arg 1 is not set:
6550 send "&9Report> &7Corect Usage: &e/reportclose (report id)"
6551 send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
6552 stop
6553 if arg 2 is not set:
6554 send "&9Report> &7Corect Usage: &e/reportclose (report id)"
6555 send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
6556 stop
6557 else:
6558 set {_id} to arg-1 parsed as a number
6559 if {mineplex.report.hand.%{_id}%} is not player:
6560 send "&9Report> &cYou can only close your own report!"
6561 stop
6562 if {_id} is a number:
6563 if {mineplex.report.open.%{_id}%} is true:
6564 if arg 2 is "UNDETERMINED":
6565 set {_r} to "&f&lCould not determine"
6566 set {mineplex.report.open.%{_id}%} to false
6567 loop all players:
6568 if loop-player has permission "mineplex.trainee":
6569 if {mineplex.pref.report.%loop-player%} is true:
6570 send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
6571 else if arg 2 is "MUTED":
6572 set {_r} to "&e&lMuted"
6573 set {mineplex.report.open.%{_id}%} to false
6574 loop all players:
6575 if loop-player has permission "mineplex.trainee":
6576 if {mineplex.pref.report.%loop-player%} is true:
6577 send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
6578 else if arg 2 is "BANNED":
6579 set {_r} to "&c&lBanned"
6580 set {mineplex.report.open.%{_id}%} to false
6581 loop all players:
6582 if loop-player has permission "mineplex.trainee":
6583 if {mineplex.pref.report.%loop-player%} is true:
6584 send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
6585 else if arg 2 is "ABUSE":
6586 set {_r} to "&4&lAbuse of report system"
6587 set {mineplex.report.open.%{_id}%} to false
6588 loop all players:
6589 if loop-player has permission "mineplex.trainee":
6590 if {mineplex.pref.report.%loop-player%} is true:
6591 send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
6592 else:
6593 send "&9Report> &cInvalid report reason!"
6594 else:
6595 send "&9Report> &7This report has already been closed or does not exsit!"
6596 else:
6597 send "&9Report> &cYour arguments are inappropriate for this command!"
6598 send "&9Report> &e/reportclose (report id) (reason)"
6599 send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
6600
6601command /s [<text>]:
6602 permission: mineplex.mod
6603 permission message: &9Permissions> &7You do not have permission to do that.
6604 trigger:
6605 if {mineplex.disguise.%player%} is set:
6606 set {_p} to {mineplex.disguise.%player%}
6607 else:
6608 set {_p} to player
6609 if argument 1 is set:
6610 broadcast "&f&l%{_p}% &b%arg-1%"
6611 else:
6612 send "&9Broadcast> &7Corect Usage: /s <message>."
6613
6614command /gm [<player>]:
6615 permission: mineplex.builder
6616 permission message: &9Permissions> &7You do not have permission to do that.
6617 trigger:
6618 if {mineplex.disguise.%player%} is set:
6619 set {_p} to {mineplex.disguise.%player%}
6620 else:
6621 set {_p} to player
6622 if argument 1 is not set:
6623 if player's gamemode is survival:
6624 set the player's gamemode to creative
6625 send "&9Game Mode> &7%{_p}% Creative Mode: &aTrue"
6626 else:
6627 set the player's gamemode to survival
6628 send "&9Game Mode> &7%{_p}% Creative Mode: &cFalse"
6629 else:
6630 if player has permission "mineplex.admin":
6631 if arg-1's gamemode is survival:
6632 set the arg-1's gamemode to creative
6633 send "&9Game Mode> &7%arg-1% Creative Mode: &aTrue"
6634 else:
6635 set the arg-1's gamemode to survival
6636 send "&9Game Mode> &7%arg-1% Creative Mode: &cFalse"
6637 else:
6638 send "&9Permissions> &7You do not have permission to do that."
6639
6640command /ignore [<offline player>] [<string>]:
6641 trigger:
6642 if arg 1 is not set:
6643 if {mineplex.ignorelist.%player%::*} is not set:
6644 send "&b&m=====================[&f&lIgnoring&b&m]======================"
6645 send ""
6646 send "&fWelcome to your Ignore List!"
6647 send ""
6648 send "&fTo ignore people, type &a/ignore <Player Name>"
6649 send ""
6650 send "&fType &a/ignore &fat any time to view the ignored!"
6651 send ""
6652 send "&b&m====================================================="
6653 else:
6654 send "&b&m=====================[&f&lIgnoring&b&m]======================"
6655 loop {mineplex.ignorelist.%player%::*}:
6656 mcrjson("%player%", "&7Ignoring %loop-value% &f - ||&c&lUnignore||ttp:&fStop ignoring %loop-value%||cmd:/unignore %loop-value%||")
6657 send "&b&m====================================================="
6658 else:
6659 loop {mineplex.ignorelist.%player%::*}:
6660 if loop-value is "%arg-1%":
6661 set {_pre} to true
6662 if {_pre} is true:
6663 send "&9Ignore> &a%arg-1% &7has already been ignored."
6664 else:
6665 add "%arg-1%" to {mineplex.ignorelist.%player%::*}
6666 send "&9Ignore> &7Now ignoring &a%arg-1%"
6667
6668command /unignore [<offline player>] [<string>]:
6669 trigger:
6670 if arg 1 is set:
6671 send "&9Ignore> &7No longer ignoring &a%arg-1%"
6672 remove "%arg-1%" from {mineplex.ignorelist.%player%::*}
6673
6674command /message [<player>] [<text>]:
6675 aliases: /tell, /m, /w, /msg, /whisper
6676 trigger:
6677 if {mineplex.disguise.%player%} is set:
6678 set {_p} to {mineplex.disguise.%player%}
6679 else:
6680 set {_p} to player
6681 set {_get} to getPlayerdata(player, "muted")
6682 if {_get} is "yes":
6683 if {muted::%player%::type} is "perm":
6684 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
6685 stop
6686 if {muted::%player%::type} is "temp":
6687 set {_waited} to difference between {muted::%player%::when} and now
6688 if {_waited} is less than {muted::%player%::time}:
6689 send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
6690 stop
6691 if argument 1 is set:
6692 if argument 2 is set:
6693 if {mineplex.pref.pm.%arg-1%} is false:
6694 send "&d%arg-1% has private messaging disabled."
6695 stop
6696 loop {mineplex.ignorelist.%player%::*}:
6697 if loop-value is "%arg-1%":
6698 send "&9Ignore> &7You are ignoring that player"
6699 stop
6700 loop {mineplex.ignorelist.%arg-1%::*}:
6701 if loop-value is "%player%":
6702 send "&9Ignore> &7That player is ignoring you"
6703 stop
6704 send "&6&l%{_p}% > %arg-1% &e&l%arg-2%"
6705 send "&6&l%{_p}% > %arg-1% &e&l%arg-2%" to arg-1
6706 play "NOTE_PLING" to player at volume 0.5
6707 play "NOTE_PLING" to arg-1 at volume 0.5
6708 set {mineplex.lastm.%player%} to "%arg-1%" parsed as player
6709 if {mineplex.rank.%arg-1%} is "&4&lDEV ":
6710 send "&d%arg-1% is often AFK or minimized, due to plugin development."
6711 send "&dPlease be patient if they do not reply instantly."
6712 else:
6713 send "&9Message> &cErr...something went wrong?"
6714 else:
6715 send "&9Message> &cErr...something went wrong?"
6716
6717command /ping:
6718 trigger:
6719 send "&9Chat> &7PONG!"
6720
6721on command:
6722 command is "minecraft:me":
6723 send "&9Chat> &7Nope, not allowed!"
6724 cancel event
6725
6726command /me [<string>]:
6727 aliases: /minecraft:me
6728 trigger:
6729 if arg 1 is not set:
6730 send "&cUsage: /me <action...>"
6731 else:
6732 send "&9Chat> &7Nope, not allowed!"
6733
6734command /newsconfirm <number>:
6735 permission: mineplex.admin
6736 permission message: &9Permissions> &7You do not have permission to do that.
6737 trigger:
6738 mcrjson("%player%", "&9Hub Manager>|| &a[CONFIRM]||ttp:Are you absolutely sure???||cmd:/news delete %arg-1%|| &6News Entry %arg-1% &7deletion?")
6739
6740command /news [<string>] [<string>] [<string>]:
6741 permission: mineplex.admin
6742 permission message: &9Permissions> &7You do not have permission to do that.
6743 trigger:
6744 if arg 1 is not set:
6745 send "&9News Manager> &7Available news arguments for this command:"
6746 send "&6/news list &7Lists (numbered) stored news messages from database. &4Admin"
6747 send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &4Admin"
6748 send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &4Admin"
6749 send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &4Admin"
6750 send "&4*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &4Admin"
6751 else:
6752 if arg 1 is "list":
6753 send "&9Hub Manager> &7Current server news messages:"
6754 mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 1 : %{mineplex.news.line1}%||cmd:/newsconfirm 1|| &6News 1 &7: &f%{mineplex.news.line1}%")
6755 mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 2 : %{mineplex.news.line2}%||cmd:/newsconfirm 2|| &6News 2 &7: &f%{mineplex.news.line2}%")
6756 mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 3 : %{mineplex.news.line3}%||cmd:/newsconfirm 3|| &6News 3 &7: &f%{mineplex.news.line3}%")
6757 mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 4 : %{mineplex.news.line4}%||cmd:/newsconfirm 4|| &6News 4 &7: &f%{mineplex.news.line4}%")
6758 else if arg 1 is "add":
6759 if arg 2 is set:
6760 set {_news} to arg-2
6761 if arg 3 is set:
6762 set {_news} to "%arg-2% %arg-3%"
6763 replace all "&" with "§" in {_news}
6764 if {mineplex.news.line1}'s length is 0:
6765 if {mineplex.mode} is "sql":
6766 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '1'"
6767 set {mineplex.news.line1} to {_news}
6768 send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
6769 else if {mineplex.news.line2}'s length is 0:
6770 if {mineplex.mode} is "sql":
6771 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '2'"
6772 set {mineplex.news.line2} to {_news}
6773 send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
6774 else if {mineplex.news.line3}'s length is 0:
6775 if {mineplex.mode} is "sql":
6776 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '3'"
6777 set {mineplex.news.line3} to {_news}
6778 send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
6779 else if {mineplex.news.line4}'s length is 0:
6780 if {mineplex.mode} is "sql":
6781 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '4'"
6782 set {mineplex.news.line4} to {_news}
6783 send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
6784 else:
6785 send "&9Hub Manager> &c&lNo free news slots!"
6786 else:
6787 send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
6788 else if arg 1 is "delete":
6789 if arg 2 is set:
6790 if arg 2 is "1":
6791 set {mineplex.news.line1} to ""
6792 if {mineplex.mode} is "sql":
6793 update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '1'"
6794 send "&9Hub Manager> &7The news entry at position &61 &7has been deleted!"
6795 else if arg 2 is "2":
6796 if {mineplex.mode} is "sql":
6797 update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '2'"
6798 set {mineplex.news.line2} to ""
6799 send "&9Hub Manager> &7The news entry at position &62 &7has been deleted!"
6800 else if arg 2 is "3":
6801 if {mineplex.mode} is "sql":
6802 update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '3'"
6803 set {mineplex.news.line3} to ""
6804 send "&9Hub Manager> &7The news entry at position &63 &7has been deleted!"
6805 else if arg 2 is "4":
6806 if {mineplex.mode} is "sql":
6807 update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '4'"
6808 set {mineplex.news.line4} to ""
6809 send "&9Hub Manager> &7The news entry at position &64 &7has been deleted!"
6810 else:
6811 send "&9Hub Manager> &cThe specified new position is invalid!"
6812 else:
6813 send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
6814 else if arg 1 is "set":
6815 if arg 2 is set:
6816 if arg 3 is set:
6817 set {_news} to arg 3
6818 replace all "&" with "§" in {_news}
6819 if arg 2 is "1":
6820 if {mineplex.mode} is "sql":
6821 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '1'"
6822 set {mineplex.news.line1} to {_news}
6823 send "&9Hub Manager> &7The news entry at position &61 &7has been updated to: %{_news}%"
6824 else if arg 2 is "2":
6825 if {mineplex.mode} is "sql":
6826 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '2'"
6827 set {mineplex.news.line2} to {_news}
6828 send "&9Hub Manager> &7The news entry at position &62 &7has been updated to: %{_news}%"
6829 else if arg 2 is "3":
6830 if {mineplex.mode} is "sql":
6831 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '3'"
6832 set {mineplex.news.line3} to {_news}
6833 send "&9Hub Manager> &7The news entry at position &63 &7has been updated to: %{_news}%"
6834 else if arg 2 is "4":
6835 if {mineplex.mode} is "sql":
6836 update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '4'"
6837 set {mineplex.news.line4} to {_news}
6838 send "&9Hub Manager> &7The news entry at position &64 &7has been updated to: %{_news}%"
6839 else:
6840 send "&9Hub Manager> &cThe specified new position is invalid!"
6841 else:
6842 send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
6843 else:
6844 send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
6845 else:
6846 send "&9News Manager> &7Available news arguments for this command:"
6847 send "&6/news list &7Lists (numbered) stored news messages from database. &cAdmin"
6848 send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &cAdmin"
6849 send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &cAdmin"
6850 send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &cAdmin"
6851 send "&c*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &cAdmin"
6852
6853command /r [<text>]:
6854 aliases: /reply
6855 trigger:
6856 if {mineplex.disguise.%player%} is set:
6857 set {_p} to {mineplex.disguise.%player%}
6858 else:
6859 set {_p} to player
6860 if {mineplex.lastm.%player%} is set:
6861 if argument 1 is set:
6862 if {mineplex.lastm.%player%} is online:
6863 send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%"
6864 send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%" to {mineplex.lastm.%player%}
6865 else:
6866 send "&9Message> &e%{mineplex.lastm.%player%}% &7is no longer online!"
6867 else:
6868 send "&9Message> &cErr...something went wrong?"
6869 else:
6870 send "&9Message> &7You have not messaged anyone recently."
6871
6872command /party [<string>] [<player>]:
6873 aliases: /z
6874 trigger:
6875 if argument 1 is not set:
6876 send "&9Party> &7Listing Party Commands:"
6877 send "&f/party <Player>: &eJoin/Create/Invite Player"
6878 send "&f/party leave: &eLeave your current party"
6879 send "&f/party kick <Player>: &eKick player from your Party"
6880 send "&f/party info: &eDisplays info on the current Party."
6881 else:
6882 if argument 1 is "kick":
6883 if {party.%player%} is not set:
6884 message "&9Party> &7You don't have a party"
6885 else:
6886 if {party.%player%} is not player:
6887 message "&9Party> &7You have to be a party leader to do this"
6888 stop
6889 if player arg is not set:
6890 message "&9Party> &7Player needed. /party kick <player>"
6891 else:
6892 if {party.%player%::*} doesn't contain player arg:
6893 message "&9Party> &7The player needs to be in your party"
6894 stop
6895 message "&9Party> &7You kicked %player arg% from the party"
6896 message "&9Party> &7You've been kicked by %player% from his party" to player arg
6897 loop {party.%player%::*}:
6898 if loop-value = player arg:
6899 delete {party.%player%::%loop-index%}
6900 delete {party.%player arg%}
6901 delete {party.%player arg%.chat}
6902 else if arg 1 is "leave":
6903 if {party.%player%} is not set:
6904 message "&9Party> &7You don't have a party"
6905 else:
6906 if {party.%player%} is player:
6907 message "&9Party> &7You can't leave if you are the leader. Do /party disband"
6908 stop
6909 message "&9Party> &7You left your party"
6910 message "&9Party> &7%player% left your party" to {party.%player%}
6911 set {party.%player%.chat} to false
6912 loop {party.%{party.%player%}%::*}:
6913 if loop-value = player:
6914 delete {party.%{party.%player%}%::%loop-index%}
6915 delete {party.%player%}
6916 delete {party.%player%.chat}
6917 else if arg 1 is "disband":
6918 if {party.%player%} is not set:
6919 message "&9Party> &cYou don't have a party"
6920 else:
6921 if {party.%player%} is not player:
6922 message "&9Party> &7You have to be a party leader to do this"
6923 stop
6924 message "&9Party> &7You disband your party"
6925 loop {party.%player%::*}:
6926 loop-value is not player:
6927 message "&9Party> &7Your party has been disbanded" to loop-value
6928 delete {party.%loop-value%.chat}
6929 delete {party.%loop-value%}
6930 delete {party.%player%}
6931 delete {party.%player%.chat}
6932 delete {party.%player%::*}
6933 else if arg 1 is "info":
6934 if {party.%player%} is not set:
6935 message "&9Party> &7You don't have a party"
6936 else:
6937 message "&9Party> &7Party Details:"
6938 message "Party Leader: &7%{party.%player%}%"
6939 set {_partyMember} to ""
6940 loop {party.%{party.%player%}%::*}:
6941 set {_partyMember} to "%{_partyMember}% %loop-value%"
6942 message "Your Party: &7%{_partyMember}%"
6943 else:
6944 set {_mineplex.last.party} to arg-1 parsed as player
6945 if {_mineplex.last.party} is online:
6946 if {party.%player%} is set:
6947 add {_mineplex.last.party} to {party.%player%::*}
6948 set {party.%player%.chat} to true
6949 set {party.%arg-1%.chat} to true
6950 set {party.%{_mineplex.last.party}%} to player
6951 message "&9Party> &7You invited %{_mineplex.last.party}% to the party."
6952 else:
6953 set {party.%player%} to player
6954 message "&9Party> &7Created a party."
6955 add player to {party.%player%::*}
6956 make player execute command "/party %arg-1%"
6957 else:
6958 send "&9Party> &7That player is not online."
6959
6960command /announce [<text>]:
6961 permission: mineplex.admin
6962 permission message: &9Permissions> &7You do not have permission to do that.
6963 trigger:
6964 if argument 1 is set:
6965 send all players title "&eAnnouncement" with subtitle "&f%arg-1%" for 10 seconds
6966 broadcast "&9Announcement> &b%arg-1%"
6967 else:
6968 send "&9Message> &cErr...something went wrong?"
6969
6970command /global [<text>]:
6971 permission: mineplex.jrdev
6972 permission message: &9Permissions> &7You do not have permission to do that.
6973 trigger:
6974 if arg 1 is not set:
6975 send "&9Message> &cErr...something went wrong?"
6976 else:
6977 broadcast "&9Announcement> &b%arg-1%"
6978
6979every 3 seconds:
6980 set {mineplex.lag.avg.1} to tps
6981 wait 1 second
6982 set {mineplex.lag.avg.2} to tps
6983 wait 1 second
6984 set {mineplex.lag.avg.3} to tps
6985
6986command /lag:
6987 trigger:
6988 if player has permission "mineplex.jrdev":
6989 set {_avg} to {mineplex.lag.avg.1} + {mineplex.lag.avg.2} + {mineplex.lag.avg.3}
6990 set {_avg} to {_avg} / 3
6991 set {_tps} to tps
6992 set {_f} to free ram
6993 set {_m} to max ram
6994 send "&9LagMeter> &7Live-------&e%{_tps}%"
6995 send "&9LagMeter> &7Avg--------&e%{_avg}%"
6996 send "&9LagMeter> &eMEM (RAM)"
6997 send "&9LagMeter> &7Free-------&e%{_f}%MB"
6998 send "&9LagMeter> &7Max--------&e%{_m}%MB"
6999 else:
7000 send "&9Chat> &7PONG!"
7001
7002#Punish Systems/Commands
7003
7004function punishWarn(s: player , p: offline player , r: text) :: player:
7005 send "&9Punish> &7%{_s}% issued a friendly warning to you." to {_p}
7006 send "&9Punish> &7&lReason: &7%{_r}%" to {_p}
7007 add 1 to {mineplex.punish.past.warn.%{_p}%}
7008 loop all players:
7009 if loop-player has permission "mineplex.trainee":
7010 send "&9Punish> &7%{_s}% issued a friendly warning to %{_p}%." to loop-player
7011
7012function punishReportBan(s: player , p: offline player , r: text) :: player:
7013 set {banned::%{_p}%} to true
7014 set {banned::%{_p}%::type} to "report"
7015 set {banned::%{_p}%::reason} to {_r}
7016 set {banned::%{_p}%::staff} to {_s}
7017 set {banned::%{_p}%::now} to now
7018 setPlayerdata({_p}, "banned", "yes")
7019 kick {_p} due to "&c&lYou are banned for Permanent by %{_s}%%nl%&f%{banned::%{_p}%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7020 add 1 to {mineplex.punish.past.reportban.%{_p}%}
7021 loop all players:
7022 if loop-player has permission "mineplex.trainee":
7023 send "&9Punish> &7%{_s}% report banned %{_p}% for Permanent." to loop-player
7024
7025function punishBan(s: player , p: offline player , r: text) :: player:
7026 set {banned::%{_p}%} to true
7027 set {banned::%{_p}%::type} to "perm"
7028 set {banned::%{_p}%::reason} to {_r}
7029 set {banned::%{_p}%::staff} to {_s}
7030 set {banned::%{_p}%::now} to now
7031 setPlayerdata({_p}, "banned", "yes")
7032 kick {_p} due to "&c&lYou are banned for Permanent by %{_s}%%nl%&f%{banned::%{_p}%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7033 add 1 to {mineplex.punish.past.permban.%{_p}%}
7034 loop all players:
7035 if loop-player has permission "mineplex.trainee":
7036 send "&9Punish> &7%{_s}% banned %{_p}% for Permanent." to loop-player
7037
7038function punishDTempBan(s: player , p: offline player, r: text, d: number) :: player:
7039 set {_duration} to "%{_d}% days" parsed as timespan
7040 set {banned::%{_p}%} to true
7041 set {banned::%{_p}%::type} to "temp"
7042 set {banned::%{_p}%::time} to {_duration}
7043 set {banned::%{_p}%::reason} to {_r}
7044 set {banned::%{_p}%::staff} to {_s}
7045 set {banned::%{_p}%::when} to now
7046 add 1 to {mineplex.punish.past.tempban.%{_p}%}
7047 setPlayerdata({_p}, "banned", "yes")
7048 kick {_p} due to "&c&lYou are banned for %{banned::%{_p}%::time}% by %{_s}%%nl%&f%{banned::%{_p}%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7049 loop all players:
7050 if loop-player has permission "mineplex.trainee":
7051 send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
7052
7053function punishHTempBan(s: player , p: offline player, r: text, d: number) :: player:
7054 set {_duration} to "%{_d}% hours" parsed as timespan
7055 set {banned::%{_p}%} to true
7056 set {banned::%{_p}%::type} to "temp"
7057 set {banned::%{_p}%::time} to {_duration}
7058 set {banned::%{_p}%::reason} to {_r}
7059 set {banned::%{_p}%::staff} to {_s}
7060 set {banned::%{_p}%::when} to now
7061 setPlayerdata({_p}, "banned", "yes")
7062 kick {_p} due to "&c&lYou are banned for %{banned::%{_p}%::time}% by %{_s}%%nl%&f%{banned::%{_p}%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7063 add 1 to {mineplex.punish.past.tempban.%{_p}%}
7064 loop all players:
7065 if loop-player has permission "mineplex.trainee":
7066 send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
7067
7068function punishMute(s: player, p: offline player, r: text) :: player:
7069 set {muted::%{_p}%} to true
7070 set {muted::%{_p}%::type} to "perm"
7071 set {muted::%{_p}%::reason} to {_r}
7072 set {muted::%{_p}%::by} to {_s}
7073 add 1 to {mineplex.punish.past.permmute.%{_p}%}
7074 setPlayerdata({_p}, "muted", "yes")
7075 send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
7076 send "&9Punish> &7%{muted::%{_p}%::by}% muted %{_p}% for Permanent." to {_p}
7077 loop all players:
7078 if loop-player has permission "mineplex.trainee":
7079 send "&9Punish> &7%{_s}% muted %{_p}% for Permanent." to loop-player
7080
7081function punishHTempMute(s: player, p: offline player, r: text, d: number) :: player:
7082 set {_duration} to "%{_d}% hours" parsed as timespan
7083 set {muted::%{_p}%} to true
7084 set {muted::%{_p}%::type} to "temp"
7085 set {muted::%{_p}%::reason} to {_r}
7086 set {muted::%{_p}%::time} to {_duration}
7087 set {muted::%{_p}%::by} to {_s}
7088 set {muted::%{_p}%::when} to now
7089 add 1 to {mineplex.punish.past.permmute.%{_p}%}
7090 setPlayerdata({_p}, "muted", "yes")
7091 send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
7092 send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
7093 loop all players:
7094 if loop-player has permission "mineplex.trainee":
7095 send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
7096
7097function punishDTempMute(s: player, p: offline player, r: text, d: number) :: player:
7098 set {_duration} to "%{_d}% days" parsed as timespan
7099 set {muted::%{_p}%} to true
7100 set {muted::%{_p}%::type} to "temp"
7101 set {muted::%{_p}%::reason} to {_r}
7102 set {muted::%{_p}%::time} to {_duration}
7103 set {muted::%{_p}%::by} to {_s}
7104 set {muted::%{_p}%::when} to now
7105 add 1 to {mineplex.punish.past.permmute.%{_p}%}
7106 setPlayerdata({_p}, "muted", "yes")
7107 send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
7108 send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
7109 loop all players:
7110 if loop-player has permission "mineplex.trainee":
7111 send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
7112
7113function punishUnban(s: string, p: string) :: player:
7114 delete {banned::%{_p}%}
7115 delete {banned::%{_p}%::*}
7116 setPlayerdata({_p}, "banned", "no")
7117
7118function punishUnmute(s: player, p: string) :: player:
7119 delete {muted::%{_p}%}
7120 delete {muted::%{_p}%::*}
7121 setPlayerdata({_p}, "muted", "no")
7122 loop all players:
7123 if loop-player has permission "mineplex.trainee":
7124 send "&9Punish> &7%{_s}% unmuted %{_p}%" to loop-player
7125
7126on connect:
7127 set {_get} to getPlayerdata(player, "banned")
7128 if {_get} is "yes":
7129 if player has permission "mineplex.admin":
7130 if {mineplex.config.unbanadmin} is "true":
7131 punishUnban("Expired", "%player%")
7132 stop
7133 if {banned::%player%::type} is "perm":
7134 kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7135 stop
7136 if {banned::%player%::type} is "report":
7137 kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7138 stop
7139 if {banned::%player%::type} is "temp":
7140 set {_waited} to difference between {banned::%player%::when} and now
7141 if {_waited} is less than {banned::%player%::time}:
7142 kick player due to "&c&lYou are banned for %{banned::%player%::time}%%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7143 else:
7144 punishUnban("Expired", "%player%")
7145
7146on inventory click:
7147 if inventory name of player's current inventory is " Punish":
7148 cancel event
7149 clicked slot >= 45
7150 set {_clickedslot.%player%} to (clicked slot - 44)
7151 if {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} is set:
7152 if "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}%" contains "&eRemoved by: ":
7153 send "" to console
7154 else:
7155 set {_reasonchanger.%player%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}% ||||&eRemoved by: &f%player%||&eRemove Reason: &f%{punishgui.%player%::2}%"
7156 set {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} to "%{_reasonchanger.%player%}%"
7157 close player's inventory
7158 delete {p.%{punishgui.%player%::1}%::history::*}
7159 set {_slot} to 0
7160 loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
7161 add 1 to {_slot}
7162 set {_reversedslot} to 1
7163 loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
7164 set {p.%{punishgui.%player%::1}%::history::%{_reversedslot}%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_slot}%}%"
7165 remove 1 from {_slot}
7166 add 1 to {_reversedslot}
7167 if "%{_reasonchanger.%player%}%" contains "ChatOffense":
7168 punishUnmute(player, {punishgui.%player%::1})
7169 if "%{_reasonchanger.%player%}%" contains "Hacking" or "Exploiting" or "Other":
7170 punishUnban("memes", {punishgui.%player%::1})
7171 if "%{_reasonchanger.%player%}%" contains "Warning":
7172 stop
7173
7174command /p [<offline player>] [<text>]:
7175 aliases: /punish
7176 permission: mineplex.trainee
7177 permission message: &9Permissions> &7You do not have permission to do that.
7178 trigger:
7179 if arg-2 is not set:
7180 send "&9Punish> &7Commands List:"
7181 send "&6/punish &7<player> <reason> &6Mod"
7182 if arg-2 is set:
7183 if {p.%arg-1%::Chat1} is not set:
7184 set {p.%arg-1%::Client3} to "__mp__tempban__ %arg-1% %player% 30"
7185 set {p.%arg-1%::ClientL3} to "&fBan Duration: &e30.0 Days"
7186 set {p.%arg-1%::Client2} to "__mp__tempban__ %arg-1% %player% 30"
7187 set {p.%arg-1%::ClientL2} to "&fBan Duration: &e30.0 Days"
7188 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e1.0 Days"
7189 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 1"
7190 set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% 4 %player%"
7191 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e4.0 Hours"
7192 set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 2 %player%"
7193 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.0 Hours"
7194 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 1 %player%"
7195 set {p.%arg-1%::ChatL2} to "&fMute Duration: &e1.0 Days"
7196 set {p.%arg-1%::Chat3} to "__mp__tempmute__ %arg-1% 30 %player%"
7197 set {p.%arg-1%::ChatL3} to "&fMute Duration: &e30.0 Days"
7198 if {p.%arg-1%::pOffences.Chat1} is 1:
7199 set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 4 %player%"
7200 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e4.0 Hours"
7201 if {p.%arg-1%::pOffences.Chat1} is 2:
7202 set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 10 %player%"
7203 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e10.0 Hours"
7204 if {p.%arg-1%::pOffences.Chat1} is 3:
7205 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
7206 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.0 Days"
7207 if {p.%arg-1%::pOffences.Chat1} is 4:
7208 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
7209 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.4 Days"
7210 if {p.%arg-1%::pOffences.Chat1} is 5:
7211 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 3 %player%"
7212 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.8 Days"
7213 if {p.%arg-1%::pOffences.Chat1} is 6:
7214 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 7 %player%"
7215 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e7.0 Days"
7216 if {p.%arg-1%::pOffences.Chat1} is 7:
7217 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 14 %player%"
7218 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e14.0 Days"
7219 if {p.%arg-1%::pOffences.Chat1} is 8:
7220 set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 30 %player%"
7221 set {p.%arg-1%::ChatL1} to "&fMute Duration: &e30.0 Days"
7222 if {p.%arg-1%::pOffences.Chat1} is 9:
7223 set {p.%arg-1%::Chat1} to "__mp__mute__ %arg-1% %player%"
7224 set {p.%arg-1%::ChatL1} to "&fMute Duration: &ePermanent"
7225 if {p.%arg-1%::pOffences.Chat2} is 1:
7226 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 2 %player%"
7227 set {p.%arg-1%::ChatL2} to "&fMute Duration: &e2.0 Days"
7228 if {p.%arg-1%::pOffences.Chat2} is 2:
7229 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 4 %player%"
7230 set {p.%arg-1%::ChatL2} to "&fMute Duration: &e4.0 Days"
7231 if {p.%arg-1%::pOffences.Chat2} is 3:
7232 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 7 %player%"
7233 set {p.%arg-1%::ChatL2} to "__mp__tempmute__ %arg-1% 7 %player%"
7234 if {p.%arg-1%::pOffences.Chat2} is 4:
7235 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 14 %player%"
7236 set {p.%arg-1%::ChatL2} to "&fMute Duration: &e14.0 Days"
7237 if {p.%arg-1%::pOffences.Chat2} is 5:
7238 set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 30 %player%"
7239 set {p.%arg-1%::ChatL2} to "&fMute Duration: &e30.0 Days"
7240 if {p.%arg-1%::pOffences.Chat2} is 6:
7241 set {p.%arg-1%::Chat2} to "__mp__mute__ %arg-1% %player%"
7242 set {p.%arg-1%::ChatL2} to "&fMute Duration: &ePermanent"
7243 if {p.%arg-1%::pOffences.Chat3} is 1:
7244 set {p.%arg-1%::Chat3} to "__mp__mute__ %arg-1% %player%"
7245 set {p.%arg-1%::ChatL3} to "&fMute Duration: &ePermanent"
7246 if {p.%arg-1%::pOffences.General} is 1:
7247 set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 8"
7248 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e8.0 Hours"
7249 if {p.%arg-1%::pOffences.General} is 2:
7250 set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 16"
7251 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e16.0 Hours"
7252 if {p.%arg-1%::pOffences.General} is 3:
7253 set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 1"
7254 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e1.4 Days"
7255 if {p.%arg-1%::pOffences.General} is 4:
7256 set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 3"
7257 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e3.0 Days"
7258 if {p.%arg-1%::pOffences.General} is 5:
7259 set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 7"
7260 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e7.0 Days"
7261 if {p.%arg-1%::pOffences.General} is 6:
7262 set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 14"
7263 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e14.0 Days"
7264 if {p.%arg-1%::pOffences.General} is 7:
7265 set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 30"
7266 set {p.%arg-1%::GeneralL} to "&fBan Duration: &e30.0 Days"
7267 if {p.%arg-1%::pOffences.General} is 8:
7268 set {p.%arg-1%::General} to "__mp__ban__ %arg-1% %player%"
7269 set {p.%arg-1%::GeneralL} to "&fBan Duration: &ePermanent"
7270
7271 if {p.%arg-1%::pOffences.Client1} is 1:
7272 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 2"
7273 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e2.0 Days"
7274 if {p.%arg-1%::pOffences.Client1} is 2:
7275 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 4"
7276 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e4.0 Days"
7277 if {p.%arg-1%::pOffences.Client1} is 3:
7278 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 7"
7279 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e7.0 Days"
7280 if {p.%arg-1%::pOffences.Client1} is 4:
7281 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 16"
7282 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e16.0 Days"
7283 if {p.%arg-1%::pOffences.Client1} is 5:
7284 set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 30"
7285 set {p.%arg-1%::ClientL1} to "&fBan Duration: &e30.0 Days"
7286 if {p.%arg-1%::pOffences.Client1} is 6:
7287 set {p.%arg-1%::Client1} to "__mp__ban__ %arg-1% %player%"
7288 set {p.%arg-1%::ClientL1} to "&fBan Duration: &ePermanent"
7289 if {p.%arg-1%::pOffences.Client2} is 1:
7290 set {p.%arg-1%::Client2} to "__mp__ban__ %arg-1% %player%"
7291 set {p.%arg-1%::ClientL2} to "&fBan Duration: &ePermanent"
7292 if {p.%arg-1%::pOffences.Client3} is 1:
7293 set {p.%arg-1%::Client3} to "__mp__ban__ %arg-1% %player%"
7294 set {p.%arg-1%::ClientL3} to "&fBan Duration: &ePermanent"
7295 if {p.%arg-1%::pOffences.Chat1} is not set:
7296 set {p.%arg-1%::pOffences.Chat1} to 0
7297 set {p.%arg-1%::pOffences.Chat2} to 0
7298 set {p.%arg-1%::pOffences.Chat3} to 0
7299 set {p.%arg-1%::pOffences.General} to 0
7300 set {p.%arg-1%::pOffences.Client1} to 0
7301 set {p.%arg-1%::pOffences.Client2} to 0
7302 set {p.%arg-1%::pOffences.Client3} to 0
7303 if player has permission "mineplex.trainee" or "mineplex.mod":
7304 delete {reversed.p.%arg-1%::history::*}
7305 set {_slot} to 0
7306 loop {p.%arg-1%::history::*}:
7307 add 1 to {_slot}
7308 set {_reversedslot} to 1
7309 loop {p.%arg-1%::history::*}:
7310 set {reversed.p.%arg-1%::history::%{_reversedslot}%} to "%{p.%arg-1%::history::%{_slot}%}%"
7311 remove 1 from {_slot}
7312 add 1 to {_reversedslot}
7313 open chest with 6 rows named " Punish" to player
7314 wait 1 tick
7315 format slot 4 of player with arg-1's skull named "&a&l%arg-1%" with lore "&r%arg-2%" to be unstealable
7316
7317 format slot 10 of player with book and quill named "&a&lChat Offense" with lore "&7Verbal Abuse, Spam, Harrassment, Trolling, etc" to be unstealable
7318 format slot 19 of player with cactus green named "&a&lSeverity 1" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Chat1}%||%{p.%arg-1%::ChatL1}%||||&7Light Spam||&f Sending the same message 2-5 times||||&7Light Advertising||&f 'anyone want to play on minecade?'||||&7Light Abuse/Harassment||&f 'you suck at this game'||||&7Hackusations||&f 'you're such a hacker!'||||&7Trolling||||&2Give Warning if 0 Past Offences and 0 Warnings." to close then run [punishHTempMute(sender, arg-1, arg-2, 4)]->[add "&ePunishment Type: &fChatOffense||&eSeverity: &f1||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Chat1}]
7319
7320 format slot 12 of player with hopper named "&a&lGeneral Offense" with lore "&7Command/Map/Class/Skill exploits, etc" to be unstealable
7321 format slot 21 of player with cactus green named "&a&lSeverity 1" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.General}%||%{p.%arg-1%::GeneralL}%||||&7Team Killing||&f Intentionally killing your team mates||||&7Trolling (Gameplay)||&f Using abilities to trap players in spawn||||&7Map/Bug Exploiting||&f Abusing an exploit to gain an advantage" to close then run [punishHTempBan(sender, arg-1, arg-2, 8)]->[add "&ePunishment Type: &fExploiting||&eSeverity: &f1||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.General}]
7322 format slot 14 of player with iron sword named "&a&lClient Mod" with lore "&7X-ray, Forcefield, Speed, Fly, Inventory Hacks, etc" to be unstealable
7323 format slot 23 of player with cactus green named "&a&lSeverity 1" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Client1}%||%{p.%arg-1%::ClientL1}%||||&7Examples;||&f Damage Indicators||&f Player Radar" to close then run [punishDTempBan(sender, arg-1, arg-2, 1)]->[add "&ePunishment Type: &fHacking||&eSeverity: &f1||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Client1}]
7324 format slot 25 of player with paper named "&a&lWarning" with lore "||&7Example Warning Input;||&f Spam - Repeatedly writing MEOW||&f Swearing - Saying 'fuck' and 'shit'||&f Hack Accusation - Accused Tomp13 of hacking||&f Trolling - was trying to make bob angry in chat" to close then run [punishWarn(sender, arg-1, arg-2)]->[add "&ePunishment Type: &fWarning||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]
7325 if player has permission "mineplex.mod": #Access all punishments!
7326 format slot 28 of player with dandelion yellow named "&a&lSeverity 2" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Chat2}%||%{p.%arg-1%::ChatL2}%||||&7Medium Spam|| &fSending the same message 6-20 times||||&7Medium Advertising;|| &f'join crap.server.net' - posted once||||&7Medium Abuse/Harassment|| &f'piss off you stupid newb'|| &f'SHIT ADMINS ARE SHIT!!!'|| &f'you're terrible, learn to play'||||&7Avoiding Chat Filter|| &f'F|_|<K YOU'" to close then run [punishDTempMute(sender, arg-1, arg-2, 2)]->[add "&ePunishment Type: &fChatOffense||&eSeverity: &f2||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Chat2}]
7327 format slot 37 of player with rose red named "&a&lSeverity 3" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Chat3}%||%{p.%arg-1%::ChatL3}%||||&7Severe Spam|| &fSending the same message 20+ times|| &fOnly really used for a spam bot||||&7Severe Abuse/Harassment|| &f'go fucking die in a fire you fucking sack of shit'" to close then run [punishMute(sender, arg-1, arg-2)]->[add "&ePunishment Type: &fChatOffense||&eSeverity: &f3||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Chat3}]
7328
7329 format slot 32 of player with dandelion yellow named "&a&lSeverity 2" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Client2}%||%{p.%arg-1%::ClientL2}%||||&7Hacks;|| &fForcefield|| &fSpeed Hack|| &fReach Hack|| &fOther Hack||||&7Hack Reports (SR & FR);|| &fForcefield|| &fSpeed Hack|| &fReach Hack|| &fOther Hack|| &fFly Hack" to close then run [punishDTempBan(sender, arg-1, arg-2, 30)]->[add "&ePunishment Type: &fHacking||&eSeverity: &f2||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Client2}]
7330 format slot 41 of player with rose red named "&a&lSeverity 3" with lore "&fPast Offences: &e%{p.%arg-1%::pOffences.Client3}%||%{p.%arg-1%::ClientL3}%||||&7Hacks:|| &fFly Hack||||&c&lWARNING;||&cUse Severity 2 for Forum/Staff Reports" to close then run [punishDTempBan(sender, arg-1, arg-2, 30)]->[add "&ePunishment Type: &fHacking||&eSeverity: &f3||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]->[add 1 to {p.%arg-1%::pOffences.Client3}]
7331
7332 format slot 43 of player with book and quill named "&a&lPermanent Mute" with lore "&fMute Duration: &ePermanent||||&7Severe Advertising;||&f 'JOIN MINECADE! THIS SUCKS!||&f 'join crap.server.net! FREE ADMIN!||||&2Must supply detailed reason for Mute." to close then run [punishMute(sender, arg-1, arg-2)]->[add "&ePunishment Type: &fChatOffense||&eSeverity: &f4||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]
7333 format slot 34 of player with redstone block named "&a&lPermanent Ban" with lore "&fBan Duration: &ePermanent||||&2Must supply detailed reason for Ban." to close then run [punishBan(sender, arg-1, arg-2)]->[add "&ePunishment Type: &fOther||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]
7334 format slot 26 of player with enchanted book named "&a&lPermanent Report Ban" with lore "&fReport Ban Duration: &ePermanent||||&7Abusing Report Feature|| &r/report SomeUser THE STAFF HERE SUCK|| &r/report SomeUser MINEPLEX IS A F****** PIECE OF S***" to close then run [punishReportBan(sender, arg-1, arg-2)]->[add "&ePunishment Type: &rOther||||&eReason: &f%arg-2%||||&eStaff: &f%player%||||&eDate: &f%now%" to {p.%arg-1%::history::*}]
7335 set {_banned} to getPlayerdata(arg-1, "banned")
7336 set {_muted} to getPlayerdata(arg-1, "muted")
7337 set {_slot} to 45
7338 loop {reversed.p.%arg-1%::history::*}:
7339 set {punishgui.%player%::*} to "%arg 1%"
7340 add arg 2 to {punishgui.%player%::*}
7341 if "%loop-value%" contains "&ePunishment Type: &fChatOffense":
7342 if {_muted} is true:
7343 if "%loop-value%" does not contain "&eRemoved by: ":
7344 set slot {_slot} of player's current inventory to shiny book and quill named "&a&lChat Offense" with lore "%loop-value%"
7345 add 1 to {_slot}
7346 else:
7347 set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
7348 add 1 to {_slot}
7349 else:
7350 set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
7351 add 1 to {_slot}
7352 if "%loop-value%" contains "&ePunishment Type: &fHacking":
7353 if {_banned} is true:
7354 if "%loop-value%" does not contain "&eRemoved by: ":
7355 set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
7356 add 1 to {_slot}
7357 else:
7358 set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
7359 add 1 to {_slot}
7360 else:
7361 set slot {_slot} of player's current inventory to iron sword named "&a&lClient Mod" with lore "%loop-value%"
7362 add 1 to {_slot}
7363 if "%loop-value%" contains "&ePunishment Type: &fExploiting":
7364 if {_banned} is true:
7365 if "%loop-value%" does not contain "&eRemoved by: ":
7366 set slot {_slot} of player's current inventory to shiny hopper named "&a&lGeneral Offense" with lore "%loop-value%"
7367 add 1 to {_slot}
7368 else:
7369 set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
7370 add 1 to {_slot}
7371 else:
7372 set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
7373 add 1 to {_slot}
7374 if "%loop-value%" contains "&ePunishment Type: &fWarning":
7375 set slot {_slot} of player's current inventory to paper named "&a&lWarning" with lore "%loop-value%"
7376 add 1 to {_slot}
7377 if "%loop-value%" contains "&ePunishment Type: &fOther":
7378 if {_banned} is true:
7379 if "%loop-value%" does not contain "&eRemoved by: ":
7380 set slot {_slot} of player's current inventory to shiny redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
7381 add 1 to {_slot}
7382 else:
7383 set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
7384 add 1 to {_slot}
7385 else:
7386 set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
7387 add 1 to {_slot}
7388 if "%loop-value%" contains "&ePunishment Type: &rOther":
7389 set slot {_slot} of player's current inventory to enchanted book named "&a&lPermanent Report Ban" with lore "%loop-value%"
7390 add 1 to {_slot}
7391 if {_slot} = 54:
7392 exit loop
7393 if {mineplex.rank.%player%} is "&6&LJR.DEV " or "&4&lDEV ":
7394 format slot 0 of player with shiny dandelion named "&a&lDEV WARNING" with lore "&rDevelopers are advised against using the punish system||&runless permitted by LT" to be unstealable
7395
7396#Prefs System
7397
7398function prefsSystem(p: player , t: number) :: number:
7399 if {_t} is 1:
7400 if {mineplex.pref.hg.%{_p}%} is true:
7401 set {mineplex.pref.hg.%{_p}%} to false
7402 else:
7403 set {mineplex.pref.hg.%{_p}%} to true
7404 else if {_t} is 2:
7405 if {mineplex.pref.hpv.%{_p}%} is true:
7406 set {mineplex.pref.hpv.%{_p}%} to false
7407 hide all players from {_p}
7408 else:
7409 set {mineplex.pref.hpv.%{_p}%} to true
7410 reveal all players from {_p}
7411 loop all players:
7412 if {mineplex.vanish.%loop-player%} is true:
7413 add loop-player to {%{_p}%.vanishlist::*}
7414 loop all players:
7415 if loop-player does not have permission "mineplex.admin":
7416 hide {%{_p}%.vanishlist::*} from all players
7417 delete {%{_p}%.vanishlist::*}
7418 else if {_t} is 3:
7419 if {mineplex.pref.pc.%{_p}%} is true:
7420 set {mineplex.pref.pc.%{_p}%} to false
7421 else:
7422 set {mineplex.pref.pc.%{_p}%} to true
7423 else if {_t} is 4:
7424 if {mineplex.pref.pm.%{_p}%} is true:
7425 set {mineplex.pref.pm.%{_p}%} to false
7426 else:
7427 set {mineplex.pref.pm.%{_p}%} to true
7428 else if {_t} is 5:
7429 if {mineplex.pref.gwen.%{_p}%} is true:
7430 set {mineplex.pref.gwen.%{_p}%} to false
7431 else:
7432 set {mineplex.pref.gwen.%{_p}%} to true
7433 else if {_t} is 6:
7434 if {mineplex.pref.report.%{_p}%} is true:
7435 set {mineplex.pref.report.%{_p}%} to false
7436 else:
7437 set {mineplex.pref.report.%{_p}%} to true
7438 else if {_t} is 7:
7439 if {mineplex.pref.ff.%{_p}%} is true:
7440 set {mineplex.pref.ff.%{_p}%} to false
7441 else:
7442 set {mineplex.pref.ff.%{_p}%} to true
7443 else if {_t} is 8:
7444 if {mineplex.ff.%{_p}%} is true:
7445 set {mineplex.ff.%{_p}%} to false
7446 delete {mineplex.ff.list::%{_p}%}
7447 else:
7448 set {mineplex.ff.%{_p}%} to true
7449 set {mineplex.ff.list::%{_p}%} to true
7450 else if {_t} is 9:
7451 if {mineplex.pref.rm.%{_p}%} is true:
7452 set {mineplex.pref.rm.%{_p}%} to false
7453 else:
7454 set {mineplex.pref.rm.%{_p}%} to true
7455 else if {_t} is 10:
7456 if {mineplex.pref.aj.%{_p}%} is true:
7457 set {mineplex.pref.aj.%{_p}%} to false
7458 else:
7459 set {mineplex.pref.aj.%{_p}%} to true
7460 else if {_t} is 11:
7461 if {mineplex.pref.daw.%{_p}%} is true:
7462 set {mineplex.pref.daw.%{_p}%} to false
7463 else:
7464 set {mineplex.pref.daw.%{_p}%} to true
7465 else if {_t} is 12:
7466 if {mineplex.pref.cj.%{_p}%} is true:
7467 set {mineplex.pref.cj.%{_p}%} to false
7468 else:
7469 set {mineplex.pref.cj.%{_p}%} to true
7470 else if {_t} is 13:
7471 if {mineplex.pref.sct.%{_p}%} is true:
7472 set {mineplex.pref.sct.%{_p}%} to false
7473 else:
7474 set {mineplex.pref.sct.%{_p}%} to true
7475 else if {_t} is 14:
7476 if {mineplex.pref.hm.%{_p}%} is true:
7477 set {mineplex.pref.hm.%{_p}%} to false
7478 else:
7479 set {mineplex.pref.hm.%{_p}%} to true
7480 else if {_t} is 15:
7481 if {mineplex.pref.pr.%{_p}%} is true:
7482 set {mineplex.pref.pr.%{_p}%} to false
7483 else:
7484 set {mineplex.pref.pr.%{_p}%} to true
7485 else if {_t} is 16:
7486 if {mineplex.pref.spfr.%{_p}%} is true:
7487 set {mineplex.pref.spfr.%{_p}%} to false
7488 else:
7489 set {mineplex.pref.spfr.%{_p}%} to true
7490 else if {_t} is 17:
7491 if {mineplex.pref.dfg.%{_p}%} is true:
7492 set {mineplex.pref.dfg.%{_p}%} to false
7493 else:
7494 set {mineplex.pref.dfg.%{_p}%} to true
7495 else if {_t} is 18:
7496 if {mineplex.pref.sci.%{_p}%} is true:
7497 set {mineplex.pref.sci.%{_p}%} to false
7498 else:
7499 set {mineplex.pref.sci.%{_p}%} to true
7500 else if {_t} is 19:
7501 if {mineplex.pref.dpg.%{_p}%} is true:
7502 set {mineplex.pref.dpg.%{_p}%} to false
7503 else:
7504 set {mineplex.pref.dpg.%{_p}%} to true
7505 else if {_t} is 20:
7506 if {mineplex.pref.hif.%{_p}%} is true:
7507 set {mineplex.pref.hif.%{_p}%} to false
7508 else:
7509 set {mineplex.pref.hif.%{_p}%} to true
7510
7511function profile_system(arg1: text , arg2: text , p: player, p2: player) :: number:
7512 set {_wither} to "MHF_WSkeleton" parsed as a player
7513 if {_arg1} is "menu":
7514 if {_arg2} is "profile":
7515 wait 2 ticks
7516 open chest with 3 rows named "My Profile" to {_p}
7517 wait 4 ticks
7518 format slot 11 of {_p} with {_p}'s skull named "&eStats and Achievements" with lore "&f||&fView your Statistics and Achievements||&ffor all of the games on Mineplex!||&f||&fType &a/stats &fto access this anywhere!" to run [profile_system("menu", "stats", {_p}, {_p2})]
7519 format slot 13 of {_p} with redstone comparator item named "&ePreferences" with lore "&f||&fSet your preferences to your liking||&fso you can enjoy the game more!||&f||&fType &a/prefs &fto access this anywhere!" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7520 format slot 15 of {_p} with glistering melon named "&eMineplex Player Server" with lore "&f||&fCreate a server where you are the Host.||&fYou can Choose the game, map and much more!||&f||&fType &a/mps &fto access this anywhere!" to be unstealable
7521 if {_arg2} is "prefs":
7522 if {_p} has permission "mineplex.trainee":
7523 open chest with 6 rows named "My Preferences" to {_p}
7524 wait 3 tick
7525 format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
7526 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7527 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7528 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7529 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7530 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7531 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7532 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7533 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7534 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7535 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7536 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7537 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7538 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7539 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7540 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7541 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7542 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7543 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7544 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7545 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7546 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7547 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7548 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7549 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7550 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7551 format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
7552 format slot 21 of {_p} with diamond named "&eExclusive Preferences" to run [profile_system("menu", "staff", {_p}, {_p2})]
7553 format slot 23 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
7554 format slot 25 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
7555 format slot 31 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
7556 else:
7557 open chest with 5 rows named "My Preferences" to {_p}
7558 wait 3 tick
7559 format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
7560 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7561 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7562 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7563 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7564 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7565 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7566 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7567 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7568 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7569 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7570 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7571 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7572 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7573 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7574 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7575 format slot 37 of {_p} with light blue stained glass pane named "&f" to be unstealable
7576 format slot 38 of {_p} with light blue stained glass pane named "&f" to be unstealable
7577 format slot 39 of {_p} with light blue stained glass pane named "&f" to be unstealable
7578 format slot 40 of {_p} with light blue stained glass pane named "&f" to be unstealable
7579 format slot 41 of {_p} with light blue stained glass pane named "&f" to be unstealable
7580 format slot 42 of {_p} with light blue stained glass pane named "&f" to be unstealable
7581 format slot 43 of {_p} with light blue stained glass pane named "&f" to be unstealable
7582 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7583 format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
7584 format slot 21 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
7585 format slot 23 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
7586 format slot 25 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
7587 if {_arg2} is "user":
7588 open chest with 6 rows named "User Preferences" to {_p}
7589 wait 3 tick
7590 format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7591 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7592 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7593 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7594 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7595 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7596 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7597 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7598 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7599 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7600 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7601 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7602 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7603 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7604 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7605 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7606 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7607 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7608 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7609 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7610 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7611 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7612 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7613 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7614 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7615 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7616 if {mineplex.pref.hg.%{_p}%} is true:
7617 format slot 10 of {_p} with fire charge named "&aHub Games" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 1)]->[profile_system("menu", "user", {_p}, {_p2})]
7618 format slot 19 of {_p} with light green dye named "&aHub Games" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 1)]->[profile_system("menu", "user", {_p}, {_p2})]
7619 else:
7620 format slot 10 of {_p} with fire charge named "&cHub Games" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 1)]->[profile_system("menu", "user", {_p}, {_p2})]
7621 format slot 19 of {_p} with gray dye named "&cHub Games" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 1)]->[profile_system("menu", "user", {_p}, {_p2})]
7622 if {mineplex.pref.hpv.%{_p}%} is true:
7623 format slot 12 of {_p} with eye of ender named "&aHub Player Visibility" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 2)]->[profile_system("menu", "user", {_p}, {_p2})]
7624 format slot 21 of {_p} with light green dye named "&aHub Player Visibility" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 2)]->[profile_system("menu", "user", {_p}, {_p2})]
7625 else:
7626 format slot 12 of {_p} with eye of ender named "&cHub Player Visibility" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 2)]->[profile_system("menu", "user", {_p}, {_p2})]
7627 format slot 21 of {_p} with gray dye named "&cHub Player Visibility" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 2)]->[profile_system("menu", "user", {_p}, {_p2})]
7628 if {mineplex.pref.pc.%{_p}%} is true:
7629 format slot 14 of {_p} with paper named "&aPlayer Chat" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 3)]->[profile_system("menu", "user", {_p}, {_p2})]
7630 format slot 23 of {_p} with light green dye named "&aPlayer Chat" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 3)]->[profile_system("menu", "user", {_p}, {_p2})]
7631 else:
7632 format slot 14 of {_p} with paper named "&cPlayer Chat" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 3)]->[profile_system("menu", "user", {_p}, {_p2})]
7633 format slot 23 of {_p} with gray dye named "&cPlayer Chat" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 3)]->[profile_system("menu", "user", {_p}, {_p2})]
7634 if {mineplex.pref.pm.%{_p}%} is true:
7635 format slot 16 of {_p} with map named "&aPrivate Messaging" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 4)]->[profile_system("menu", "user", {_p}, {_p2})]
7636 format slot 25 of {_p} with light green dye named "&aPrivate Messaging" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 4)]->[profile_system("menu", "user", {_p}, {_p2})]
7637 else:
7638 format slot 16 of {_p} with map named "&CPrivate Messaging" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 4)]->[profile_system("menu", "user", {_p}, {_p2})]
7639 format slot 25 of {_p} with gray dye named "&cPrivate Messaging" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 4)]->[profile_system("menu", "user", {_p}, {_p2})]
7640 if {mineplex.pref.rm.%{_p}%} is true:
7641 format slot 31 of {_p} with command block named "&aSend random messages" with lore "&aEnabled||&f||&fClick to Disable||&f||&7Got nothing to say? We got you covered!" to run [prefsSystem({_p}, 9)]->[profile_system("menu", "user", {_p}, {_p2})]
7642 format slot 40 of {_p} with light green dye named "&aSend random messages" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 9)]->[profile_system("menu", "user", {_p}, {_p2})]
7643 else:
7644 format slot 31 of {_p} with command block named "&cSend random messages" with lore "&cDisabled||&f||&fClick to Enable||&f||&7Got nothing to say? We got you covered!" to run [prefsSystem({_p}, 9)]->[profile_system("menu", "user", {_p}, {_p2})]
7645 format slot 40 of {_p} with gray dye named "&cSend random messages" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 9)]->[profile_system("menu", "user", {_p}, {_p2})]
7646 if {_arg2} is "game":
7647 open chest with 6 rows named "Game Mechanic Preference" to {_p}
7648 wait 3 tick
7649 format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7650 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7651 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7652 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7653 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7654 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7655 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7656 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7657 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7658 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7659 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7660 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7661 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7662 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7663 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7664 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7665 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7666 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7667 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7668 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7669 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7670 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7671 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7672 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7673 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7674 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7675 if {mineplex.pref.aj.%{_p}%} is true:
7676 format slot 11 of {_p} with diamond sword named "&aAuto Join Next Game" with lore "&aEnabled||&f||&fClick to Disable||&f||&7Feel like playing again?||&7Enable this, and when you're you||&7a 15 second timer will start||&7when it ends, it'll send you||&7to another game!" to run [prefsSystem({_p}, 10)]->[profile_system("menu", "game", {_p}, {_p2})]
7677 format slot 20 of {_p} with light green dye named "&aAuto Join Next Game" with lore "&aEnabled||&f||&fClick to Disable||" to run [prefsSystem({_p}, 10)]->[profile_system("menu", "game", {_p}, {_p2})]
7678 else:
7679 format slot 11 of {_p} with diamond sword named "&cAuto Join Next Game" with lore "&cDisabled||&f||&fClick to Enable||&f||&7Feel like playing again?||&7Enable this, and when you're you||&7a 15 second timer will start||&7when it ends, it'll send you||&7to another game!" to run [prefsSystem({_p}, 10)]->[profile_system("menu", "game", {_p}, {_p2})]
7680 format slot 20 of {_p} with gray dye named "&cAuto Join Next Game" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 10)]->[profile_system("menu", "game", {_p}, {_p2})]
7681 if {mineplex.pref.daw.%{_p}%} is true:
7682 format slot 13 of {_p} with barrier named "&aDisable Automatic Warning" with lore "&aEnabled||&f||&fClick to Disable||&f||&7Know what you're doing?||&7Disable this to not receive||&7a message warning you about Auto-Join" to run [prefsSystem({_p}, 11)]->[profile_system("menu", "game", {_p}, {_p2})]
7683 format slot 22 of {_p} with light green dye named "&aDisable Automatic Warning" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 11)]->[profile_system("menu", "game", {_p}, {_p2})]
7684 else:
7685 format slot 13 of {_p} with barrier named "&cDisable Automatic Warning" with lore "&cDisabled||&f||&fClick to Enable||&f||&7Know what you're doing?||&7Disable this to not receive||&7a message warning you about Auto-Join" to run [prefsSystem({_p}, 11)]->[profile_system("menu", "game", {_p}, {_p2})]
7686 format slot 22 of {_p} with gray dye named "&cDisable Automatic Warning" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 11)]->[profile_system("menu", "game", {_p}, {_p2})]
7687 if {mineplex.pref.cj.%{_p}%} is true:
7688 format slot 15 of {_p} with clock named "&aCountdown to Join" with lore "&aEnabled||&f||&fClick to Disable||&f||&7See that fancy text when you're out?||&7If you click it, and this is enabled||&7a 15 second time will countdown||&7until you are sent to a new game" to run [prefsSystem({_p}, 12)]->[profile_system("menu", "game", {_p}, {_p2})]
7689 format slot 24 of {_p} with light green dye named "&aCountdown to Join" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 12)]->[profile_system("menu", "game", {_p}, {_p2})]
7690 else:
7691 format slot 15 of {_p} with clock named "&cCountdown to Join" with lore "&cDisabled||&f||&fClick to Enable||&f||&7See that fancy text when you're out?||&7If you click it, and this is enabled||&7a 15 second time will countdown||&7until you are sent to a new game" to run [prefsSystem({_p}, 12)]->[profile_system("menu", "game", {_p}, {_p2})]
7692 format slot 24 of {_p} with gray dye named "&cCountdown to Join" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 12)]->[profile_system("menu", "game", {_p}, {_p2})]
7693 if {_arg2} is "misc":
7694 open chest with 6 rows named "Miscellaneous Preference" to {_p}
7695 wait 3 tick
7696 format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7697 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7698 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7699 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7700 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7701 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7702 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7703 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7704 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7705 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7706 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7707 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7708 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7709 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7710 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7711 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7712 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7713 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7714 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7715 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7716 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7717 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7718 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7719 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7720 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7721 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7722 if {mineplex.pref.sct.%{_p}%} is true:
7723 format slot 12 of {_p} with iron sword named "&aShow Clan Tips" with lore "&aEnabled||&f||&fClick to Disable||&f||&f" to run [prefsSystem({_p}, 13)]->[profile_system("menu", "misc", {_p}, {_p2})]
7724 format slot 21 of {_p} with light green dye named "&aShow Clan Tips" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 13)]->[profile_system("menu", "misc", {_p}, {_p2})]
7725 else:
7726 format slot 12 of {_p} with iron sword named "&cShow Clan Tips" with lore "&cDisabled||&f||&fClick to Enable||&f||&f" to run [prefsSystem({_p}, 13)]->[profile_system("menu", "misc", {_p}, {_p2})]
7727 format slot 21 of {_p} with gray dye named "&cShow Clan Tips" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 13)]->[profile_system("menu", "misc", {_p}, {_p2})]
7728 if {mineplex.pref.hm.%{_p}%} is true:
7729 format slot 14 of {_p} with note block named "&aHub Music" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 14)]->[profile_system("menu", "misc", {_p}, {_p2})]
7730 format slot 23 of {_p} with light green dye named "&aHub Music" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 14)]->[profile_system("menu", "misc", {_p}, {_p2})]
7731 else:
7732 format slot 14 of {_p} with note block named "&cHub Music" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 14)]->[profile_system("menu", "misc", {_p}, {_p2})]
7733 format slot 23 of {_p} with gray dye named "&cHub Music" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 14)]->[profile_system("menu", "misc", {_p}, {_p2})]
7734 if {_arg2} is "social":
7735 open chest with 6 rows named "Social Preferences" to {_p}
7736 wait 3 tick
7737 format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7738 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7739 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7740 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7741 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7742 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7743 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7744 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7745 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7746 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7747 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7748 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7749 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7750 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7751 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7752 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7753 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7754 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7755 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7756 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7757 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7758 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7759 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7760 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7761 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7762 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7763 if {mineplex.pref.pr.%{_p}%} is true:
7764 format slot 10 of {_p} with human head named "&aParty Requests" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 15)]->[profile_system("menu", "social", {_p}, {_p2})]
7765 format slot 19 of {_p} with light green dye named "&aParty Requests" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 15)]->[profile_system("menu", "social", {_p}, {_p2})]
7766 else:
7767 format slot 10 of {_p} with human head named "&cParty Requests" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 15)]->[profile_system("menu", "social", {_p}, {_p2})]
7768 format slot 19 of {_p} with gray dye named "&cParty Requests" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 15)]->[profile_system("menu", "social", {_p}, {_p2})]
7769 if {mineplex.pref.spfr.%{_p}%} is true:
7770 format slot 12 of {_p} with red flower named "&aShow Pending Friend Requests" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 16)]->[profile_system("menu", "social", {_p}, {_p2})]
7771 format slot 21 of {_p} with light green dye named "&aShow Pending Friend Requests" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 16)]->[profile_system("menu", "social", {_p}, {_p2})]
7772 else:
7773 format slot 12 of {_p} with red flower named "&cShow Pending Friend Requests" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 16)]->[profile_system("menu", "social", {_p}, {_p2})]
7774 format slot 21 of {_p} with gray dye named "&cShow Pending Friend Requests" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 16)]->[profile_system("menu", "social", {_p}, {_p2})]
7775 if {mineplex.pref.dfg.%{_p}%} is true:
7776 format slot 14 of {_p} with chest named "&aDisplay Friend GUI" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 17)]->[profile_system("menu", "social", {_p}, {_p2})]
7777 format slot 23 of {_p} with light green dye named "&aDisplay Friend GUI" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 17)]->[profile_system("menu", "social", {_p}, {_p2})]
7778 else:
7779 format slot 14 of {_p} with chest named "&cDisplay Friend GUI" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 17)]->[profile_system("menu", "social", {_p}, {_p2})]
7780 format slot 23 of {_p} with gray dye named "&cDisplay Friend GUI" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 17)]->[profile_system("menu", "social", {_p}, {_p2})]
7781 if {mineplex.pref.sci.%{_p}%} is true:
7782 format slot 16 of {_p} with book named "&aShow Community Invites" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 18)]->[profile_system("menu", "social", {_p}, {_p2})]
7783 format slot 25 of {_p} with light green dye named "&aShow Community Invites" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 18)]->[profile_system("menu", "social", {_p}, {_p2})]
7784 else:
7785 format slot 16 of {_p} with book named "&cShow Community Invites" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 18)]->[profile_system("menu", "social", {_p}, {_p2})]
7786 format slot 25 of {_p} with gray dye named "&cShow Community Invites" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 18)]->[profile_system("menu", "social", {_p}, {_p2})]
7787 if {mineplex.pref.dpg.%{_p}%} is true:
7788 format slot 31 of {_p} with chest named "&aDisplay Parties GUI" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 19)]->[profile_system("menu", "social", {_p}, {_p2})]
7789 format slot 40 of {_p} with light green dye named "&aDisplay Parties GUI" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 19)]->[profile_system("menu", "social", {_p}, {_p2})]
7790 else:
7791 format slot 31 of {_p} with chest named "&cDisplay Parties GUI" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 19)]->[profile_system("menu", "social", {_p}, {_p2})]
7792 format slot 40 of {_p} with gray dye named "&cDisplay Parties GUI" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 19)]->[profile_system("menu", "social", {_p}, {_p2})]
7793 if {_arg2} is "staff":
7794 open chest with 6 rows named "Exclusive Preferences" to {_p}
7795 wait 3 tick
7796 format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
7797 format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
7798 format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
7799 format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
7800 format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
7801 format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
7802 format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
7803 format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
7804 format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
7805 format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
7806 format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
7807 format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
7808 format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
7809 format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
7810 format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
7811 format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
7812 format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
7813 format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
7814 format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
7815 format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
7816 format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
7817 format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
7818 format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
7819 format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
7820 format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
7821 format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
7822 if {mineplex.pref.hif.%{_p}%} is true:
7823 format slot 10 of {_p} with nether star named "&aHub Invisibility & Flight" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 20)]->[profile_system("menu", "staff", {_p}, {_p2})]
7824 format slot 19 of {_p} with light green dye named "&aHub Invisibility & Flight" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 20)]->[profile_system("menu", "staff", {_p}, {_p2})]
7825 else:
7826 format slot 10 of {_p} with nether star named "&cHub Invisibility & Flight" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 20)]->[profile_system("menu", "staff", {_p}, {_p2})]
7827 format slot 19 of {_p} with gray dye named "&cHub Invisibility & Flight" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 20)]->[profile_system("menu", "staff", {_p}, {_p2})]
7828 if {mineplex.ff.%{_p}%} is true:
7829 format slot 12 of {_p} with slimeball named "&aHub Forcefield" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 8)]->[profile_system("menu", "staff", {_p}, {_p2})]
7830 format slot 21 of {_p} with light green dye named "&aHub Forcefield" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 8)]->[profile_system("menu", "staff", {_p}, {_p2})]
7831 else:
7832 format slot 12 of {_p} with slimeball named "&cHub Forcefield" with lore "&cDisabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 8)]->[profile_system("menu", "staff", {_p}, {_p2})]
7833 format slot 21 of {_p} with gray dye named "&cHub Forcefield" with lore "&cDisabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 8)]->[profile_system("menu", "staff", {_p}, {_p2})]
7834 if {mineplex.pref.gwen.%{_p}%} is true:
7835 format slot 14 of {_p} with paper named "&aGlobal GWEN Reports" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 5)]->[profile_system("menu", "staff", {_p}, {_p2})]
7836 format slot 23 of {_p} with light green dye named "&aGlobal GWEN Reports" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 5)]->[profile_system("menu", "staff", {_p}, {_p2})]
7837 else:
7838 format slot 14 of {_p} with paper named "&cGlobal GWEN Reports" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 5)]->[profile_system("menu", "staff", {_p}, {_p2})]
7839 format slot 23 of {_p} with gray dye named "&cGlobal GWEN Reports" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 5)]->[profile_system("menu", "staff", {_p}, {_p2})]
7840 if {mineplex.pref.report.%{_p}%} is true:
7841 format slot 16 of {_p} with book named "&aUser Reports" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 6)]->[profile_system("menu", "staff", {_p}, {_p2})]
7842 format slot 25 of {_p} with light green dye named "&aUser Reports" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 6)]->[profile_system("menu", "staff", {_p}, {_p2})]
7843 else:
7844 format slot 16 of {_p} with book named "&cUser Reports" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 6)]->[profile_system("menu", "staff", {_p}, {_p2})]
7845 format slot 25 of {_p} with gray dye named "&cUser Reports" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 6)]->[profile_system("menu", "staff", {_p}, {_p2})]
7846 if {mineplex.pref.ff.%{_p}%} is true:
7847 format slot 31 of {_p} with saddle named "&aIgnore Hub Velocity" with lore "&aEnabled||&f||&fClick to Disable||&f" to run [prefsSystem({_p}, 7)]->[profile_system("menu", "staff", {_p}, {_p2})]
7848 format slot 40 of {_p} with light green dye named "&aIgnore Hub Velocity" with lore "&aEnabled||&f||&fClick to Disable" to run [prefsSystem({_p}, 7)]->[profile_system("menu", "staff", {_p}, {_p2})]
7849 else:
7850 format slot 31 of {_p} with saddle named "&cIgnore Hub Velocity" with lore "&cDisabled||&f||&fClick to Enable||&f" to run [prefsSystem({_p}, 7)]->[profile_system("menu", "staff", {_p}, {_p2})]
7851 format slot 40 of {_p} with gray dye named "&cIgnore Hub Velocity" with lore "&cDisabled||&f||&fClick to Enable" to run [prefsSystem({_p}, 7)]->[profile_system("menu", "staff", {_p}, {_p2})]
7852
7853command /prefs:
7854 trigger:
7855 profile_system("menu", "prefs", player, player)
7856
7857#GWEN CODING!! (Using my old plugin Shield) (I took it down as I was ripping off json.sk but wtevr) lol
7858
7859on damage:
7860 if victim's name is "BeamCow" or "BeamGuar":
7861 cancel event
7862on death:
7863 if victim's name is "BeamCow" or "BeamGuar":
7864 clear drops
7865
7866on quit:
7867 delete {forcefield.past.%player%}
7868
7869function beamGo(p: player) :: number:
7870 apply slowness 255 to {_p} for 7 seconds
7871 set {_p2} to location 3 meters in front of {_p}
7872 add 5 to y-coordinate of {_p2}
7873 set {_p3} to location 3 meters behind {_p}
7874 add 5 to y-coordinate of {_p3}
7875 set {_p4} to location 3 meters left of {_p}
7876 add 5 to y-coordinate of {_p4}
7877 set {_p5} to location 3 meters right of {_p}
7878 add 5 to y-coordinate of {_p5}
7879 spawn a guardian at {_p2}
7880 add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
7881 set {_t2} to last spawned entity
7882 spawn a guardian at {_p3}
7883 add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
7884 set {_t3} to last spawned entity
7885 spawn a guardian at {_p4}
7886 add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
7887 set {_t4} to last spawned entity
7888 spawn a guardian at {_p5}
7889 add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
7890 set {_t5} to last spawned entity
7891 set {_player} to {_p}
7892 set {_r} to randomize "BHWFEAEG619"
7893 set {_s} to "Chiss" parsed as a player
7894 setPlayerdata({_p}, "banned", "yes")
7895 punishBan({_s} ,{_player} , "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%")
7896 set {banned::%{_player}%} to true
7897 set {banned::%{_player}%::type} to "perm"
7898 set {banned::%{_player}%::reason} to "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%"
7899 set {banned::%{_player}%::staff} to "Chiss"
7900 set {banned::%{_player}%::when} to now
7901 add "&ePunishment Type: &fOther||||&eReason: &f[GWEN] Token: %{_r}%||||&eStaff: &fChiss||||&eDate: &f%now%" to {p.%{_player}%::history::*}
7902 Beam({_p}, {_t2})
7903 Beam({_p}, {_t3})
7904 Beam({_p}, {_t4})
7905 Beam({_p}, {_t5})
7906 wait 5.2 seconds
7907 broadcast "&9GWEN> &7%{_p}% has been banned. I am always watching"
7908 kick {_player} due to "&c&lYou are banned for Permanent by %{mineplex.config.servername}% Anti-Cheat%nl%&f[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
7909
7910command /gwenban <player>:
7911 permission: mineplex.admin
7912 permission message: &9Permissions> &7You do not have permission to do that.
7913 trigger:
7914 beamGo(arg-1)
7915
7916on shoot:
7917 if projectile is an arrow:
7918 if difference between {bow.%shooter%} and now is less than 2 ticks:
7919 gwenAlert((shooter), ("Fast Bow"))
7920 set {bow.%shooter%} to now
7921
7922every 4 second :
7923 set {autoclick.check} to true
7924 wait 3 second
7925 set {autoclick.check} to false
7926 loop all players :
7927 delete {player.click.%loop-player%}
7928
7929on left click :
7930 {autoclick.check} is true
7931 add 1 to {player.click.%player%}
7932 {player.click.%player%} > 69
7933 gwenAlert((player), ("High CPS (%{player.click.%player%} / 3% clicks/second)"))
7934
7935on walk on water:
7936 set {_loc} to location of player
7937 add 2 to y-coordinate of {_loc}
7938 if block at {_loc} is air:
7939 add 1 to {gwen.jesus.%player%}
7940 if {gwen.jesus.%player%} is greater than 6:
7941 gamemode of player is survival
7942 gwenAlert((player), ("Jesus"))
7943 delete {gwen.jesus.%player%}
7944
7945on consume:
7946 if difference between {fasteat.%player%} and now is less than 10 ticks:
7947 cancel event
7948 set {fasteat.%player%} to now
7949 gwenAlert((player), ("FastEat"))
7950 set {fasteat.%player%} to now
7951
7952on damage:
7953 if attacker is a player:
7954 if victim is a player:
7955 if attacker's gamemode is survival or adventure:
7956 damage cause isn't thorns or a projectile:
7957 set {_reach.%attacker%} to distance between attacker and victim
7958 set {_ping} to attacker's ping
7959 if {_reach.%attacker%} is greater than 5.67:
7960 if {_ping} is greater than 350:
7961 gwenAlert((attacker), ("Reach"))
7962 if {_ping} is less than 350:
7963 gwenAlert((attacker), ("Reach"))
7964
7965on damage of a player :
7966 block at victim is not cobweb
7967 victim is not riding
7968 victim is not on fire
7969 victim's y-coordinate is greater than 5
7970 set {_loc9} to block north east victim
7971 set {_loc8} to block south west victim
7972 blocks within {_loc9} to {_loc8} is air
7973 set {_loc} to location of victim
7974 wait 10 ticks
7975 set {_loc2} to location of victim
7976 distance between {_loc} and {_loc2} = 0
7977 victim's ping < 250
7978 gwenAlert((victim), ("Velocity"))
7979
7980#Systems
7981
7982on leftclick holding tnt:
7983 if {mineplex.tntlauncher} is true:
7984 player has 1 tnt
7985 spawn a primed tnt 1 meter above the player
7986 add "{Fuse:60}" to nbt of the spawned entity
7987 push the spawned entity in direction of player at speed 0.9
7988 push the spawned entity upwards at speed 0.2
7989 remove 1 tnt from player
7990
7991on rightclick holding tnt:
7992 if {mineplex.tntlauncher} is true:
7993 player has 1 tnt
7994 spawn a primed tnt 1 meter above the player
7995 add "{Fuse:60}" to nbt of the spawned entity
7996 push the spawned entity in direction of player at speed 0.9
7997 push the spawned entity upwards at speed 0.2
7998 remove 1 tnt from player
7999
8000#Modules
8001
8002on load:
8003 delete {mineplex::modules::*}
8004 set {mineplex.modulesapi.online} to true
8005
8006on unload:
8007 delete {mineplex::modules::*}
8008 set {mineplex.modulesapi.online} to false
8009
8010command /modules:
8011 trigger:
8012 send "&9Modules> &7Modules API version 0.1"
8013 send "&9Modules> &7Going to *attempt* to list modules."
8014 send "&9Modules> &7This does not mean that your module is not loaded."
8015 loop {mineplex::modules::*}:
8016 send "&9Modules> &e%loop-value%"
8017
8018#add "Bungee Module" to {mineplex::modules::*}
8019#remove "Bungee Module" from {mineplex::modules::*}
8020
8021#MPS
8022
8023#on load:
8024# if {wget} is not set:
8025# download file from "" to file "./WheezyMap.zip"
8026
8027#command /mpsconfirm:
8028# permission: mineplex.op
8029# trigger:
8030# if {mineplex.mps.%player%} is not set:
8031# send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
8032# send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
8033# copy dir "./mps/Mineplex" to "./mps/%player%-1/"
8034# load world "./mps/%player%-1"
8035# set {mps.%player%-1} to "yes"
8036# wait 20 seconds
8037# else:
8038# send "&9Personal Server Manager> &7Your server is still being created or already exists. If you haven't been connected in 20 seconds, type /server %player%-1."
8039#
8040#command /hostserver:
8041# permission: mineplex.op
8042# trigger:
8043# if {mineplex.mps.%player%} is not set:
8044# send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
8045# send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
8046# create folder "./mps/%player%-1"
8047# load world "./mps/%player%-1"
8048# wait 20 seconds
8049# teleport player to spawn of "./mps/%player%-1"
8050# else:
8051# send "&9Personal Server Manager> &7Your server is still being created or already exists. If you haven't been connected in 20 seconds, type /server %player%-1."
8052
8053#command /endserver:
8054# trigger:
8055# loop all players:
8056# loop-player's world is "./mps/%player%-1":
8057# teleport player to spawn of "%arg-1%"
8058# unload world "./mps/%player%-1"
8059# wait 2 seconds
8060# delete folder "./mps/%player%-1/data/"
8061# delete folder "./mps/%player%-1/region/"
8062# delete file "./mps/%player%-1/level.dat"
8063# delete file "./mps/%player%-1/uid.dat"
8064# delete file "./mps/%player%-1/session.lock"
8065# delete dir "./mps/%player%-1"
8066
8067#command /tpwrd <text>:
8068# trigger:
8069# set {_w} to "world"
8070# teleport player to spawn of {_w}
8071
8072#command /menu:
8073# trigger:
8074# open chest with 3 rows named "Private Server Menu" to player
8075# wait 1 tick
8076# format slot 11 of player with diamond sword named "&a&lGive Co-Host" with lore "||&e" to close then run [execute console command "say no way hosay"]
8077# format slot 13 of player with lava bucket named "&aRemove Player" with lore "||&e" to close then run [execute console command "kick Citrin_ lol"]
8078# format slot 15 of player with redstone comparator item named "&aGame Options" with lore "||&e" to close then run [execute console command "say xd"]
8079# format slot 20 of player with golden sword named "&a&lRemove Co-Host" with lore "||&e" to close then run [execute console command "say no way hosay"]
8080# format slot 22 of player with water bucket named "&a&lUn-Remove Player" with lore "||&e" to close then run [execute console command "say no way hosay"]
8081# format slot 24 of player with tnt named "&a&lKill Private Server" with lore "||&7Shift-Right Click to Kill Private Server" to close then run [execute console command "say xd"]
8082
8083
8084#skPerms by LimeGlass
8085#Thanks for Letting Me Bake This In!
8086options:
8087 prefix: &6[&5SkPerms&6]
8088 maincolour: &6
8089 secondcolour: &7
8090 command: /skperms
8091 aliases: /perm, /permission
8092 permission: skperms.admin
8093
8094 #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
8095 CMDprotection: false
8096 CMDprotectionMsg: Unknown command. Type ""/help"" for help
8097 #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
8098 PlayerList: {example::players::*}
8099
8100 UseChat: false #use prefix and suffix in the chat
8101 #Chat types:
8102 #Display - Changes the player's display name (Vault will hook if installed)
8103 #Override - !COMING SOON
8104 ChatType: "Display"
8105
8106 version: 1.0.5
8107
8108on script load:
8109 if file "plugins\SkPerms" exists:
8110 delete {skperms::config::*}
8111 else:
8112 set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
8113 set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
8114 set {skperms::config::version} to yaml value "version" from file "plugins\SkPerms\config.yml"
8115 set {skperms::config::useYML} to yaml value "useYML" from file "plugins\SkPerms\config.yml"
8116 if {skperms::config::useYML} is true:
8117 if {skperms::players::*} is not set:
8118 stop
8119 delete file "plugins\SkPerms\players.yml"
8120 loop {skperms::players::*}:
8121 loop {skperms::player::%loop-value%::permissions::*}:
8122 add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
8123on script unload:
8124 loop {skperms::groups::*}:
8125 if {skperms::group::%loop-value%::*} is not set:
8126 loop {skperms::group::%loop-value-1%::permissions::*}:
8127 loop {skperms::players::*}:
8128 remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
8129 loop {skperms::players::*}:
8130 remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
8131 if {skperms::player::%loop-value-2%::groups::*} is not empty:
8132 loop {skperms::player::%loop-value-2%::groups::*}:
8133 loop {skperms::group::%loop-value-1%::permissions::*}:
8134 set {_p} to "%loop-value-2%" parsed as player
8135 add "%loop-value-4%" to {_p}'s permissions
8136 remove "%loop-value%" from {skperms::groups::*}
8137command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
8138 permission: {@permission}
8139 aliases: {@aliases}
8140 trigger:
8141 if {@CMDprotection} is true:
8142 if command sender is not console:
8143 if {@PlayerList} doesn't contain player or "%player%":
8144 message "{@CMDprotectionMsg}"
8145 stop
8146 if arg 1 is not set:
8147 message ""
8148 message "{@prefix} v{@version}:"
8149 message "{@maincolour}{@command} deleteDefault"
8150 message "{@secondcolour}Deletes default group setting (If set)"
8151 message "{@maincolour}{@command} (d|default) (group)"
8152 if {skperms::default} is set:
8153 message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
8154 else:
8155 message "{@secondcolour}Set the default group"
8156 message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
8157 message "{@secondcolour}Add/remove/list a players permissions"
8158 message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
8159 message "{@secondcolour}Add/remove/set/list a players group"
8160 message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
8161 message "{@secondcolour}Add/remove/list a group permission"
8162 message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
8163 message "{@secondcolour}Add/remove/list a groups connected groups"
8164 message "{@secondcolour}A group is created once it contains a permission"
8165 message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
8166 message "{@secondcolour}Set a suffix or prefix to a group"
8167 message ""
8168 else if arg 1 is "deleteDefault":
8169 delete {skperms::default}
8170 message "{@prefix} {@maincolour}Removed default group (No group set)"
8171 else if arg 1 is "d", "setdefault" or "default":
8172 if arg 2 is set:
8173 set {skperms::default} to arg 2
8174 message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
8175 else:
8176 message "{@prefix} {@maincolour}Error: Group not specified"
8177 else if arg 1 is "p" or "player":
8178 if arg 2 is not set:
8179 message "{@prefix} {@maincolour}Error: Player not specified"
8180 else if arg 2 is set:
8181 if arg 3 is "a" or "add":
8182 if arg 4 is "p", "permission" or "permissions":
8183 if arg 5 is set:
8184 if {skperms::groups::*} doesn't contain arg 2:
8185 add arg 2 to {skperms::groups::*}
8186 set {_player} to arg 2 parsed as player
8187 add arg 5 to {_player}'s permissions
8188 set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
8189 message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
8190 else:
8191 message "{@prefix} {@maincolour}Error: Permission not specified"
8192 else if arg 4 is "g", "group" or "groups":
8193 if arg 5 is set:
8194 if {skperms::groups::*} doesn't contain arg 2:
8195 add arg 2 to {skperms::groups::*}
8196 if {skperms::player::%arg 2%::groups::*} doesn't contain arg 5:
8197 add arg 5 to {skperms::player::%arg 2%::groups::*}
8198 else:
8199 message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
8200 stop
8201 message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
8202 if {@UseChat} is true:
8203 if {@ChatType} is "Display" or "display":
8204 loop all players:
8205 if {skperms::player::%player%::groups::*} contains arg 5:
8206 if {skperms::group::%arg 5%::prefix} is set:
8207 if {skperms::group::%arg 5%::suffix} is set:
8208 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
8209 else:
8210 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
8211 else if {skperms::group::%arg 5%::suffix} is set:
8212 set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
8213 else:
8214 set loop-player's display name to "%player%"
8215 loop all players:
8216 if {skperms::player::%player%::groups::*} is not set:
8217 set loop-player's display name to "%player%"
8218 else:
8219 message "{@prefix} {@maincolour}Error: Group not specified"
8220 else:
8221 message "{@prefix} {@maincolour}Error: Type not specified"
8222 else if arg 3 is "s" or "set":
8223 if arg 4 is "g", "group" or "groups":
8224 if arg 5 is set:
8225 if {skperms::groups::*} doesn't contain arg 2:
8226 add arg 2 to {skperms::groups::*}
8227 delete {skperms::player::%arg 2%::groups::*}
8228 add arg 5 to {skperms::player::%arg 2%::groups::*}
8229 message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
8230 if {@UseChat} is true:
8231 if {@ChatType} is "Display" or "display":
8232 loop all players:
8233 if {skperms::player::%player%::groups::*} contains arg 5:
8234 if {skperms::group::%arg 5%::prefix} is set:
8235 if {skperms::group::%arg 5%::suffix} is set:
8236 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
8237 else:
8238 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
8239 else if {skperms::group::%arg 5%::suffix} is set:
8240 set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
8241 else:
8242 set loop-player's display name to "%player%"
8243 loop all players:
8244 if {skperms::player::%player%::groups::*} is not set:
8245 set loop-player's display name to "%player%"
8246 else:
8247 message "{@prefix} {@maincolour}Error: Group not specified"
8248 else:
8249 message "{@prefix} {@maincolour}Error: Type not specified"
8250 else if arg 3 is "r" or "remove":
8251 if arg 4 is "p", "permission" or "permissions":
8252 if arg 5 is set:
8253 set {_player} to arg 2 parsed as player
8254 remove arg 5 from {_player}'s permissions
8255 set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
8256 message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
8257 else:
8258 message "{@prefix} {@maincolour}Error: Permission not specified"
8259 else if arg 4 is "g", "group" or "groups":
8260 if arg 5 is set:
8261 if {skperms::player::%arg 2%::groups::*} contains arg 5:
8262 remove arg 5 from {skperms::player::%arg 2%::groups::*}
8263 message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
8264 if {@UseChat} is true:
8265 if {@ChatType} is "Display" or "display":
8266 loop all players:
8267 if {skperms::player::%player%::groups::*} contains arg 5:
8268 if {skperms::group::%arg 5%::prefix} is set:
8269 if {skperms::group::%arg 5%::suffix} is set:
8270 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
8271 else:
8272 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
8273 else if {skperms::group::%arg 5%::suffix} is set:
8274 set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
8275 else:
8276 set loop-player's display name to "%player%"
8277 loop all players:
8278 if {skperms::player::%player%::groups::*} is not set:
8279 set loop-player's display name to "%player%"
8280 else:
8281 message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
8282 else:
8283 message "{@prefix} {@maincolour}Error: Group not specified"
8284 else:
8285 message "{@prefix} {@maincolour}Error: Type not specified"
8286 else if arg 3 is "l" or "list":
8287 if arg 4 is "p", "permission" or "permissions":
8288 set {_player} to arg 2 parsed as player
8289 message "{@prefix} {@maincolour}%{_player}'s permissions%"
8290 else if arg 4 is "g", "group" or "groups":
8291 message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
8292 else:
8293 message "{@prefix} {@maincolour}Error: Type not specified"
8294 else if arg 1 is "g", "group" or "groups":
8295 if arg 2 is not set:
8296 message "{@prefix} {@maincolour}Error: Group not specified"
8297 else if arg 2 is set:
8298 if arg 3 is "a" or "add":
8299 if arg 4 is "p", "permission" or "permissions":
8300 if arg 5 is set:
8301 if {skperms::groups::*} doesn't contain arg 2:
8302 add arg 2 to {skperms::groups::*}
8303 add arg 5 to {skperms::group::%arg 2%::permissions::*}
8304 message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
8305 loop all players:
8306 if {skperms::player::%player%::groups::*} contains arg 2:
8307 loop {skperms::group::%arg 2%::permissions::*}:
8308 add "%loop-value-2%" to loop-player's permissions
8309 else:
8310 message "{@prefix} {@maincolour}Error: Permission not specified"
8311 else if arg 4 is "g", "group" or "groups":
8312 if arg 5 is set:
8313 if {skperms::groups::*} doesn't contain arg 2:
8314 add arg 2 to {skperms::groups::*}
8315 loop {skperms::group::%arg 5%::permissions::*}:
8316 add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
8317 message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
8318 loop all players:
8319 if {skperms::player::%player%::groups::*} contains arg 2:
8320 loop {skperms::group::%arg 2%::permissions::*}:
8321 add "%loop-value-2%" to loop-player's permissions
8322 else:
8323 message "{@prefix} {@maincolour}Error: Group not specified"
8324 else:
8325 message "{@prefix} {@maincolour}Error: Type not specified"
8326 else if arg 3 is "r" or "remove":
8327 if arg 4 is "p", "permission" or "permissions":
8328 if arg 5 is set:
8329 loop all players:
8330 if {skperms::player::%player%::groups::*} contains arg 2:
8331 loop {skperms::group::%arg 2%::permissions::*}:
8332 remove "%loop-value-2%" from loop-player's permissions
8333 remove arg 5 from {skperms::group::%arg 2%::permissions::*}
8334 message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
8335 loop all players:
8336 if {skperms::player::%player%::groups::*} contains arg 2:
8337 loop {skperms::group::%arg 2%::permissions::*}:
8338 add "%loop-value-2%" to loop-player's permissions
8339 else:
8340 message "{@prefix} {@maincolour}Error: Permission not specified"
8341 else if arg 4 is "g", "group" or "groups":
8342 if arg 5 is set:
8343 loop all players:
8344 if {skperms::player::%player%::groups::*} contains arg 2:
8345 loop {skperms::group::%arg 2%::permissions::*}:
8346 remove "%loop-value-2%" from loop-player's permissions
8347 loop {skperms::group::%arg 5%::permissions::*}:
8348 remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
8349 add 1 to {_l}
8350 message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
8351 loop all players:
8352 if {skperms::player::%player%::groups::*} contains arg 2:
8353 loop {skperms::group::%arg 2%::permissions::*}:
8354 add "%loop-value-2%" to loop-player's permissions
8355 else:
8356 message "{@prefix} {@maincolour}Error: Group not specified"
8357 else:
8358 message "{@prefix} {@maincolour}Error: Type not specified"
8359 else if arg 3 is "l" or "list":
8360 if arg 4 is "p", "permission" or "permissions":
8361 message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
8362 else:
8363 message "{@prefix} {@maincolour}Error: Type not specified"
8364 else if arg 3 is "prefix" or "suffix":
8365 if arg 4 is "set":
8366 if arg 5 is set:
8367 set {skperms::group::%arg 2%::%arg 3%} to arg 5
8368 message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
8369 if {@UseChat} is true:
8370 if {@ChatType} is "Display" or "display":
8371 loop all players:
8372 if {skperms::player::%player%::groups::*} contains arg 5:
8373 if {skperms::group::%arg 5%::prefix} is set:
8374 if {skperms::group::%arg 5%::suffix} is set:
8375 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
8376 else:
8377 set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
8378 else if {skperms::group::%arg 5%::suffix} is set:
8379 set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
8380 else:
8381 set loop-player's display name to "%player%"
8382 loop all players:
8383 if {skperms::player::%player%::groups::*} is not set:
8384 set loop-player's display name to "%player%"
8385 else:
8386 message "{@prefix} {@maincolour}Prefix/Suffix not specified"
8387 else:
8388 message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
8389#on quit:
8390# set {skperms::player::%player%::permissions::*} to player's permissions
8391
8392on join:
8393 loop 2 times:
8394 remove "%player%" from {skperms::players::*}
8395 add "%player%" to {skperms::players::*}
8396 loop {skperms::groups::*}:
8397 if player has permission "skperms.group.%loop-value%":
8398 if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
8399 add "%loop-value%" to {skperms::player::%player%::groups::*}
8400 if {skperms::default} is set:
8401 loop {skperms::group::%{skperms::default}%::permissions::*}:
8402 add "%loop-value%" to player's permissions
8403 loop {skperms::player::%player%::permissions::*}:
8404 add "%loop-value%" to player's permissions
8405 if {skperms::player::%player%::groups::*} is not empty:
8406 loop {skperms::player::%player%::groups::*}:
8407 loop {skperms::group::%loop-value%::permissions::*}:
8408 add "%loop-value-2%" to player's permissions
8409 if {@UseChat} is true:
8410 if {@ChatType} is "Display" or "display":
8411 if {skperms::group::%loop-index%::prefix} is set:
8412 if {skperms::group::%loop-index%::suffix} is set:
8413 set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
8414 else:
8415 set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
8416 else if {skperms::group::%loop-index%::suffix} is set:
8417 set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
8418 else:
8419 set player's display name to "%player%"
8420 loop all players:
8421 if {skperms::player::%player%::groups::*} is not set:
8422 set loop-player's display name to "%player%"