Guest User

Untitled

a guest
May 22nd, 2018
902
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 429.36 KB | None | 0 0
  1. on load:
  2. set {mineplex.starttime} to now
  3.  
  4. #(Old ugly acci text here)
  5. #
  6. #Mineplex Core Remake
  7. #The best and only Mineplex Copy
  8. #by Josh Roy (WheezyGold7931)
  9. #Enjoy!
  10. script options:
  11. $ use permissions
  12.  
  13. #! MCR Settings
  14.  
  15.  
  16. #! If you want to use MySQL features edit the details below
  17. script options:
  18. $ db url jdbc:mysql://<HOST>:3306/<DATABASE>
  19. $ db username <USERNAME>
  20. $ db password <PASSWORD>
  21.  
  22.  
  23. #! This value can be set to the following:
  24. #! "file": Stores the playerdata into files (Default)
  25. #! "sql": Stores the playerdata into a sql database (Details must be setup above)
  26. options:
  27. mode: file
  28.  
  29. #! These are internal settings, it is not recomended that you mess with them as they WILL mess up the plugin!
  30. options:
  31. MCRVER: 3.1
  32. MCRHOTFIX: 0
  33. configver: shamu
  34. playerdata: 3
  35.  
  36. #! json.sk code DO NOT MESS WITH THIS! !(Rezz ily)!
  37. options:
  38. debug: false
  39. codes: 0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|k|l|m|n|o|r
  40.  
  41. function mcrremoveColor(msg: text) :: text:
  42. set {_m::*} to {_msg} split at ""
  43.  
  44. set {_color-codes} to "{@codes}"
  45. set {_colors::*} to {_color-codes} split at "|"
  46.  
  47. set {_new} to ""
  48.  
  49. loop {_m::*}:
  50. set {_char} to loop-value
  51. set {_prev} to the last character of {_new}
  52.  
  53. if {_prev} is "&":
  54.  
  55. loop {_colors::*}:
  56.  
  57. if loop-value-2 is {_char}:
  58. set {_skip} to true
  59.  
  60. if {_skip} is set:
  61. delete {_skip}
  62.  
  63. else:
  64. set {_new} to "%{_new}%%{_char}%"
  65.  
  66. return {_new}
  67.  
  68. function mcrjsonColorize(msg: text, default-color: text = "&r") :: text:
  69. set {_m::*} to {_msg} split at ""
  70.  
  71. set {_color-codes} to "{@codes}"
  72. set {_colors::*} to {_color-codes} split at "|"
  73.  
  74. set {_color} to colored {_default-color}
  75. set {_code} to the first character of {_color}
  76.  
  77. set {_new} to ""
  78. set {_skip} to 0
  79.  
  80. loop amount of {_m::*} times:
  81.  
  82. if {_skip} is more than or equal to 1:
  83. subtract 1 from {_skip}
  84.  
  85. else:
  86. set {_char} to {_m::%loop-number%}
  87. set {_next} to {_m::%loop-number + 1%}
  88.  
  89. if {@debug} is true:
  90. broadcast "&a[Character Check] &r%loop-number%: &7%{_char}% &r&onext: &8%{_next}% &r[%{_color}%color&r]"
  91.  
  92. if {_char} is "&" or {_code}:
  93.  
  94. if {@debug} is true:
  95. broadcast "&a[Color Check] &rFOUND: &o%{_char}%%{_next}% &7&m<--&7&o is it valid?"
  96.  
  97. loop {_colors::*}:
  98.  
  99. if loop-value-2 is {_next}:
  100. set {_color} to "%{_color}%%{_code}%%{_next}%"
  101.  
  102. if {_next} is "r":
  103. set {_color} to {_default-color}
  104.  
  105. set {_new} to "%{_new}%%{_color}%"
  106. set {_skip} to 1
  107.  
  108. if {_skip} is less than or equal to 0:
  109. set {_new} to "%{_new}%%{_char}%"
  110.  
  111. else if {_char} is " ":
  112. set {_new} to "%{_new}% %{_color}%"
  113.  
  114. else:
  115. set {_new} to "%{_new}%%{_char}%"
  116.  
  117. return {_new}
  118.  
  119. function mcrjsonSanitize(msg: text) :: text:
  120. if {@debug} is true:
  121. broadcast "&a[Sanitize] &7&oSanitizing input..."
  122.  
  123. set {_m::*} to {_msg} split at ""
  124.  
  125. loop {_m::*}:
  126.  
  127. if loop-value is """":
  128. set {_m::%loop-index%} to "\""" # """
  129.  
  130. else if loop-value is "\":
  131. set {_m::%loop-index%} to "\\"
  132.  
  133. set {_new} to join {_m::*} with ""
  134. return {_new}
  135.  
  136. function mcrjsonFormat(msg: text, color: boolean = true) :: text:
  137. set {_m::*} to {_msg} split at "||"
  138.  
  139. set {_current} to 1
  140.  
  141. loop {_m::*}:
  142. if {_clusters::%{_current}%} is not set:
  143. set {_clusters::%{_current}%} to ""
  144.  
  145. if {_clusters::%{_current}%::text} is not set:
  146. set {_clusters::%{_current}%::text} to mcrjsonSanitize(loop-value)
  147.  
  148. else:
  149. set {_tag} to the first 4 characters of loop-value
  150. set {_value} to subtext of loop-value from characters 5 to the length of loop-value
  151.  
  152. if {_tag} is "ttp:":
  153. set {_clusters::%{_current}%::tooltip} to mcrjsonSanitize({_value})
  154.  
  155. else if {_tag} is "cmd:":
  156. set {_clusters::%{_current}%::command} to mcrjsonSanitize({_value})
  157.  
  158. else if {_tag} is "sgt:":
  159. set {_clusters::%{_current}%::suggest} to mcrjsonSanitize({_value})
  160.  
  161. else if {_tag} is "url:":
  162.  
  163. if {_value} doesn't contain "http://" or "https://":
  164. set {_value} to "http://%{_value}%"
  165.  
  166. set {_clusters::%{_current}%::url} to mcrjsonSanitize({_value})
  167.  
  168. else if {_tag} is "ins:":
  169. set {_clusters::%{_current}%::insertion} to mcrjsonSanitize({_value})
  170.  
  171. else:
  172. add 1 to {_current}
  173. set {_clusters::%{_current}%::text} to mcrjsonSanitize(loop-value)
  174. set {_clusters::%{_current}%} to ""
  175.  
  176. if {@debug} is true:
  177. broadcast "&a[Tag Check] &3cluster:&b%{_current}% &8(&f&o%{_tag}%&8)"
  178.  
  179. loop {_clusters::*}:
  180.  
  181. if {@debug} is true:
  182. broadcast "&a[Cluster Check] &7&oCluster ##%loop-index% exists."
  183.  
  184. set {_i} to loop-index
  185.  
  186. set {_text} to {_clusters::%{_i}%::text}
  187.  
  188. if {_color} is true:
  189. set {_text} to mcrjsonColorize({_text})
  190.  
  191. if {_json} is not set:
  192. set {_json} to "{""text"":""%{_text}%"""
  193. else:
  194. set {_json} to "%{_json}%,{""text"":""%{_text}%"""
  195.  
  196. if {_clusters::%{_i}%::tooltip} is set:
  197.  
  198. if {_color} is true:
  199. set {_tooltip} to mcrjsonColorize({_clusters::%{_i}%::tooltip})
  200.  
  201. else:
  202. set {_tooltip} to {_clusters::%{_i}%::tooltip}
  203.  
  204. set {_json} to "%{_json}%,""hoverEvent"":{""action"": ""show_text"",""value"": ""%{_tooltip}%""}"
  205.  
  206. if {_clusters::%{_i}%::insertion} is set:
  207. set {_json} to "%{_json}%,""insertion"":""%{_clusters::%{_i}%::insertion}%"",""obfuscated"":false"
  208.  
  209. if {_clusters::%{_i}%::command} is set:
  210. set {_clickable} to "%{_json}%,""clickEvent"":{""action"":""run_command"",""value"":""%{_clusters::%{_i}%::command}%""}"
  211.  
  212. if {_clusters::%{_i}%::suggest} is set:
  213. set {_clickable} to "%{_json}%,""clickEvent"":{""action"": ""suggest_command"",""value"": ""%{_clusters::%{_i}%::suggest}%""}"
  214.  
  215. if {_clusters::%{_i}%::url} is set:
  216. set {_clickable} to "%{_json}%,""clickEvent"":{""action"": ""open_url"",""value"": ""%{_clusters::%{_i}%::url}%""}"
  217.  
  218. if {_clickable} is set:
  219. set {_json} to "%{_clickable}%}"
  220. delete {_clickable}
  221.  
  222. else:
  223. set {_json} to "%{_json}%}"
  224.  
  225. return "{""text"":"""", ""extra"":[%{_json}%]}"
  226.  
  227. function mcrjson(to: text, msg: text, color: boolean = true):
  228. set {_msg} to mcrjsonFormat({_msg}, {_color})
  229. execute console command "/tellraw %{_to}% %{_msg}%"
  230.  
  231. if {@debug} is true:
  232. set {_player} to {_to} parsed as offline player
  233. if {_player} is online:
  234. send uncolored {_msg} to {_player}
  235.  
  236. function mcrjsonBroadcast(msg: text, color: boolean = true):
  237. mcrjson("@a", {_msg}, {_color})
  238.  
  239. #MCR Code
  240. #MCR Code
  241. #MCR Code
  242. #MCR Code
  243. #MCR Code
  244. #MCR Code
  245. #MCR Code
  246.  
  247. on load: #You cannot trust people to enter the correct thing so lets double check for them :)
  248. if "{@mode}" is "file":
  249. set {mineplex.mode} to "file"
  250. send "§9MCR> §eMCR has been set to store playerdata into files!" to the console
  251. else if "{@mode}" is "sql":
  252. set {mineplex.mode} to "sql"
  253. send "§9MCR> §eMCR has been set to store playerdata into SQL!" to the console
  254. send "§9MCR> §eThey better have setup the database correctly" to the console
  255. else:
  256. set {mineplex.mode} to "file"
  257. send "§9MCR> §eMCR has been set to store playerdata into files!" to the console
  258.  
  259. on load:
  260. if {mineplex.mode} is "sql":
  261. 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;"
  262. 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;"
  263.  
  264. function parseRank(p: player , r: text) :: string:
  265. set {_uuid} to uuid of {_p}
  266. if {mineplex.mode} is "file":
  267. set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  268. if {mineplex.mode} is "sql":
  269. set {_get} to first element out of objects in column "rank" from result of query "SELECT rank FROM `accounts` WHERE uuid = '%uuid of {_p}%'"
  270. if {_get} is "All":
  271. set {mineplex.rank.%{_p}%} to ""
  272. return "&fPlayer"
  273. if {_get} is "Ultra":
  274. set {mineplex.rank.%{_p}%} to "&b&lULTRA "
  275. return "&bUltra"
  276. if {_get} is "Hero":
  277. set {mineplex.rank.%{_p}%} to "&d&lHERO "
  278. return "&dHero"
  279. if {_get} is "Legend":
  280. set {mineplex.rank.%{_p}%} to "&a&lLEGEND "
  281. return "&aLegend"
  282. if {_get} is "Titan":
  283. set {mineplex.rank.%{_p}%} to "&c&lTITAN "
  284. return "&cTitan"
  285. if {_get} is "Trainee":
  286. set {mineplex.rank.%{_p}%} to "&6&lTRAINEE "
  287. return "&6Trainee"
  288. if {_get} is "Mod":
  289. set {mineplex.rank.%{_p}%} to "&6&lMOD "
  290. return "&6Mod"
  291. if {_get} is "SrMod":
  292. set {mineplex.rank.%{_p}%} to "&6&lSR.MOD "
  293. return "&6Sr.Mod"
  294. if {_get} is "CMod":
  295. set {mineplex.rank.%{_p}%} to "&6&lC.MOD "
  296. return "&6C.Mod"
  297. if {_get} is "Admin":
  298. set {mineplex.rank.%{_p}%} to "&4&lADMIN "
  299. return "&4Admin"
  300. if {_get} is "Apex":
  301. set {mineplex.rank.%{_p}%} to "&9&lAPEX "
  302. return "&9Apex"
  303. if {_get} is "Leader":
  304. set {mineplex.rank.%{_p}%} to "&4&lLEADER "
  305. return "&4Leader"
  306. if {_get} is "Owner":
  307. set {mineplex.rank.%{_p}%} to "&4&lOWNER "
  308. return "&4Owner"
  309. if {_get} is "Builder":
  310. set {mineplex.rank.%{_p}%} to "&9&lBUILDER "
  311. return "&9Builder"
  312. if {_get} is "Maplead":
  313. set {mineplex.rank.%{_p}%} to "&9&lMAPLEAD "
  314. return "&9Maplead"
  315. if {_get} is "Mapper":
  316. set {mineplex.rank.%{_p}%} to "&9&lMAPPER "
  317. return "&9Mapper"
  318. if {_get} is "JrDev":
  319. set {mineplex.rank.%{_p}%} to "&6&lJR.DEV "
  320. return "&6Jr.Dev"
  321. if {_get} is "Dev":
  322. set {mineplex.rank.%{_p}%} to "&4&lDEV "
  323. return "&4Dev"
  324. if {_get} is "Twitch":
  325. set {mineplex.rank.%{_p}%} to "&5&lTWITCH "
  326. return "&5Twitch"
  327. if {_get} is "Youtube":
  328. set {mineplex.rank.%{_p}%} to "&c&lYOUTUBE "
  329. return "&cYouTube"
  330. if {_get} is "Event":
  331. set {mineplex.rank.%{_p}%} to "&f&lEVENT "
  332. return "&fEvent"
  333. if {_get} is "Yt":
  334. set {mineplex.rank.%{_p}%} to "&5&lYT "
  335. return "&5YT"
  336. if {_get} is "Eternal":
  337. set {mineplex.rank.%{_p}%} to "&3&lETERNAL "
  338. return "&3Eternal"
  339. if {_get} is "Support":
  340. set {mineplex.rank.%{_p}%} to "&9&lSUPPORT "
  341. return "&9Support"
  342. if {_get} is "Artist":
  343. set {mineplex.rank.%{_p}%} to "&9&lARTIST "
  344. return "&9Artist"
  345.  
  346. function parseRankRaw(r: text) :: string:
  347. set {_get} to {_r}
  348. if {_get} is "All":
  349. set {_rank} to ""
  350. if {_get} is "Ultra":
  351. set {_rank} to "&b&lULTRA "
  352. if {_get} is "Hero":
  353. set {_rank} to "&d&lHERO "
  354. if {_get} is "Legend":
  355. set {_rank} to "&a&lLEGEND "
  356. if {_get} is "Titan":
  357. set {_rank} to "&c&lTITAN "
  358. if {_get} is "Trainee":
  359. set {_rank} to "&6&lTRAINEE "
  360. if {_get} is "Mod":
  361. set {_rank} to "&6&lMOD "
  362. if {_get} is "SrMod":
  363. set {_rank} to "&6&lSR.MOD "
  364. if {_get} is "CMod":
  365. set {_rank} to "&6&lC.MOD "
  366. if {_get} is "Admin":
  367. set {_rank} to "&4&lADMIN "
  368. if {_get} is "Apex":
  369. set {_rank} to "&9&lAPEX "
  370. if {_get} is "Leader":
  371. set {_rank} to "&4&lLEADER "
  372. if {_get} is "Owner":
  373. set {_rank} to "&4&lOWNER "
  374. if {_get} is "Builder":
  375. set {_rank} to "&9&lBUILDER "
  376. if {_get} is "Maplead":
  377. set {_rank} to "&9&lMAPLEAD "
  378. if {_get} is "Mapper":
  379. set {_rank} to "&9&lMAPPER "
  380. if {_get} is "JrDev":
  381. set {_rank} to "&6&lJR.DEV "
  382. if {_get} is "Dev":
  383. set {_rank} to "&4&lDEV "
  384. if {_get} is "Twitch":
  385. set {_rank} to "&5&lTWITCH "
  386. if {_get} is "Youtube":
  387. set {_rank} to "&c&lYOUTUBE "
  388. if {_get} is "Event":
  389. set {_rank} to "&f&lEVENT "
  390. if {_get} is "Yt":
  391. set {_rank} to "&5&lYT "
  392. if {_get} is "Eternal":
  393. set {_rank} to "&3&lETERNAL "
  394. if {_get} is "Support":
  395. set {_rank} to "&9&lSUPPORT "
  396. if {_get} is "Artist":
  397. set {_rank} to "&9&lARTIST "
  398. if {_rank} is set:
  399. return {_rank}
  400. else:
  401. return "null"
  402.  
  403. function playerdata(p: offline player) :: boolean:
  404. set {_uuid} to uuid of {_p}
  405. if {mineplex.mode} is "file":
  406. if file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml" doesn't exists:
  407. create file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  408. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  409. set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  410. set "rank" to "All" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  411. set "level" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  412. set "gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  413. set "shards" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  414. set "banned" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  415. set "muted" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  416. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  417. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  418. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  419. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  420. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  421. else:
  422. set {_ver} to value "version" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  423. if {_ver} is not "{@playerdata}":
  424. if {_ver} is "1":
  425. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  426. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  427. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  428. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  429. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  430. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  431. send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
  432. if {_ver} is "2":
  433. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  434. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  435. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  436. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  437. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  438. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  439. send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
  440. set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  441. set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  442. parseRank({_p}, "LOL")
  443. set {_lvl} to value "level" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  444. execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
  445. set {_sh} to value "shards" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  446. set {mineplex.shards.%{_p}%} to {_sh} parsed as an number
  447. set {_ge} to value "gems" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  448. set {mineplex.gems.%{_p}%} to {_ge} parsed as an number
  449. set {_ban} to value "banned" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  450. if {_ban} is "yes":
  451. set {banned::%{_p}%} to true
  452. else:
  453. set {banned::%{_p}%} to false
  454. set {_mute} to value "muted" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  455. if {_mute} is "yes":
  456. set {muted::%{_p}%} to true
  457. else:
  458. set {muted::%{_p}%} to false
  459. else if {mineplex.mode} is "sql":
  460. set {_getuuid} to first element out of objects in column "uuid" from result of query "SELECT uuid FROM `accounts` WHERE uuid = '%{_uuid}%'"
  461. if {_getuuid} is not set:
  462. update "INSERT INTO `accounts` (`uuid`, `name`) VALUES ('%{_uuid}%', '%{_p}%')"
  463. parseRank({_p}, "LOL")
  464. set {_lvl} to first element out of objects in column "level" from result of query "SELECT level FROM `accounts` WHERE uuid = '%{_uuid}%'"
  465. execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
  466. set {_sh} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  467. set {mineplex.shards.%{_p}%} to {_sh}
  468. set {_ge} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  469. set {mineplex.gems.%{_p}%} to {_ge}
  470. set {_ban} to first element out of objects in column "banned" from result of query "SELECT banned FROM `accounts` WHERE uuid = '%{_uuid}%'"
  471. if {_ban} is "yes":
  472. set {banned::%{_p}%} to true
  473. else:
  474. set {banned::%{_p}%} to false
  475. set {_mute} to first element out of objects in column "muted" from result of query "SELECT muted FROM `accounts` WHERE uuid = '%{_uuid}%'"
  476. if {_mute} is "yes":
  477. set {muted::%{_p}%} to true
  478. else:
  479. set {muted::%{_p}%} to false
  480.  
  481. function getPlayerdata(p: offline player , f: text) :: string:
  482. set {_uuid} to uuid of {_p}
  483. if {mineplex.mode} is "file":
  484. set {_get} to value "%{_f}%" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  485. return {_get}
  486. else if {mineplex.mode} is "sql":
  487. set {_get} to first element out of objects in column "%{_f}%" from result of query "SELECT %{_f}% FROM `accounts` WHERE uuid = '%{_uuid}%'"
  488. return {_get}
  489.  
  490. function setPlayerdata(p: offline player , f: text , v: text) :: boolean:
  491. set {_uuid} to uuid of {_p}
  492. if {mineplex.mode} is "file":
  493. set "%{_f}%" to "%{_v}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  494. return true
  495. playerdata({_p})
  496. else if {mineplex.mode} is "sql":
  497. if {_f} starts with "stats":
  498. stop
  499. update "UPDATE `accounts` SET `%{_f}%` = '%{_v}%' WHERE uuid = '%{_uuid}%'"
  500. return true
  501. set {_s} to getPlayerdata({_p}, "shards")
  502. set {_g} to getPlayerdata({_p}, "gems")
  503. broadcast "shard: %{_s}% -gem: %{_g}%"
  504. playerdata({_p})
  505.  
  506. function addShards(p: offline player , a: number) :: boolean:
  507. set {_uuid} to uuid of {_p}
  508. if {mineplex.mode} is "file":
  509. set {_get} to getPlayerdata({_p}, "shards")
  510. set {_cur} to {_get} parsed as a number
  511. add {_a} to {_cur}
  512. setPlayerdata({_p}, "shards", "%{_cur}%")
  513. else if {mineplex.mode} is "sql":
  514. set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  515. add {_a} to {_get}
  516. setPlayerdata({_p}, "shards", "%{_get}%")
  517.  
  518. function delShards(p: offline player , a: number) :: boolean:
  519. set {_uuid} to uuid of {_p}
  520. if {mineplex.mode} is "file":
  521. set {_get} to getPlayerdata({_p}, "shards")
  522. set {_cur} to {_get} parsed as a number
  523. remove {_a} from {_cur}
  524. setPlayerdata({_p}, "shards", "%{_cur}%")
  525. else if {mineplex.mode} is "sql":
  526. set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  527. remove {_a} from {_get}
  528. setPlayerdata({_p}, "shards", "%{_get}%")
  529.  
  530. function addGems(p: offline player , a: number) :: boolean:
  531. set {_uuid} to uuid of {_p}
  532. if {mineplex.mode} is "file":
  533. set {_get} to getPlayerdata({_p}, "gems")
  534. set {_cur} to {_get} parsed as a number
  535. add {_a} to {_cur}
  536. setPlayerdata({_p}, "gems", "%{_cur}%")
  537. else if {mineplex.mode} is "sql":
  538. set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  539. add {_a} to {_get}
  540. setPlayerdata({_p}, "gems", "%{_get}%")
  541.  
  542. function delGems(p: offline player , a: number) :: boolean:
  543. set {_uuid} to uuid of {_p}
  544. if {mineplex.mode} is "file":
  545. set {_get} to getPlayerdata({_p}, "gems")
  546. set {_cur} to {_get} parsed as a number
  547. remove {_a} from {_cur}
  548. setPlayerdata({_p}, "gems", "%{_cur}%")
  549. else if {mineplex.mode} is "sql":
  550. set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  551. remove {_a} from {_get}
  552. setPlayerdata({_p}, "gems", "%{_get}%")
  553.  
  554. function firework(l: location, t: string, r: integer, g: integer, b: integer, p: boolean) :: string:
  555. if {_p} is true:
  556. set {_p} to 1
  557. else:
  558. set {_p} to 20
  559. if {_t} is not "BALL" or "LARGE BALL" or "BALL_LARGE" or "STAR" or "CREEPER" or "BURST":
  560. message "&8[&3Firework&bAPI&8] &4Error: &c%{_t}% &7is not a valid firework type." to all players
  561. stop
  562. if {_r} or {_g} or {_b} > 255:
  563. message "&8[&3Firework&bAPI&8] &4Error: &cUnallowed Value (>255)" to all players
  564. stop
  565. if {_t} is "BALL":
  566. set {_t} to 0
  567. else if {_t} is "LARGE BALL" or "BALL_LARGE":
  568. set {_t} to 1
  569. else if {_t} is "STAR":
  570. set {_t} to 2
  571. else if {_t} is "CREEPER":
  572. set {_t} to 3
  573. else if {_t} is "BURST":
  574. set {_t} to 4
  575. #RGB CONVERT
  576. set {_c1} to convert num {_r} to hexa
  577. set {_c2} to convert num {_g} to hexa
  578. set {_c3} to convert num {_b} to hexa
  579. loop 3 times:
  580. set {_cL} to length of {_c%loop-value%}
  581. if {_cL} < 2:
  582. set {_c%loop-value%} to "0%{_c%loop-value%}%"
  583. set {_color} to convert hexa "%{_c1}%%{_c2}%%{_c3}%" to num
  584. spawn a firework at {_l}
  585. add "{Silent:1b,FireworksItem:{id:fireworks,Count:1,tag:{Fireworks:{Explosions:[{Type:%{_t}%,Colors:[%{_color}%],FadeColors:[%{_color}%]}]}}}}" to nbt of spawned entity
  586. add "{LifeTime:%{_p}%}" to nbt of spawned entity
  587.  
  588. on quit:
  589. delete {mineplex.rank.%player%}
  590. delete {mineplex.level.%player%}
  591. delete {mineplex.gems.%player%}
  592. delete {mineplex.shards.%player%}
  593. delete {banned::%player%}
  594. delete {muted::%player%}
  595.  
  596. on connect:
  597. set {_uuid} to uuid of {_p}
  598. playerdata(player)
  599. send "§9MCR> §e%player% (%uuid of player%) has been loaded from playerdata!" to the console
  600.  
  601. function Beam(e1: entity , e2: entity):
  602. spawn a squid at location 0 meter behind {_e1}'s head
  603. set {_el} to last spawned entity
  604. set target of {_el} to {_e2}
  605. apply invisibility to the last spawned entity
  606. add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1, NoAI:1}" to nbt of last spawned entity
  607. set {_targLoc} to location of {_e2}
  608.  
  609. loop 100 times:
  610. teleport {_el} to location 0 meter behind {_e1}'s head
  611. set target of {_el} to {_e2}
  612. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_el}
  613. if {_e2}'s name is "BeamCow":
  614. teleport {_e2} to {_targLoc}
  615. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_e2}
  616. wait 1 tick
  617.  
  618. create a safe explosion with force 2 at {_e1}
  619. loop entities in radius 3 of {_e2}:
  620. make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_e2}))
  621. teleport {_el} 300 meters below {_el}
  622. teleport {_e2} 300 meters below {_e2}
  623. kill {_el}
  624. kill {_e2}
  625.  
  626. function ClientBeam(e1: entity , e3: entity , e2: entity):
  627. spawn a cow at location of {_e2}
  628. set {_c} to last spawned entity
  629. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  630. spawn a guardian at location 1 meter behind {_e1}'s head
  631. set {_el} to last spawned entity
  632. set target of {_el} to {_e2}
  633. loop all players:
  634. protocol hide {_e1} from loop-player
  635. protocol hide {_e2} from loop-player
  636. protocol show {_e1} to {_e3}
  637. protocol show {_e2} to {_e3}
  638. apply invisibility to {_c}
  639. apply invisibility to the last spawned entity
  640. add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  641. set {_targLoc} to location of {_e2}
  642.  
  643. loop 100 times:
  644. teleport {_el} to location 1 meter behind {_e1}'s head
  645. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_el}
  646. if {_e2}'s name is "BeamCow":
  647. teleport {_e2} to {_targLoc}
  648. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_e2}
  649. wait 1 tick
  650.  
  651. create a safe explosion with force 2 at {_e2}
  652. loop entities in radius 3 of {_c}:
  653. make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_c}))
  654. teleport {_el} 300 meters below {_el}
  655. teleport {_e2} 300 meters below {_e2}
  656. kill {_el}
  657. kill {_c}
  658.  
  659. function configRefresh(n: number) :: number:
  660. set {mineplex.config.config} to value "config" get of "plugins/Mineplex-Core-Remake/config.yml"
  661. set {mineplex.config.servername} to value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
  662. set {mineplex.config.website} to value "website" get of "plugins/Mineplex-Core-Remake/config.yml"
  663. set {mineplex.config.appealwebsite} to value "appealwebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
  664. set {mineplex.config.ruleswebsite} to value "ruleswebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
  665. set {mineplex.config.youtube} to value "youtube" get of "plugins/Mineplex-Core-Remake/config.yml"
  666. set {mineplex.config.twitter} to value "twitter" get of "plugins/Mineplex-Core-Remake/config.yml"
  667. set {mineplex.config.shoplink} to value "shoplink" get of "plugins/Mineplex-Core-Remake/config.yml"
  668. set {mineplex.config.world} to value "worldname" get of "plugins/Mineplex-Core-Remake/config.yml"
  669. set {mineplex.config.doublejump} to value "doublejump" get of "plugins/Mineplex-Core-Remake/config.yml"
  670. set {mineplex.config.autoop} to value "autoop" get of "plugins/Mineplex-Core-Remake/config.yml"
  671. set {mineplex.config.unbanadmin} to value "unbanadmin" get of "plugins/Mineplex-Core-Remake/config.yml"
  672.  
  673. function configPopulate(n: number) :: number:
  674. create file "plugins/Mineplex-Core-Remake/config.yml"
  675. set "config" to "{@configver}" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  676. set "servername" to "Mineplex" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  677. set "website" to "www.mineplex.com" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  678. set "appealwebsite" to "www.mineplex.com/appeals" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  679. set "ruleswebsite" to "www.mineplex.com/rules" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  680. set "youtube" to "http://youtube.com/mineplexgamesofficial" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  681. set "twitter" to "http://twitter.com/mineplex" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  682. set "shoplink" to "www.mineplex.com/shop" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  683. set "worldname" to "world" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  684. set "doublejump" to "true" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  685. set "autoop" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  686. set "unbanadmin" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  687.  
  688. function updateRankAPI(p: player) :: player:
  689. wait 5 ticks
  690. if {mineplex.rank.%{_p}%} is not set:
  691. set {mineplex.rank.%{_p}%} to ""
  692. if {mineplex.disguise.%{_p}%} is set:
  693. set {_br} to uncolored {mineplex.rank.%{_p}%}
  694. set {_dr} to uncolored {mineplex.rank.%{mineplex.disguise.%{_p}%}%}
  695. if {mineplex.rank.%{mineplex.disguise.%{_p}%}%} is set:
  696. make all players see {_p}'s prefix as "%{mineplex.rank.%{mineplex.disguise.%{_p}%}%}%&r&e"
  697. else:
  698. make all players see {_p}'s prefix as "&e"
  699. set {_br} to convert string "%{_br}%" to lowercase
  700. set {_br} to 1st char in each word of "%{_br}%" to caps
  701. set {_dr} to convert string "%{_dr}%" to lowercase
  702. set {_dr} to 1st char in each word of "%{_dr}%" to caps
  703. replace all " " in {_br} with ""
  704. replace all " " in {_dr} with ""
  705. if {_dr} is "":
  706. set {_dr} to "No Rank"
  707. if {_br} contains "mod":
  708. replace all "mod" with "Mod" in {_br}
  709. if {_dr} contains "mod":
  710. replace all "mod" with "Mod" in {_dr}
  711. if {_br} contains "dev":
  712. replace all "dev" with "Dev" in {_br}
  713. if {_dr} contains "dev":
  714. replace all "dev" with "Dev" in {_dr}
  715. if {_dr} contains "lead":
  716. replace all "lead" with "Lead" in {_dr}
  717. if {_br} contains "lead":
  718. replace all "lead" with "Lead" in {_br}
  719. if {_br} is "":
  720. set {_br} to "No Rank"
  721. if {_br} contains "mod":
  722. replace all "mod" with "Mod" in {_br}
  723. if {_br} contains "dev":
  724. replace all "dev" with "Dev" in {_br}
  725. if {_br} contains "mod":
  726. replace all "mod" with "Mod" in {_br}
  727. if {_br} contains "tube":
  728. replace all "tube" with "Tube" in {_br}
  729. loop {mineplex.patreon::*}:
  730. if loop-value is "%{_p}%":
  731. set {_br} to "P.%{_br}%"
  732. set {mineplex.api.displayrank.%{_p}%} to "%{_dr}% (%{_br}%)"
  733. set {mineplex.api.displayname.%{_p}%} to "%{mineplex.disguise.%{_p}%}%"
  734. set {mineplex.sb.anim.%{_p}%} to " Welcome %{mineplex.api.displayname.%{_p}%}%, to the %{mineplex.config.servername}% Network! "
  735. else:
  736. set {_br} to uncolored {mineplex.rank.%{_p}%}
  737. if {mineplex.rank.%{_p}%} is set:
  738. make all players see {_p}'s prefix as "%{mineplex.rank.%{_p}%}%&r&e"
  739. else:
  740. make all players see {_p}'s prefix as "&e"
  741. set {_br} to convert string "%{_br}%" to lowercase
  742. set {_br} to 1st char in each word of "%{_br}%" to caps
  743. if {_br} is "":
  744. set {_br} to "No Rank"
  745. if {_br} contains "mod":
  746. replace all "mod" with "Mod" in {_br}
  747. if {_br} contains "dev":
  748. replace all "dev" with "Dev" in {_br}
  749. if {_br} contains "mod":
  750. replace all "mod" with "Mod" in {_br}
  751. if {_br} contains "tube":
  752. replace all "tube" with "Tube" in {_br}
  753. if {_br} contains "lead":
  754. replace all "lead" with "Lead" in {_br}
  755. if {_br} contains "dev":
  756. replace all "dev" with "Dev" in {_br}
  757. loop {mineplex.patreon::*}:
  758. if loop-value is "%{_p}%":
  759. set {_br} to "P.%{_br}%"
  760. set {mineplex.api.displayrank.%{_p}%} to "%{_br}%"
  761. set {mineplex.api.displayname.%{_p}%} to "%{_p}%"
  762. set {mineplex.sb.anim.%{_p}%} to " Welcome %{mineplex.api.displayname.%{_p}%}%, to the %{mineplex.config.servername}% Network! "
  763.  
  764. function mcs(p: player , m: text) :: number:
  765. if {mineplex.overridechat} is true:
  766. if {mineplex.disguise.%{_p}%} is set:
  767. set {_player} to {mineplex.disguise.%{_p}%}
  768. else:
  769. set {_player} to {_p}
  770. set {_prerank} to getPlayerdata({_player}, "rank")
  771. set {_rank} to parseRankRaw({_prerank})
  772. if {_rank} is not set:
  773. set {_rank} to ""
  774. if {_rank} is "null":
  775. set {_rank} to ""
  776. if {mineplex.level.%{_player}%} is not set:
  777. set {mineplex.level.%{_player}%} to "&70"
  778. replace all " fuck " with " **** " in {_m}
  779. replace all " bitch " with " ***** " in {_m}
  780. replace all " ass " with " *** " in {_m}
  781. replace all " nigger " with " *** " in {_m}
  782. replace all " cunt " with " *** " in {_m}
  783. replace all " f|_|ck " with " ****** " in {_m}
  784. replace all " shit " with " **** " in {_m}
  785. if {_m} is {mineplex.lastsent.%{_p}%}:
  786. if {_p} does not have permission "mineplex.mod":
  787. send "&9Chat> &7This message is too similar to your previous message." to {_p}
  788. return -1
  789. stop
  790. if {mineplex.authlock.%{_p}%} is true:
  791. return -1
  792. stop
  793. set {mineplex.lastsent.%{_p}%} to {_m}
  794. loop all players:
  795. if {mineplex.pref.pc.%loop-player%} is true:
  796. if {mineplex.rank.%{_player}%} is set:
  797. set {_lvl} to {mineplex.level.%{_player}%}
  798. if {_player} is "WheezyGold7931":
  799. set {_lvl} to "&c101"
  800. loop {mineplex.ignorelist.%loop-player%::*}:
  801. if loop-value-2 is "%{_player}%":
  802. set {_ignore.%loop-player-1%} to true
  803. if {_ignore.%loop-player-1%} is not set:
  804. if {mineplex.rank.%{_player}%} is not "":
  805. set {_sanitizedm} to uncolored {_m}
  806. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  807. if loop-value-2 is {_player}:
  808. set {_brank} to uncolored {mineplex.rank.%{_player}%}
  809. set {_rank} to "&6&lP.%{_brank}%"
  810. else:
  811. set {_rank} to {mineplex.rank.%{_player}%}
  812. mcrjson("%loop-player%", "%{_lvl}%|| %{_rank}%||ttp:%{mineplex.hover.%{_player}%}%||&e%{_player}% &f%{_sanitizedm}%", false)
  813. else:
  814. send "%{_lvl}% %{mineplex.rank.%{_player}%}%&e%{_player}% &f%{_m}%" to loop-player
  815. return -1
  816. else:
  817. stop
  818.  
  819. function caseSensitive(source: String, compareTo: String) :: boolean:
  820. if size of split {_source} at {_compareTo} is 2:
  821. return true
  822. else: #Hi Snow
  823. return false
  824.  
  825. function gwenAlert(p: player , r: text) :: number:
  826. if {mineplex.disguise.%{_p}%} is set:
  827. set {_player} to {mineplex.disguise.%{_p}%}
  828. else:
  829. set {_player} to {_p}
  830. loop all players:
  831. if loop-player has permission "mineplex.trainee":
  832. if {mineplex.pref.gwen.%loop-player%} is true:
  833. send "&b&kK&r &c&lGWEN > &6%{_player}% &esuspected of &a%{_r}%&e." to loop-player
  834.  
  835. #Config Loading
  836.  
  837. on script unload:
  838. broadcast "&9MCR> &7Mineplex Core is re-parsing!"
  839.  
  840. on load:
  841. if file "plugins/Mineplex-Core-Remake/config.yml" doesn't exists:
  842. configPopulate(1)
  843. # set {mineplex.config.servername} to colored value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
  844. configRefresh(1)
  845. wait 1 second
  846. if {mineplex.config.config} is "{@configver}":
  847. broadcast "&9MCR> &7Config &e{@configver} &7is up to date!"
  848. else:
  849. broadcast "&9Mineplex Core> &7Your Config is not up to Date! Updating this shit for you!"
  850. configPopulate(1)
  851. broadcast "&9Mineplex Core> &7Config Re-Populated!"
  852. broadcast "&9Mineplex Core> &7Going to reload plugin now!"
  853. broadcast "&9Mineplex Core> &7Going to reload plugin now!"
  854. wait 1 second
  855. configRefresh(1)
  856. broadcast "&9Mineplex Core> &7Config Done!"
  857. if {mineplex.usescoreboard} is not set:
  858. set {mineplex.usescoreboard} to true
  859.  
  860. #Main Command/Toggles
  861. command /mineplex-core [<string>] [<string>] [<string>]:
  862. aliases: /mpcore
  863. permission: op
  864. permission message: &9Permissions> &7You do not have permission to do that.
  865. trigger:
  866. if arg-1 is not set:
  867. send "&a"
  868. send "&9Core Settings> &7Listing Commands:"
  869. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  870. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  871. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  872. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  873. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  874. 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"
  875. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  876. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  877. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  878. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  879. send "&a"
  880. else if arg-1 is set:
  881. if arg-1 is "help":
  882. send "&a"
  883. send "&9Core Settings> &7Listing Commands:"
  884. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  885. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  886. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  887. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  888. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  889. 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"
  890. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  891. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  892. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  893. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  894. send "&a"
  895. else if arg-1 is "Chat":
  896. if arg-2 is not set:
  897. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  898. else if arg-2 is set:
  899. if arg-2 is "true":
  900. set {mineplex.overridechat} to true
  901. send "&9Core Settings> &7Now using the Mineplex Chat System (MCS)."
  902. else if arg-2 is "false":
  903. set {mineplex.overridechat} to false
  904. send "&9Core Settings> &7No longer using the Mineplex Chat System (MCS)."
  905. else:
  906. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  907. else:
  908. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  909. else if arg-1 is "Scoreboard":
  910. if arg-2 is not set:
  911. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  912. else if arg-2 is set:
  913. if arg-2 is "true":
  914. set {mineplex.usescoreboard} to true
  915. send "&9Core Settings> &7Now using the Mineplex Scoreboard System."
  916. else if arg-2 is "false":
  917. set {mineplex.usescoreboard} to false
  918. send "&9Core Settings> &7No longer using the Mineplex Scoreboard System."
  919. else:
  920. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  921. else:
  922. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  923. else if arg-1 is "ForcefieldOff":
  924. if arg-2 is not set:
  925. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  926. else:
  927. delete {mineplex.pref.ff.%arg-2%}
  928. delete {mineplex.ff.list::%arg-2%}
  929. send "&9MCR> &7Done!"
  930. else if arg-1 is "News":
  931. if arg-2 is not set:
  932. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  933. else if arg-2 is set:
  934. if arg-2 is "true":
  935. set {mineplex.news.allow} to true
  936. send "&9Core Settings> &7Now using the Mineplex News System."
  937. else if arg-2 is "false":
  938. set {mineplex.news.allow} to false
  939. send "&9Core Settings> &7No longer using the Mineplex News System."
  940. else:
  941. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  942. else:
  943. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  944. else if arg-1 is "TNT":
  945. if arg-2 is not set:
  946. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  947. else if arg-2 is set:
  948. if arg-2 is "true":
  949. set {mineplex.tntlauncher} to true
  950. send "&9Core Settings> &7Now using the Throwing TNT Mechanics."
  951. else if arg-2 is "false":
  952. set {mineplex.tntlauncher} to false
  953. send "&9Core Settings> &7No longer using the Throwing TNT Mechanics."
  954. else:
  955. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  956. else:
  957. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  958. else if arg-1 is "purgehistory":
  959. if arg 2 is not set:
  960. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  961. else:
  962. send "&9MCR> &7Purged %arg-2%'s history"
  963. delete {p.%arg-2%::*}
  964. delete {punishgui.%arg-2%::*}
  965. delete {reversed.p.%arg-2%::history::*}
  966. delete {reversed.p.%arg-2%::*}
  967. else if arg-1 is "reload":
  968. configRefresh(1)
  969. send "&9Core Settings> &7The main configuration file has been refreshed."
  970. else if arg-1 is "Carl":
  971. spawn 1 creeper at location of player
  972. set {_carl} to spawned creeper
  973. set name of last spawned entity to "&a&lCarl the Creeper"
  974. add "{NoAI:1b}" to nbt of {_carl}
  975. add "{powered:1}" to nbt of {_carl}
  976. apply slowness 255 to last spawned entity for 999 days
  977. set {kitnpc} to location of player
  978. send "&9Core Settings> &7Carl has been spawned in a fixed position at your current location."
  979. else if arg-1 is "admin":
  980. if arg-2 is set:
  981. set {mineplex.rank.%arg-2%} to "&4&lADMIN "
  982. set {_mineplex.setadmin.temp} to arg-2 parsed as player
  983. execute console command "/__mp__dp__ %arg-2%"
  984. add "mineplex.trainee" to {_mineplex.setadmin.temp}'s permissions
  985. add "mineplex.mod" to {_mineplex.setadmin.temp}'s permissions
  986. add "mineplex.srmod" to {_mineplex.setadmin.temp}'s permissions
  987. add "mineplex.admin" to {_mineplex.setadmin.temp}'s permissions
  988. add "mineplex.legend" to {_mineplex.setadmin.temp}'s permissions
  989. add "mineplex.builder" to {_mineplex.setadmin.temp}'s permissions
  990. updateRankAPI({_mineplex.setadmin.temp})
  991. send "&9Core Settings> &7Temporarily added Admin permissions to %arg-2%."
  992. else:
  993. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  994. else if arg-1 is "TreasurePoint":
  995. if arg-2 is "1" or "2" or "3" or "4":
  996. set {mineplex.chestpoint.%arg-2%} to target block
  997. send "&9Core Settings> &7Treasure Point %arg-2% has been set to your targeted block."
  998. else:
  999. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  1000. else if arg-1 is "TreasurePointSub":
  1001. if arg-2 is "1" or "2" or "3" or "4":
  1002. if arg-3 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8":
  1003. set {mineplex.chestpoint.%arg-2%.sub.%arg-3%} to target block
  1004. send "&9Core Settings> &7Treasure Point Sub %arg-3% of Treasure Point %arg-2% has been set to your targeted block."
  1005. else:
  1006. 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"
  1007. else:
  1008. 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"
  1009. else:
  1010. send "&a"
  1011. send "&9Core Settings> &7Listing Commands:"
  1012. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  1013. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  1014. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  1015. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  1016. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  1017. 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"
  1018. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  1019. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  1020. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  1021. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  1022. send "&a"
  1023.  
  1024. command /help [<string>]:
  1025. aliases: /pleasehelpmeiamgoingtoexplode, /?
  1026. trigger:
  1027. send "&9Help> &7Hi there! Need some help?"
  1028. mcrjson("%player%", "&9> &7Check out ||&eour FAQ for commonly asked questions||ttp:&eClick to visit our FAQ page!||url:%{mineplex.config.website}%/faq")
  1029. mcrjson("%player%", "&9> &7Read ||&eour rules to avoid being punished!||ttp:&eClick to visit our rules page!||url:%{mineplex.config.website}%/rules")
  1030. 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!")
  1031. 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!")
  1032. 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}%")
  1033. 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!")
  1034.  
  1035. command /recompile [<string>]:
  1036. aliases: /rec
  1037. permission: op
  1038. permission message: &9Permissions> &7You do not have permission to do that.
  1039. trigger:
  1040. if arg 1 is not set:
  1041. broadcast "&9MCR> &7Mineplex Core &e{@MCRVER} &7will be re-parsing in two seconds."
  1042. wait 2 second
  1043. player command "/sk reload Mineplex"
  1044. else:
  1045. if arg 1 is "-s":
  1046. broadcast "&9MCR> &7Mineplex Core will be re-parsing in two seconds. (Silent)"
  1047. execute console command "/sk reload Mineplex"
  1048.  
  1049. #Thanks XeXRainnn
  1050.  
  1051. on quit:
  1052. delete {mineplex.%player%.notice}
  1053.  
  1054. command /bugreport [<string>]:
  1055. trigger:
  1056. if arg 1 is not set:
  1057. send "&9MCR> &7Commands List:"
  1058. send "&f/bugreport <bug> &7Reports a bug to the MCR Developers &fPlayer"
  1059. else:
  1060. if {mineplex.%player%.notice} is not set:
  1061. send "&9MCR> &7Abuse of this system will result in a blacklist of this feature! If you are sure about reporting this, repeat the command."
  1062. set {mineplex.%player%.notice} to true
  1063. stop
  1064. set {_pl} to "%list of plugins%"
  1065. replace all " and " with ",+" in {_pl}
  1066. replace all " " with "" in {_pl}
  1067. replace all ", " with ",++" in {_pl}
  1068. set {_ra} to arg-1
  1069. replace all "`" with "" in {_ra}
  1070. replace all "*" with "" in {_ra}
  1071. replace all " " with "%%20" in {_ra}
  1072. set {_mc} to minecraft version
  1073. set {_sk} to skript version
  1074. set {_bk} to bukkit version
  1075. set {_mcr} to "{@MCRVER}"
  1076. set {_url} to uncolored "http://mpcore.us/mcr/bugreport.php?plugins=%{_pl}%&&rmcver=%{_mc}%&&rskver=%{_sk}%&&rbukkit=%{_bk}%&&rplayer=%player%&&rbug=%{_ra}%&&rmcrver=%{_mcr}%"
  1077. $ thread
  1078. set {_response::*} to contents from url {_url}
  1079. send "&9MCR> &7Please Wait!"
  1080. wait 5 seconds
  1081. if {_response::1} is "600":
  1082. send "&9MCR> &7Bug Report was &eSuccessful&7!"
  1083. else if {_response::1} contains "602":
  1084. set {_thing} to {_response::1}
  1085. replace all "602 " with "" in {_thing}
  1086. send "&9MCR> &7Bug Report was marked as &eInvalid&7!"
  1087. send "&9MCR> &7Bug Report returned the error: &e%{_thing}%&7!"
  1088. else if {_response::1} contains "603":
  1089. set {_thing} to {_response::1}
  1090. replace all "603 " with "" in {_thing}
  1091. send "&9MCR> &c&lYou are blacklisted from the bug report system!"
  1092. send "&9MCR> &7&lReason: &7%{_thing}%"
  1093. else if {_response::1} contains "604":
  1094. set {_thing} to {_response::1}
  1095. replace all "604 " with "" in {_thing}
  1096. send "&9MCR> &7Bug Report returned a diffrent response: &e%{_thing}%"
  1097. else if {_response::1} is not set:
  1098. send "&9MCR> &7The bug report was malformed and we did not get a response!"
  1099.  
  1100. command /rules:
  1101. trigger:
  1102. send "&9Rules> &7The rules can be found here: &a%{mineplex.config.ruleswebsite}%"
  1103.  
  1104. #CarlBae
  1105.  
  1106. on load:
  1107. if {poll.id.last} is not set:
  1108. set {poll.id.last} to 0
  1109.  
  1110. on join:
  1111. set {_player} to "%player%"
  1112. replace all "s" in {_player} with "sssss"
  1113. send "&2&lCarl the Creeper> &aHey %{_player}%! I have sssome amazing rewardsss for you! Come sssee me!"
  1114. if {mineplex.tickets.%player%} is not set:
  1115. set {mineplex.tickets.%player%} to 0
  1116. if {mineplex.polltaken.0.%player%} is not set:
  1117. set {mineplex.polltaken.0.%player%} to true
  1118. if {mineplex.thankrewards.%player%} is not set:
  1119. set {mineplex.thankrewards.%player%} to 0
  1120.  
  1121. command /thank [<offline player>]:
  1122. trigger:
  1123. if arg 1 is set:
  1124. if arg 1 is player:
  1125. send "&9Thank> &7You cannot thank yourself!"
  1126. else:
  1127. if arg 1 is online:
  1128. if {mineplex.thank.last.%player%} is not set:
  1129. set {_good} to true
  1130. else:
  1131. set {_t} to difference between {mineplex.thank.last.%player%} and now
  1132. set {_tc} to "24 hours" parsed as a timespan
  1133. if {_t} is more than {_tc}:
  1134. set {_good} to true
  1135. if {_good} is true:
  1136. send "&9Thank> &7You thanked &e%arg-1% &7and earned &b5 Treasure Shards&7!"
  1137. 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
  1138. addShards(player, 5)
  1139. add 5 to {mineplex.thankrewards.%arg-1%}
  1140. set {mineplex.thank.last.%player%} to now
  1141. else:
  1142. send "&9Thank> &7You can only /thank once per day!"
  1143. stop
  1144. else:
  1145. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  1146. else:
  1147. send "&9Thank> &7Usage: &e/thank <player>"
  1148.  
  1149. function carlSpinNew(p: player) :: text:
  1150. open chest with 3 rows named "&8Carl's Spinner" to {_p}
  1151. loop (random integer between 5 and 10) times:
  1152. add prismarine shard named "&bTreasure Shards" to {_roll::*}
  1153. loop (random integer between 5 and 22) times:
  1154. add emerald named "&fGems" to {_roll::*}
  1155. loop (random integer between 1 and 10) times:
  1156. add firework rocket named "&fFireworks" to {_roll::*}
  1157. loop (random integer between 1 and 10) times:
  1158. add ender pearl named "&fEthereal Pearls" to {_roll::*}
  1159. loop (random integer between 1 and 10) times:
  1160. add tripwire hook named "&fFlesh Hooks" to {_roll::*}
  1161. loop (random integer between 1 and 10) times:
  1162. add iron horse armor named "&fBat Blasters" to {_roll::*}
  1163. loop (random integer between 1 and 10) times:
  1164. add gold horse armor named "&fPaintball Guns" to {_roll::*}
  1165. add leather named "&dCow Morph" to {_roll::*}
  1166. add nether star named "&cTitan Rank" to {_roll::*}
  1167. set {_speedFinal} to 3
  1168. set {_Selector1} to 4
  1169. loop (random integer between 31 and 60) times:
  1170. if inventory name of {_p}'s current inventory is not "&8Carl's Spinner":
  1171. stop
  1172. set {_sel} to 21
  1173. loop {_sel} times:
  1174. set {_sel2} to {_sel} - 1
  1175. set {_item::%{_sel}%} to {_item::%{_sel2}%}
  1176. subtract 1 from {_sel}
  1177. set {_item::1} to a random element out of {_roll::*}
  1178. loop integers between 0 and inventory size of {_p}'s current inventory - 1:
  1179. if loop-number-2 is {_Selector1}:
  1180. set slot loop-number-2 of {_p}'s current inventory to hopper named " "
  1181. loop 9 times:
  1182. set slot 8 + loop-number-3 of {_p}'s current inventory to {_item::%loop-number-3%}
  1183. set slot loop-number-2 of {_p}'s current inventory to gray stained glass pane named " "
  1184. if "%{_item::%loop-number-3%}%" is "prismarine shard":
  1185. set slot 17 + loop-number-3 of {_p}'s current inventory to light blue stained glass pane named " "
  1186. set slot -1 + loop-number-3 of {_p}'s current inventory to light blue stained glass pane named " "
  1187. if "%{_item::%loop-number-3%}%" is "nether star":
  1188. set slot 17 + loop-number-3 of {_p}'s current inventory to red stained glass pane named " "
  1189. set slot -1 + loop-number-3 of {_p}'s current inventory to red stained glass pane named " "
  1190. if "%{_item::%loop-number-3%}%" is "leather":
  1191. set slot 17 + loop-number-3 of {_p}'s current inventory to magenta stained glass pane named " "
  1192. set slot -1 + loop-number-3 of {_p}'s current inventory to magenta stained glass pane named " "
  1193. set slot 4 of {_p}'s current inventory to hopper named " "
  1194. add 1 to {_sound}
  1195. if {_sound} > 3:
  1196. set {_sound} to 1
  1197. if {_sound} = 1:
  1198. play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
  1199. else if {_sound} = 2:
  1200. play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
  1201. else if {_sound} = 3:
  1202. play sound "NOTE_PLING" to {_p} with volume 1 and pitch 15
  1203. add 1 to {_speed}
  1204. if {_speed} is 5:
  1205. set {_speed} to 0
  1206. add 1 to {_speedFinal}
  1207. loop {_speedFinal} times:
  1208. wait a tick
  1209. set {_wonItem} to slot 13 of {_p}'s current inventory
  1210. set {_slotFill} to gray stained glass pane with name " "
  1211. if {_wonItem} is a emerald:
  1212. set {_add} to random integer between 5 and 20
  1213. addGems({_p}, {_add})
  1214. message "&9Carl's Spinner> &7You won &f%{_add}% Gems" to {_p}
  1215. if {_wonItem} is a ender pearl:
  1216. set {_add} to random integer between 5 and 20
  1217. add {_add} to {mineplex.cosmetics.pearls.%{_p}%}
  1218. message "&9Carl's Spinner> &7You won &f%{_add}% Ethereal Pearls" to {_p}
  1219. if {_wonItem} is a firework rocket:
  1220. set {_add} to random integer between 5 and 20
  1221. add {_add} to {mineplex.cosmetics.firework.%{_p}%}
  1222. message "&9Carl's Spinner> &7You won &f%{_add}% Fireworks" to {_p}
  1223. if {_wonItem} is a iron horse armor:
  1224. set {_add} to random integer between 5 and 20
  1225. add {_add} to {mineplex.cosmetics.blaster.%{_p}%}
  1226. message "&9Carl's Spinner> &7You won &f%{_add}% Bat Blasters" to {_p}
  1227. if {_wonItem} is a gold horse armor:
  1228. set {_add} to random integer between 5 and 20
  1229. add {_add} to {mineplex.cosmetics.paintball.%{_p}%}
  1230. message "&9Carl's Spinner> &7You won &f%{_add}% Paintball Guns" to {_p}
  1231. if {_wonItem} is a tripwire hook:
  1232. set {_add} to random integer between 5 and 20
  1233. add {_add} to {mineplex.cosmetics.hook.%{_p}%}
  1234. message "&9Carl's Spinner> &7You won &f%{_add}% Flesh Hooks" to {_p}
  1235. if {_wonItem} is a prismarine shard:
  1236. set {_add} to random integer between 5 and 20
  1237. addShards({_p}, {_add})
  1238. message "&9Carl's Spinner> &7You won &b%{_add}% Shards" to {_p}
  1239. set {_slotFill} to light blue stained glass pane with name " "
  1240. if {_wonItem} is leather:
  1241. message "&9Carl's Spinner> &7You won &dCow Morph" to {_p}
  1242. set {_slotFill} to magenta stained glass pane with name " "
  1243. if {_wonItem} is nether star:
  1244. message "&9Carl's Spinner> &7You won &cTitan Rank" to {_p}
  1245. set {_slotFill} to red stained glass pane with name " "
  1246. execute console command "/rank %{_p}% TITAN"
  1247. set {_slot} to 5
  1248. loop 5 times:
  1249. if inventory name of {_p}'s current inventory is not "&8Carl's Spinner":
  1250. stop
  1251. set slot 17 + {_slot} of {_p}'s current inventory to {_slotFill}
  1252. set slot -1 + {_slot} of {_p}'s current inventory to {_slotFill}
  1253. set slot 8 + {_slot} of {_p}'s current inventory to {_slotFill}
  1254. set slot 9 - {_slot} of {_p}'s current inventory to {_slotFill}
  1255. set slot 18 - {_slot} of {_p}'s current inventory to {_slotFill}
  1256. set slot 27 - {_slot} of {_p}'s current inventory to {_slotFill}
  1257. set slot 13 of {_p}'s current inventory to {_wonItem}
  1258. remove 1 from {_slot}
  1259. wait 1 second
  1260.  
  1261. function reqSpin(p: player) :: text:
  1262. if {mineplex.tickets.%{_p}%} is bigger than 0:
  1263. wait 2 ticks
  1264. carlSpinNew({_p})
  1265. remove 1 from {mineplex.tickets.%{_p}%}
  1266. else:
  1267. message "&9Carl's Spinner> &7A Unknown Error has occured." to {_p}
  1268.  
  1269. function carlSpin(p: player) :: number:
  1270. if {mineplex.tickets.%{_p}%} >= 1:
  1271. remove 1 from {mineplex.tickets.%{_p}%}
  1272. wait 5 ticks
  1273. open chest with 3 rows named "Carl's Spinner" to {_p}
  1274. set {opener.%{_p}%} to true
  1275. loop 30 times:
  1276. inventory name of {_p}'s current inventory is "Carl's Spinner"
  1277. play "NOTE_PLING" to {_p} at volume 0.5
  1278. format slot 0 of {_p} with white stained glass pane to be unstealable
  1279. format slot 1 of {_p} with white glass to be unstealable
  1280. format slot 2 of {_p} with white glass to be unstealable
  1281. format slot 3 of {_p} with white glass to be unstealable
  1282. format slot 4 of {_p} with hopper to be unstealable
  1283. format slot 5 of {_p} with white glass to be unstealable
  1284. format slot 6 of {_p} with white glass to be unstealable
  1285. format slot 7 of {_p} with white glass to be unstealable
  1286. format slot 8 of {_p} with white stained glass pane to be unstealable
  1287. set {_randomint1.%{_p}%} to random integer between 95 and 375
  1288. format slot 9 of {_p} with prismarine shard named "&b%{_randomint1.%{_p}%}% Shards" to be unstealable
  1289. format slot 8 of {_p} with white stained glass pane to be unstealable
  1290. set {_randomint2.%{_p}%} to random integer between 95 and 375
  1291. format slot 10 of {_p} with prismarine shard named "&b%{_randomint2.%{_p}%}% Shards" to be unstealable
  1292. format slot 8 of {_p} with white stained glass pane to be unstealable
  1293. set {_randomint3.%{_p}%} to random integer between 95 and 375
  1294. format slot 11 of {_p} with prismarine shard named "&b%{_randomint3.%{_p}%}% Shards" to be unstealable
  1295. format slot 8 of {_p} with white stained glass pane to be unstealable
  1296. set {_randomint4.%{_p}%} to random integer between 95 and 375
  1297. format slot 12 of {_p} with prismarine shard named "&b%{_randomint4.%{_p}%}% Shards" to be unstealable
  1298. format slot 8 of {_p} with white stained glass pane to be unstealable
  1299. set {_randomint5.%{_p}%} to random integer between 95 and 375
  1300. format slot 13 of {_p} with prismarine shard named "&b%{_randomint5.%{_p}%}% Shards" to be unstealable
  1301. format slot 8 of {_p} with white stained glass pane to be unstealable
  1302. set {_randomint6.%{_p}%} to random integer between 95 and 375
  1303. format slot 14 of {_p} with prismarine shard named "&b%{_randomint6.%{_p}%}% Shards" to be unstealable
  1304. format slot 8 of {_p} with white stained glass pane to be unstealable
  1305. set {_randomint7.%{_p}%} to random integer between 95 and 375
  1306. format slot 15 of {_p} with prismarine shard named "&b%{_randomint7.%{_p}%}% Shards" to be unstealable
  1307. format slot 8 of {_p} with white stained glass pane to be unstealable
  1308. set {_randomint8.%{_p}%} to random integer between 95 and 375
  1309. format slot 16 of {_p} with prismarine shard named "&b%{_randomint8.%{_p}%}% Shards" to be unstealable
  1310. format slot 8 of {_p} with white stained glass pane to be unstealable
  1311. set {_randomint9.%{_p}%} to random integer between 95 and 375
  1312. format slot 17 of {_p} with prismarine shard named "&b%{_randomint9.%{_p}%}% Shards" to be unstealable
  1313. format slot 18 of {_p} with white stained glass pane to be unstealable
  1314. format slot 19 of {_p} with white glass to be unstealable
  1315. format slot 20 of {_p} with white glass to be unstealable
  1316. format slot 21 of {_p} with white glass to be unstealable
  1317. format slot 22 of {_p} with white glass to be unstealable
  1318. format slot 23 of {_p} with white glass to be unstealable
  1319. format slot 24 of {_p} with white glass to be unstealable
  1320. format slot 25 of {_p} with white glass to be unstealable
  1321. format slot 26 of {_p} with white stained glass pane to be unstealable
  1322. delete {_randomint1.%{_p}%}
  1323. delete {_randomint2.%{_p}%}
  1324. delete {_randomint3.%{_p}%}
  1325. delete {_randomint4.%{_p}%}
  1326. delete {_randomint6.%{_p}%}
  1327. delete {_randomint7.%{_p}%}
  1328. delete {_randomint8.%{_p}%}
  1329. delete {_randomint9.%{_p}%}
  1330. wait 0.2 seconds
  1331. send "&9Carl> &7You won &b%{_randomint5.%{_p}%}% Shards!" to {_p}
  1332. addShards({_p}, {_randomint5.%{_p}%})
  1333. wait 3 ticks
  1334. delete {_randomint5.%{_p}%}
  1335. delete {opener.%{_p}%}
  1336. wait 1 second
  1337. close {_p}'s inventory
  1338. else:
  1339. send "&9Carl's Spinner> &7You don't have a Carl Spinner Ticket!" to {_p}
  1340.  
  1341. function ytlink(p: player) :: number:
  1342. set {_t} to difference between {carl.ytr.%{_p}%} and now
  1343. set {_tc} to "1 day" parsed as a timespan
  1344. if {_t} is less than {_tc}:
  1345. message "&6&m=====================================" to {_p}
  1346. message "&b &f" to {_p}
  1347. message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
  1348. message " &a%{mineplex.config.youtube}%" to {_p}
  1349. message "&b &f" to {_p}
  1350. message "&6&m=====================================" to {_p}
  1351. stop
  1352. else:
  1353. set {carl.ytr.%{_p}%} to now
  1354. addShards({_p}, 250)
  1355. message "&6&m=====================================" to {_p}
  1356. message "&b &f" to {_p}
  1357. message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
  1358. message " &a%{mineplex.config.youtube}%" to {_p}
  1359. message "&b &f" to {_p}
  1360. message "&6&m=====================================" to {_p}
  1361. wait 60 seconds
  1362. message "&9Carl> &7Rewarded 250 Shards for watching the YouTube Video" to {_p}
  1363.  
  1364. function tlink(p: player) :: number:
  1365. message "&6&m=====================================" to {_p}
  1366. message "&b &f" to {_p}
  1367. message " &f&lClick to Open in Web Browser" to {_p}
  1368. message " &a%{mineplex.config.twitter}%" to {_p}
  1369. message "&b &f" to {_p}
  1370. message "&6&m=====================================" to {_p}
  1371.  
  1372. function dailyr(p: player) :: number:
  1373. set {_t} to difference between {carl.dr.%{_p}%} and now
  1374. set {_tc} to "20 hours" parsed as a timespan
  1375. if {_t} is less than {_tc}:
  1376. message "&9Carl> &7Come back in another 24 hours." to {_p}
  1377. stop
  1378. else:
  1379. message "&9Carl> &7Rewarded &e100 Treasure Shards" to {_p}
  1380. message "&9Carl> &7Rewarded &e100 Gems" to {_p}
  1381. message "&9Carl> &7Rewarded &e250 Experience" to {_p}
  1382. set {carl.dr.%{_p}%} to now
  1383. addShards({_p}, 100)
  1384. addGems({_p}, 100)
  1385. set {_cur} to getPlayerdata({_p}, "stats.global.dailyr") parsed as a number
  1386. add 1 to {_cur}
  1387. setPlayerdata({_p}, "stats.global.dailyr", "%{_cur}%")
  1388.  
  1389. function rawVote(p: player , v: number) :: number:
  1390. add 1 to {mineplex.poll.results.%{_v}%.%{poll.id.last}%}
  1391. set {mineplex.polltaken.%{poll.id.last}%.%{_p}%} to true
  1392. addGems({_p}, {mineplex.poll.gems.%{poll.id.last}%})
  1393. message "&9Carl> &7Rewarded &a%{mineplex.poll.gems.%{poll.id.last}%}% Gems&7." to {_p}
  1394.  
  1395. function pollVote(p: player) :: number:
  1396. open chest with 6 rows named "Poll:" to {_p}
  1397. wait 2 ticks
  1398. 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
  1399. 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)]
  1400. 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)]
  1401. 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)]
  1402. 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)]
  1403.  
  1404. function claimThank(p: player) :: number:
  1405. set {_am} to {mineplex.thankrewards.%{_p}%}
  1406. set {_tp} to {_am} / 5
  1407. send "&9Carl> &7You collected &b%{_am}% Treasure Shards &7from &e%{_tp}% &7players!" to {_p}
  1408. set {mineplex.thankrewards.%{_p}%} to 0
  1409. set {_get} to getPlayerdata({_p}, "shards")
  1410. set {_cur} to {_get} parsed as a number
  1411. add {_am} to {_cur}
  1412. setPlayerdata({_p}, "shards", "%{_cur}%")
  1413.  
  1414. on inventory click:
  1415. if inventory name of player's current inventory is "Carl's Spinner":
  1416. cancel event
  1417. close player's inventory
  1418.  
  1419. #Dank as all heck
  1420. function carlGUI(p: player) :: number:
  1421. open chest with 6 rows named "%{_p}%'s Bonuses" to {_p}
  1422. wait 2 ticks
  1423. 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
  1424. set {_t} to difference between {carl.dr.%{_p}%} and now
  1425. set {_tc} to "20 hours" parsed as a timespan
  1426. set {_mc} to {_tc} - {_t}
  1427. set {_st} to "%{_t}%"
  1428. set {_args::*} to {_st} split at " "
  1429. set {_num1} to "%{_args::1}%" parsed as an int
  1430. set {_num2} to 1200
  1431. set {_num3} to {_num2} - {_num1}
  1432. set {_hourconvert} to {_num3} / 60
  1433. set {_finalwait} to "%{_hourconvert}% hours"
  1434. if {_t} is less than {_tc}:
  1435. 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
  1436. else:
  1437. 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})]
  1438. 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})]
  1439. 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
  1440. format slot 20 of {_p} with water bucket named "&e&lVisit us on Facebook" with lore "||&eRewards|| &f10 Ancient Chest" to close
  1441. set {_t} to difference between {carl.ytr.%{_p}%} and now
  1442. set {_tc} to "1 day" parsed as a timespan
  1443. if {_t} is less than {_tc}:
  1444. 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})]
  1445. else:
  1446. 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})]
  1447. if {mineplex.polltaken.%{poll.id.last}%.%{_p}%} is set:
  1448. format slot 28 of {_p} with redstone block named "&cVote on Poll" with lore "||&fYou voted on all of the polls!" to close
  1449. else:
  1450. 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})]
  1451. if {mineplex.thankrewards.%{_p}%} is greater than 0:
  1452. 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})]
  1453. else:
  1454. 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
  1455. 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
  1456. 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})]
  1457. 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
  1458.  
  1459. command /poll [<text>] [<text>] [<text>] [<text>] [<text>] [<text>] [<integer>] [<string>]:
  1460. permission: mineplex.admin
  1461. permission message: &9Permissions> &7You do not have permission to do that.
  1462. trigger:
  1463. if arg 1 is set:
  1464. if arg 1 is "create":
  1465. if arg 2 is set:
  1466. if arg 3 is set:
  1467. if arg 4 is set:
  1468. if arg 5 is set:
  1469. if arg 6 is set:
  1470. if arg 7 is set:
  1471. add 1 to {poll.id.last}
  1472. send "&9Poll> &7Rolling out poll with id &e%{poll.id.last}%&7!"
  1473. wait 1 second
  1474. set {_arg1} to arg 2
  1475. set {_arg2} to arg 3
  1476. set {_arg3} to arg 4
  1477. set {_arg4} to arg 5
  1478. set {_arg5} to arg 6
  1479. set {mineplex.poll.gems.%{poll.id.last}%} to "%arg 7%" parsed as an integer
  1480. replace every "_" with " " in {_arg1}
  1481. replace every "_" with " " in {_arg2}
  1482. replace every "_" with " " in {_arg3}
  1483. replace every "_" with " " in {_arg4}
  1484. replace every "_" with " " in {_arg5}
  1485. broadcast "&9Poll> &7A new poll is available! Vote in Carl!"
  1486. wait 0.5 seconds
  1487. send "&9Poll> &7The poll has been rolled out successfully!"
  1488. set {mineplex.poll.question.%{poll.id.last}%} to {_arg1}
  1489. set {mineplex.poll.a1.%{poll.id.last}%} to {_arg2}
  1490. set {mineplex.poll.a2.%{poll.id.last}%} to {_arg3}
  1491. set {mineplex.poll.a3.%{poll.id.last}%} to {_arg4}
  1492. set {mineplex.poll.a4.%{poll.id.last}%} to {_arg5}
  1493. set {mineplex.poll.results.1.%{poll.id.last}%} to 0
  1494. set {mineplex.poll.results.2.%{poll.id.last}%} to 0
  1495. set {mineplex.poll.results.3.%{poll.id.last}%} to 0
  1496. set {mineplex.poll.results.4.%{poll.id.last}%} to 0
  1497. else:
  1498. send "&9Poll> &7Correct Usage:"
  1499. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1500. send "&4/poll results [(id)] Admin"
  1501. send ""
  1502. send "&9Poll> &7Example:"
  1503. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111 Admin"
  1504. else:
  1505. send "&9Poll> &7Correct Usage:"
  1506. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1507. send "&4/poll results [(id)] Admin"
  1508. send ""
  1509. send "&9Poll> &7Example:"
  1510. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1511. else:
  1512. send "&9Poll> &7Correct Usage:"
  1513. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1514. send "&4/poll results [(id)] Admin"
  1515. send ""
  1516. send "&9Poll> &7Example:"
  1517. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1518. else:
  1519. send "&9Poll> &7Correct Usage:"
  1520. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1521. send "&4/poll results [(id)] Admin"
  1522. send ""
  1523. send "&9Poll> &7Example:"
  1524. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1525. else:
  1526. send "&9Poll> &7Correct Usage:"
  1527. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1528. send "&4/poll results [(id)] Admin"
  1529. send ""
  1530. send "&9Poll> &7Example:"
  1531. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1532. else:
  1533. send "&9Poll> &7Correct Usage:"
  1534. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1535. send "&4/poll results [(id)] Admin"
  1536. send ""
  1537. send "&9Poll> &7Example:"
  1538. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1539. else if arg 1 is "results":
  1540. if player has permission "mineplex.admin":
  1541. if arg 2 is not set:
  1542. open chest with 5 row named "Poll Results" to player
  1543. 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
  1544. 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
  1545. 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
  1546. 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
  1547. 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
  1548. 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
  1549. 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
  1550. 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
  1551. 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
  1552. else:
  1553. set {_id} to arg-2 parsed as a number
  1554. if {_id} is 0:
  1555. send "&9Poll> &cInvalid Poll ID!"
  1556. stop
  1557. if {_id} is greater than {poll.id.last}:
  1558. send "&9Poll> &cInvalid Poll ID!"
  1559. stop
  1560. if {_id} is not set:
  1561. send "&9Poll> &cInvalid Poll ID!"
  1562. stop
  1563. open chest with 5 row named "Poll Results" to player
  1564. 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
  1565. format slot 19 of player with book named "&b&lOption 1" with lore "&eAnswer 1:|| &f%{mineplex.poll.a1.%{_id}%}%" to be unstealable
  1566. format slot 21 of player with book named "&b&lOption 2" with lore "&eAnswer 2:|| &f%{mineplex.poll.a2.%{_id}%}%" to be unstealable
  1567. format slot 23 of player with book named "&b&lOption 3" with lore "&eAnswer 3:|| &f%{mineplex.poll.a3.%{_id}%}%" to be unstealable
  1568. format slot 25 of player with book named "&b&lOption 4" with lore "&eAnswer 4:|| &f%{mineplex.poll.a4.%{_id}%}%" to be unstealable
  1569. 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
  1570. 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
  1571. 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
  1572. 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
  1573. else:
  1574. send "&9Permissions> &7You do not have permission to do that."
  1575. else:
  1576. send "&9Poll> &7Correct Usage:"
  1577. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4 (Gem Reward) Admin"
  1578. send "&4/poll results [(id)] Admin"
  1579. send ""
  1580. send "&9Poll> &7Example:"
  1581. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1582.  
  1583. command /fixanimation:
  1584. permission: mineplex.dev
  1585. permission message: &9Permissions> &7You do not have permission to do that.
  1586. trigger:
  1587. loop all entities:
  1588. if name of loop-entity is "&a&lCarl the Creeper":
  1589. set {_e1} to loop-entity
  1590. exit loop
  1591. add "{NoAI:0b}" to nbt of {_e1}
  1592. teleport {_e1} 100 meters below {_e1}
  1593. kill {_e1}
  1594.  
  1595. command /animation:
  1596. permission: mineplex.dev
  1597. permission message: &9Permissions> &7You do not have permission to do that.
  1598. trigger:
  1599. loop all entities:
  1600. if name of loop-entity is "&a&lCarl the Creeper":
  1601. set {_e1} to loop-entity
  1602. exit loop
  1603. set {_loc} to location of {_e1}
  1604. add "{Fuse:999}" to nbt of {_e1}
  1605. add "{ignited:1}" to nbt of {_e1}
  1606. wait 1 second
  1607. loop all players:
  1608. show 1 "Explosion Huge" particles at {_loc} for loop-player
  1609. play raw sound "random.explode1" at {_e1} with pitch 1 volume 10
  1610. play raw sound "random.explode" at {_e1} with pitch 1 volume 10
  1611. wait 0.6 seconds
  1612. spawn 1 creeper at location of {_e1}
  1613. add "{NoAI:0b}" to nbt of {_e1}
  1614. teleport {_e1} 100 meters below {_e1}
  1615. kill {_e1}
  1616. set {_carl} to spawned creeper
  1617. set name of last spawned entity to "&a&lCarl the Creeper"
  1618. add "{NoAI:1b}" to nbt of {_carl}
  1619. add "{powered:1}" to nbt of {_carl}
  1620. apply slowness 255 to last spawned entity for 999 days
  1621.  
  1622. every 2 minutes:
  1623. execute console command "/animation" #Sue me
  1624.  
  1625. command /ticket [<offline player>] [<string>] [<string>]:
  1626. permission: mineplex.admin
  1627. permission message: &9Permissions> &7You do not have permission to do that.
  1628. trigger:
  1629. if arg-1 is set:
  1630. if arg-2 is set:
  1631. set {_int} to arg-2 parsed as an int
  1632. if {_int} is an int:
  1633. send "&9Tickets> &7You gave &e%arg-2% &7Carl spin tickets to &e%arg-1%" to sender
  1634. send "&9Tickets> &7You recieved &e%arg 2% &7Carl spin tickets" to arg 1
  1635. add {_int} to {mineplex.tickets.%arg-1%}
  1636. else:
  1637. send "&9Tickets> &7Listing Commands"
  1638. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1639. else:
  1640. send "&9Tickets> &7Listing Commands"
  1641. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1642. else:
  1643. send "&9Tickets> &7Listing Commands"
  1644. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1645.  
  1646. on inventory close:
  1647. if {opener.%player%} is true:
  1648. wait 2 ticks
  1649. open chest with 3 rows named "Carl's Spinner" to player
  1650.  
  1651. every second:
  1652. loop all entities:
  1653. name of loop-entity contains "&a&lCarl the Creeper"
  1654. teleport loop-entity to {kitnpc}
  1655.  
  1656. on damage:
  1657. name of victim contains "&a&lCarl the Creeper"
  1658. cancel event
  1659.  
  1660. on right click on entity:
  1661. if player's tool is a chest:
  1662. if name of player's tool is "&aCosmetic Menu":
  1663. stop
  1664. else:
  1665. send "&9MCR> &e##BlameWheezy"
  1666. else:
  1667. name of clicked entity contains "&a&lCarl the Creeper"
  1668. if {nospam.%player%} is true:
  1669. stop
  1670. else:
  1671. set {nospam.%player%} to true
  1672. carlGUI(player)
  1673. wait 1 second
  1674. set {nospam.%player%} to false
  1675.  
  1676. on death:
  1677. set {nospam.%victim%} to false
  1678.  
  1679. on join:
  1680. set {nospam.%player%} to false
  1681.  
  1682. #Broadcast System
  1683.  
  1684. every 10 seconds:
  1685. $ thread
  1686. set {_check} to line 1 from url "https://pastebin.com/raw/8YXXWuiA"
  1687. if {mineplex.globalannounce.%{_check}%} is not set:
  1688. set {mineplex.globalannounce.%{_check}%} to true
  1689. $ thread
  1690. set {_message} to line 1 from url "https://pastebin.com/raw/fGAUXi37"
  1691. send all players title "&eMCR Announcement" with subtitle "&f%{_message}%" for 10 seconds
  1692. broadcast "&9MCR Announcement> &b%{_message}%"
  1693.  
  1694. #Titles
  1695.  
  1696. function createTitle(arg1: player , arg2: text) :: number:
  1697. set {_tploc} to location of {_arg1}
  1698. add 1.6 to y-coordinate of {_tploc}
  1699. spawn a armor stand at {_tploc}
  1700. teleport {%{_arg1}%.title} to {_tploc}
  1701. set {%{_arg1}%.title} to the last spawned entity
  1702. set metadata value "titleOwner" of last spawned entity to "%{_arg1}%"
  1703. add "{CustomName:""%{_arg2}%""}" to nbt of last spawned entity
  1704. add "{NoGravity:1}" to nbt of last spawned entity
  1705. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1706. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1707. add "{Invisible:1}" to nbt of last spawned entity
  1708. add "{Marker:1}" to nbt of last spawned entity
  1709. set {title.%{_arg1}%.active} to true
  1710. set {_tploc} to location of {_arg1}
  1711. add 1.6 to y-coordinate of {_tploc}
  1712. teleport {%{_arg1}%.title} to {_tploc}
  1713.  
  1714. function removeTitle(arg1: player) :: number:
  1715. if {title.%{_arg1}%.active} is true:
  1716. kill {%{_arg1}%.title}
  1717. set {title.%{_arg1}%.active} to false
  1718. delete {%{_arg1}%.title}
  1719. set {_void} to location of {_arg1}
  1720. remove 256 from y-coordinate of {_void}
  1721. loop all entities:
  1722. if metadata value "titleOwner" of loop-entity is "%{_arg1}%":
  1723. add "{NoGravity:0}" to nbt of loop-entity
  1724. teleport loop-entity to {_void}
  1725.  
  1726. set {title.%{_arg1}%.active} to false
  1727. wait 4 ticks
  1728. delete {%{_arg1}%.title}
  1729. else:
  1730. message "[TitleAPI] Error:" to console
  1731. message "[TitleAPI] %{_arg1}% has no title active" to console
  1732. stop
  1733.  
  1734. on any move:
  1735. if {title.%player%.active} is true:
  1736. set {_tploc} to location of player
  1737. add 1.6 to y-coordinate of {_tploc}
  1738. teleport {%player%.title} to {_tploc}
  1739.  
  1740. on any move:
  1741. if {title.%player%.active} is true:
  1742. push {%player%.title} forwards
  1743. set {_tploc} to location of player
  1744. add 1.6 to y-coordinate of {_tploc}
  1745. teleport {%player%.title} to {_tploc}
  1746. make {%player%.title} home towards player
  1747. push {%player%.title} forwards
  1748.  
  1749. command /createtitle [<player>] [<text>]:
  1750. permission: mineplex.dev
  1751. trigger:
  1752. set {_txt} to colored arg 2
  1753. removeTitle(arg 1)
  1754. message "&9Titles> &7Generating title, please wait..."
  1755. wait 5 ticks
  1756. createTitle(arg 1, "%{_txt}%")
  1757. message "&9Titles> &7Title &e%{_txt}% &7Generated."
  1758.  
  1759. #protocol hide {_e1} from loop-player
  1760.  
  1761. on quit:
  1762. removeTitle(player)
  1763.  
  1764. command /removeTitle [<player>]:
  1765. trigger:
  1766. removeTitle(arg-1)
  1767.  
  1768. function trackDB(p: player , t: string) :: string:
  1769. if {_t} is "aprilfools-2017":
  1770. set {_r} to "&5&k?&d 2017 April Fools &5&k?"
  1771. if {_t} is "holiday-cheer":
  1772. set {_r} to "&c&k?&c Has Santa's Number &c&k?"
  1773. if {_t} is "treasure-hunter":
  1774. set {_r} to "&c&k?&c Master Treasure Hunter &c&k?"
  1775. if {_t} is "leveler":
  1776. set {_r} to "&c&k?&c Friend of Douglas &c&k?"
  1777. if {_t} is "lucky":
  1778. set {_r} to "&c&k?&c Hashtag Blessed &c&k?"
  1779. if {_t} is "mineplex-mastery":
  1780. set {_r} to "&c&k?&c Mineplex Master &c&k?"
  1781. if {_t} is "party-animal":
  1782. set {_r} to "&c&k?&c Life is a Party &c&k?"
  1783. if {_t} is "peaceful":
  1784. set {_r} to "&c&k?&c Pacifist &c&k?"
  1785. if {_t} is "perfectionist":
  1786. set {_r} to "&c&k?&c Doer of Things &c&k?"
  1787. if {_t} is "power-play":
  1788. if {mineplex.ppc.%{_p}%} is set:
  1789. set {_r} to "&b&k?&b Power Play Club &b&k?"
  1790. else:
  1791. return "perm"
  1792. if {_t} is "sweet-tooth":
  1793. set {_r} to "&c&k?&c Candy Addict &c&k?"
  1794. if {_t} is "unlucky":
  1795. set {_r} to "&c&k?&c Things Don't Go My Way &c&k?"
  1796. if {_t} is "warrior":
  1797. set {_r} to "&c&k?&c Champion &c&k?"
  1798. if {_t} is "gotta-go":
  1799. set {_r} to "&6┬┴┬┴┤(・_├┬┴┬┴)"
  1800. if {_t} is "santas-helper":
  1801. set {_r} to "&c&l&ka&r &f&lSanta's Helper &r&c&l&ka"
  1802. if {_t} is "staff-trainee":
  1803. if {p} has permission "mineplex.trainee":
  1804. set {_r} to "&6&kK&r &6Choo Choo &kK"
  1805. else:
  1806. return "perm"
  1807. if {_t} is "staff-moderator":
  1808. if {p} has permission "mineplex.mod":
  1809. set {_r} to "&6&kK&r &6My name isn't mod &kK"
  1810. else:
  1811. return "perm"
  1812. if {_t} is "staff-sr_moderator":
  1813. if {p} has permission "mineplex.srmod":
  1814. set {_r} to "&6&kK&r &6My Team's the Best Team &kK"
  1815. else:
  1816. return "perm"
  1817. if {_t} is "staff-leader":
  1818. if {_p} has permission "mineplex.leader":
  1819. set {_r} to "&c&kK&4 What's a leader? &c&kK"
  1820. else:
  1821. return "perm"
  1822. if {_t} is "mcr-patreon":
  1823. if {_p} is "WheezyGold7931" :
  1824. set {_r} to "&6&kK&c&l MCR Patreon &6&kK"
  1825. else:
  1826. return "perm"
  1827. if {_t} is "mcr-staff":
  1828. if {_p} is "WheezyGold7931" 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":
  1829. set {_r} to "&6&kK&6&l MCR Staff &6&kK"
  1830. else:
  1831. return "perm"
  1832. if {_t} is "mcr-dev":
  1833. if {_p} is "WheezyGold7931" or "TheSkripterDK" or "Torksi" or "ItzRenderman":
  1834. set {_r} to "&6&kK&c&l MCR Dev &6&kK"
  1835. else:
  1836. return "perm"
  1837. if {_t} is "mcr-headcouncil":
  1838. if {_p} is "WheezyGold7931" or "NaiculS" or "Drawfull" or "Keyloren" or "Torksi" or "Mike70387":
  1839. set {_r} to "&6&kK&4&l MCR Head Council &6&kK"
  1840. else:
  1841. return "perm"
  1842. if {_t} is "mcr-creator":
  1843. if {_p} is "WheezyGold7931":
  1844. set {_r} to "&6&kK&d&l MCR Creator &6&kK"
  1845. else:
  1846. return "perm"
  1847. if {_r} is not set:
  1848. set {_r} to "false"
  1849. return {_r}
  1850.  
  1851. command /track [<string>] [<string>]:
  1852. trigger:
  1853. if {mineplex.track.%player%} is set:
  1854. send "&9Track> &7You have disabled your active track"
  1855. removeTitle(player)
  1856. delete {mineplex.track.%player%}
  1857. else:
  1858. if arg 1 is not set:
  1859. send "&9Track> &7You must specify the ID of a track to enable"
  1860. else:
  1861. set {_track} to trackDB(player, arg-1)
  1862. if {_track} is "false":
  1863. send "&9Track> &7That is not a valid track"
  1864. stop
  1865. if {_track} is "perm":
  1866. send "&9Track> &7You have not unlocked any tiers on that track"
  1867. stop
  1868. removeTitle(player)
  1869. wait 5 ticks
  1870. createTitle(player, {_track})
  1871. send "&9Track> &7Your active track has been updated to %{_track}%"
  1872. set {mineplex.track.%player%} to {_track}
  1873.  
  1874. #Cosmetics
  1875. on join:
  1876. message "&9Cosmetics> &7You enabled all Previously enabled Cosmetics" to player
  1877.  
  1878. command /chestmeup:
  1879. trigger:
  1880. give player chest named "&aCosmetic Menu"
  1881.  
  1882. function mountapi(p: player, action: text, type: text) :: number:
  1883. if {_action} is "remove":
  1884. set {_loc} to {_p}'s location
  1885. add -100000 to y-coordinate of {_loc}
  1886. teleport {currentmount.%{_p}%} to {_loc}
  1887. delete {currentmount.%{_p}%}
  1888. message "&9Mount> &7Despawned &e%{currentmount.%{_p}%.type}%" to {_p}
  1889. set {currentmount.%{_p}%.type} to "None"
  1890. if {_action} is "create":
  1891. if {_type} is "slime":
  1892. if {currentmount.%{_p}%} is set:
  1893. message "&9MountAPI> &6[WARN] &7%{_p}% already has a mount active. The Action has been canceled." to console
  1894. stop
  1895. spawn a slime at {_p}
  1896. set {currentmount.%{_p}%} to the last spawned entity
  1897. add "{CustomName:""%{_p}%'s Slime""}" to nbt of last spawned entity
  1898. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1899. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1900. add "{Size:1}" to nbt of last spawned entity
  1901. add "{Attributes:{Name:generic.attackDamage,Base:0},[{Name:generic.followRange,Base:0}]}" to nbt of last spawned entity
  1902. add "{ActiveEffects:[{Id:18,Amplifier:255,Duration:19999980,ShowParticles:0b}]}" to nbt of last spawned entity
  1903. set {currentmount.%{_p}%.type} to "Slime Mount"
  1904. while {currentmount.%{_p}%} is alive:
  1905. wait 15 ticks
  1906. {_p} is online
  1907. if distance between {currentmount.%{_p}%} and {_p} is less than 5:
  1908. make {currentmount.%{_p}%} pathfind to {_p} with speed 1
  1909. else if distance between {currentmount.%{_p}%} and {_p} is more than 15:
  1910. teleport {currentmount.%{_p}%} to {_p}
  1911. else:
  1912. make {currentmount.%{_p}%} pathfind to {_p} with speed 2
  1913.  
  1914.  
  1915.  
  1916. function cosmetic_system(arg1: text , arg2: text , p: player) :: number:
  1917. set {_wither} to "MHF_WSkeleton" parsed as a player
  1918. if {_arg1} is "menu":
  1919. if {_arg2} is "gadgets":
  1920. if {mineplex.%{_p}%.cosmetics.gadgets.pearl} is not set:
  1921. set {mineplex.%{_p}%.cosmetics.gadgets.pearl} to 0
  1922. if {mineplex.%{_p}%.cosmetics.gadgets.firework} is not set:
  1923. set {mineplex.%{_p}%.cosmetics.gadgets.firework} to 0
  1924. if {mineplex.%{_p}%.cosmetics.gadgets.coal} is not set:
  1925. set {mineplex.%{_p}%.cosmetics.gadgets.coal} to 0
  1926. if {mineplex.%{_p}%.cosmetics.gadgets.tnt} is not set:
  1927. set {mineplex.%{_p}%.cosmetics.gadgets.tnt} to 0
  1928. if {mineplex.%{_p}%.cosmetics.gadgets.snowball} is not set:
  1929. set {mineplex.%{_p}%.cosmetics.gadgets.snowball} to 0
  1930. wait 2 ticks
  1931. open chest with 6 rows named "Inventory" to {_p}
  1932. wait 4 ticks
  1933. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1934. 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})]
  1935. if {mineplex.gadget.selected.%{_p}%} is "pearl":
  1936. 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})]
  1937.  
  1938. 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})]
  1939. if {mineplex.gadget.selected.%{_p}%} is "firework":
  1940. 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})]
  1941. 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})]
  1942. if {mineplex.gadget.selected.%{_p}%} is "Snowball":
  1943. 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})]
  1944. 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})]
  1945. if {mineplex.gadget.selected.%{_p}%} is "tnt":
  1946. 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})]
  1947. 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})]
  1948. if {mineplex.gadget.selected.%{_p}%} is "coal":
  1949. 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})]
  1950. if {_arg2} is "main":
  1951. if {mineplex.%{_p}%.cosmetics.morphs} is not set:
  1952. set {mineplex.%{_p}%.cosmetics.morphs} to 0
  1953. if {mineplex.%{_p}%.cosmetics.hats} is not set:
  1954. set {mineplex.%{_p}%.cosmetics.hats} to 0
  1955. wait 2 ticks
  1956. open chest with 6 rows named "Inventory" to {_p}
  1957. set {mineplex.error.slot} to 0
  1958. wait 4 ticks
  1959. loop 54 times:
  1960. format slot {mineplex.error.slot} of {_p} with black glass pane named "&8" with lore "&6" to be unstealable
  1961. add 1 to {mineplex.error.slot}
  1962. 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})]
  1963. 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
  1964. 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
  1965. 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
  1966. 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
  1967. 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})]
  1968. 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})]
  1969. 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})]
  1970. 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})]
  1971. 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})]
  1972. 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
  1973. 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
  1974. 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
  1975. 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
  1976. 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
  1977. 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
  1978. 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
  1979. 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
  1980.  
  1981.  
  1982.  
  1983.  
  1984. if {_arg2} is "pets":
  1985. if {mineplex.%{_p}%.cosmetics.pets.ocelot} is not set:
  1986. set {mineplex.%{_p}%.cosmetics.pets.ocelot} to 0
  1987. if {mineplex.%{_p}%.cosmetics.pets.wolf} is not set:
  1988. set {mineplex.%{_p}%.cosmetics.pets.wolf} to 0
  1989. if {mineplex.%{_p}%.cosmetics.pets.chicken} is not set:
  1990. set {mineplex.%{_p}%.cosmetics.pets.chicken} to 0
  1991. wait 2 ticks
  1992. open chest with 6 rows named "Inventory" to {_p}
  1993. wait 4 ticks
  1994. format slot 4 of {_p} with bed item named "&7? Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1995. 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})]
  1996. 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})]
  1997. 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})]
  1998. 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})]
  1999. if {_arg2} is "morphs":
  2000. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not set:
  2001. set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 0
  2002. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not set:
  2003. set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 0
  2004. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not set:
  2005. set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 0
  2006. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not set:
  2007. set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 0
  2008. wait 2 ticks
  2009. open chest with 6 rows named "Inventory" to {_p}
  2010. wait 4 ticks
  2011. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  2012. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 0:
  2013. 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})]
  2014. else:
  2015. 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})]
  2016. if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
  2017. 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})]
  2018. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 0:
  2019. 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})]
  2020. else:
  2021. 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})]
  2022. if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
  2023. 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})]
  2024. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 0:
  2025. 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})]
  2026. else:
  2027. 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})]
  2028. if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
  2029. 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})]
  2030. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 0:
  2031. 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})]
  2032. else:
  2033. 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})]
  2034. if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
  2035. 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})]
  2036. if {_p} has permission "mineplex.legend":
  2037. 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})]
  2038. if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
  2039. 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})]
  2040. else:
  2041. 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
  2042.  
  2043. if {_arg2} is "hats":
  2044. wait 2 ticks
  2045. open chest with 6 rows named "Inventory" to {_p}
  2046. wait 4 ticks
  2047. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  2048. if {mineplex.hat.%{_p}%.owned.compCube} is not set:
  2049. set {mineplex.hat.%{_p}%.owned.compCube} to 0
  2050. if {mineplex.hat.%{_p}%.owned.present} is not set:
  2051. set {mineplex.hat.%{_p}%.owned.present} to 0
  2052. if {mineplex.hat.%{_p}%.owned.compCube} is 0:
  2053. 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
  2054. else:
  2055. 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})]
  2056. if {mineplex.hat.selected.%{_p}%} is "compCube":
  2057. 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})]
  2058. if {mineplex.hat.%{_p}%.owned.present} is 0:
  2059. 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
  2060. else:
  2061. 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})]
  2062. if {mineplex.hat.selected.%{_p}%} is "present":
  2063. 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})]
  2064. if {_arg2} is "particles":
  2065. wait 2 ticks
  2066. open chest with 6 rows named "Inventory" to {_p}
  2067. wait 4 ticks
  2068. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  2069. if {mineplex.particle.%{_p}%.owned.shadow} is not set:
  2070. set {mineplex.particle.%{_p}%.owned.shadow} to 0
  2071. if {mineplex.particle.%{_p}%.owned.shadow} is 0:
  2072. 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
  2073. else:
  2074. 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})]
  2075. if {mineplex.particle.selected.%{_p}%} is "shadow":
  2076. 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})]
  2077. if {mineplex.particle.%{_p}%.owned.flame} is 0:
  2078. 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
  2079. else:
  2080. 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})]
  2081. if {mineplex.particle.selected.%{_p}%} is "flame":
  2082. 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})]
  2083. if {_arg2} is "mounts":
  2084. if {mineplex.%{_p}%.cosmetics.mounts.owned.slime} is not set:
  2085. set {mineplex.%{_p}%.cosmetics.mounts.owned.slime} to 0
  2086. wait 2 ticks
  2087. open chest with 6 rows named "Inventory" to {_p}
  2088. wait 4 ticks
  2089. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  2090. if {mineplex.%{_p}%.cosmetics.mounts.owned.slime} is 0:
  2091. 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})]
  2092. else:
  2093. 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})]
  2094. if {currentmount.%{_p}%.type} is "Slime Mount":
  2095. 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})]
  2096.  
  2097.  
  2098. if {_arg1} is "use":
  2099. if {_arg2} is "hat_compCube":
  2100. if {mineplex.hat.selected.%{_p}%} is "compCube":
  2101. wait 1 tick
  2102. message "&9Gadget> &7You unequipped &eCompanion Cube" to {_p}
  2103. set {mineplex.hat.selected.%{_p}%} to "none"
  2104. execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
  2105. cosmetic_system("menu", "hats", {_p})
  2106. stop
  2107. if {mineplex.hat.%{_p}%.owned.compCube} is 1:
  2108. wait 1 tick
  2109. 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==}]}}}"
  2110. message "&9Gadget> &7You equipped &eCompanion Cube" to {_p}
  2111. set {mineplex.hat.selected.%{_p}%} to "compCube"
  2112. cosmetic_system("menu", "hats", {_p})
  2113. if {_arg1} is "use":
  2114. if {_arg2} is "hat_present":
  2115. if {mineplex.hat.selected.%{_p}%} is "present":
  2116. message "&9Gadget> &7You unequipped &ePresent" to {_p}
  2117. set {mineplex.hat.selected.%{_p}%} to "none"
  2118. execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
  2119. cosmetic_system("menu", "hats", {_p})
  2120. stop
  2121. if {mineplex.hat.%{_p}%.owned.compCube} is 1:
  2122. 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=}]}}}"
  2123. message "&9Gadget> &7You equipped &ePresent" to {_p}
  2124. set {mineplex.hat.selected.%{_p}%} to "present"
  2125. cosmetic_system("menu", "hats", {_p})
  2126. if {_arg1} is "use":
  2127. if {_arg2} is "particle_shadow":
  2128. if {mineplex.particle.selected.%{_p}%} is "shadow":
  2129. message "&9Gadget> &7You unequipped &eShadow Walk" to {_p}
  2130. set {mineplex.particle.selected.%{_p}%} to "none"
  2131. cosmetic_system("menu", "particles", {_p})
  2132. stop
  2133. if {mineplex.particle.%{_p}%.owned.shadow} is 1:
  2134. message "&9Gadget> &7You equipped &eShadow Walk" to {_p}
  2135. set {mineplex.particle.selected.%{_p}%} to "shadow"
  2136. cosmetic_system("menu", "particles", {_p})
  2137. if {_arg2} is "particle_flame":
  2138. if {mineplex.particle.selected.%{_p}%} is "flame":
  2139. message "&9Gadget> &7You unequipped &eFlame Rings" to {_p}
  2140. set {mineplex.particle.selected.%{_p}%} to "none"
  2141. cosmetic_system("menu", "particles", {_p})
  2142. stop
  2143. if {mineplex.particle.%{_p}%.owned.flame} is 1:
  2144. message "&9Gadget> &7You equipped &eFlame Rings" to {_p}
  2145. set {mineplex.particle.selected.%{_p}%} to "flame"
  2146. cosmetic_system("menu", "particles", {_p})
  2147. if {_arg1} is "use":
  2148. if {_arg2} is "ocelot":
  2149. if {mineplex.pets.ocelot.active.%{_p}%} is not set:
  2150. set {mineplex.pets.ocelot.active.%{_p}%} to false
  2151. if {mineplex.pets.ocelot.active.%{_p}%} is false:
  2152. spawn a ocelot at {_p}
  2153. set {_ocelotpet} to the last spawned entity
  2154. add "{CustomName:&a%{_p}%'s&c Pet Cat}" to nbt of last spawned entity
  2155. add "{Silent:1}" to nbt of last spawned entity
  2156. add "{CustomNameVisible:1}" to nbt of last spawned entity
  2157. add "{PersistenceRequired:1}" to nbt of last spawned entity
  2158. tame {_ocelotpet} to {_p}
  2159. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  2160. set {mineplex.pets.ocelot.active.%{_p}%} to true
  2161. while {pet::%{_p}%} is alive:
  2162. wait 15 ticks
  2163. {_p} is online
  2164. if distance between {pet::%{_p}%} and {_p} is less than 5:
  2165. make {pet::%{_p}%} pathfind to {_p} with speed 1
  2166. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  2167. teleport {pet::%{_p}%} to {_p}
  2168. else:
  2169. make {pet::%{_p}%} pathfind to {_p} with speed 2
  2170. else:
  2171. if {mineplex.pets.ocelot.active.%{_p}%} is true:
  2172. kill {pet::%{_p}%}
  2173. delete {pet::%{_p}%}
  2174. set {mineplex.pets.ocelot.active.%{_p}%} to false
  2175. if {_arg1} is "use":
  2176. if {_arg2} is "wolf":
  2177. if {mineplex.pets.wolf.active.%{_p}%} is not set:
  2178. set {mineplex.pets.wolf.active.%{_p}%} to false
  2179. if {mineplex.pets.wolf.active.%{_p}%} is false:
  2180. spawn a wolf at {_p}
  2181. set {_ocelotpet} to the last spawned entity
  2182. add "{CustomName:&a%{_p}%'s&c Pet Wolf}" to nbt of last spawned entity
  2183. add "{Silent:1}" to nbt of last spawned entity
  2184. add "{CustomNameVisible:1}" to nbt of last spawned entity
  2185. add "{PersistenceRequired:1}" to nbt of last spawned entity
  2186. tame {_ocelotpet} to {_p}
  2187. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  2188. set {mineplex.pets.wolf.active.%{_p}%} to true
  2189. while {pet::%{_p}%} is alive:
  2190. wait 15 ticks
  2191. {_p} is online
  2192. if distance between {pet::%{_p}%} and {_p} is less than 5:
  2193. make {pet::%{_p}%} pathfind to {_p} with speed 1
  2194. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  2195. teleport {pet::%{_p}%} to {_p}
  2196. else:
  2197. make {pet::%{_p}%} pathfind to {_p} with speed 2
  2198. else:
  2199. if {mineplex.pets.wolf.active.%{_p}%} is true:
  2200. kill {pet::%{_p}%}
  2201. delete {pet::%{_p}%}
  2202. set {mineplex.pets.wolf.active.%{_p}%} to false
  2203. if {_arg1} is "use":
  2204. if {_arg2} is "chicken":
  2205. if {mineplex.pets.chicken.active.%{_p}%} is not set:
  2206. set {mineplex.pets.chicken.active.%{_p}%} to false
  2207. if {mineplex.pets.chicken.active.%{_p}%} is false:
  2208. spawn a chicken at {_p}
  2209. set {_ocelotpet} to the last spawned entity
  2210. add "{CustomName:&a%{_p}%'s&c Pet Chicken}" to nbt of last spawned entity
  2211. add "{Silent:1}" to nbt of last spawned entity
  2212. add "{CustomNameVisible:1}" to nbt of last spawned entity
  2213. add "{PersistenceRequired:1}" to nbt of last spawned entity
  2214. tame {_ocelotpet} to {_p}
  2215. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  2216. set {mineplex.pets.chicken.active.%{_p}%} to true
  2217. while {pet::%{_p}%} is alive:
  2218. wait 15 ticks
  2219. {_p} is online
  2220. if distance between {pet::%{_p}%} and {_p} is less than 5:
  2221. make {pet::%{_p}%} pathfind to {_p} with speed 1
  2222. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  2223. teleport {pet::%{_p}%} to {_p}
  2224. else:
  2225. make {pet::%{_p}%} pathfind to {_p} with speed 2
  2226. else:
  2227. if {mineplex.pets.chicken.active.%{_p}%} is true:
  2228. kill {pet::%{_p}%}
  2229. delete {pet::%{_p}%}
  2230. set {mineplex.pets.chicken.active.%{_p}%} to false
  2231. if {_arg1} is "use":
  2232. if {_arg2} is "guardian":
  2233. if {mineplex.pets.guardian.active.%{_p}%} is not set:
  2234. set {mineplex.pets.guardian.active.%{_p}%} to false
  2235. if {mineplex.pets.guardian.active.%{_p}%} is false:
  2236. spawn a guardian at {_p}
  2237. set {_ocelotpet} to the last spawned entity
  2238. add "{CustomName:&a%{_p}%'s&c Pet Guardian}" to nbt of last spawned entity
  2239. add "{Silent:1}" to nbt of last spawned entity
  2240. add "{CustomNameVisible:1}" to nbt of last spawned entity
  2241. add "{PersistenceRequired:1}" to nbt of last spawned entity
  2242. tame {_ocelotpet} to {_p}
  2243. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  2244. set {mineplex.pets.guardian.active.%{_p}%} to true
  2245. while {pet::%{_p}%} is alive:
  2246. wait 15 ticks
  2247. {_p} is online
  2248. if distance between {pet::%{_p}%} and {_p} is less than 5:
  2249. make {pet::%{_p}%} pathfind to {_p} with speed 1
  2250. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  2251. teleport {pet::%{_p}%} to {_p}
  2252. else:
  2253. make {pet::%{_p}%} pathfind to {_p} with speed 2
  2254. else:
  2255. if {mineplex.pets.guardian.active.%{_p}%} is true:
  2256. kill {pet::%{_p}%}
  2257. delete {pet::%{_p}%}
  2258. set {mineplex.pets.guardian.active.%{_p}%} to false
  2259. if {_arg1} is "use":
  2260. if {_arg2} is "coal":
  2261. if {mineplex.gadget.selected.%{_p}%} is "coal":
  2262. message "&9Gadget> &7You unequipped &eCoal" to {_p}
  2263. set {mineplex.gadget.selected.%{_p}%} to "none"
  2264. set slot 3 of {_p} to air with name "lolz"
  2265. cosmetic_system("menu", "gadgets", {_p})
  2266. stop
  2267. message "&9Gadget> &7You equipped &eCoal" to {_p}
  2268. set {mineplex.gadget.selected.%{_p}%} to "coal"
  2269. set slot 3 of {_p} to coal with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.coal}% Coal"
  2270. cosmetic_system("menu", "gadgets", {_p})
  2271. stop
  2272. if {_arg1} is "buy":
  2273. wait 2 ticks
  2274. open chest with 6 rows named " Confirmation" to {_p}
  2275. wait 2 ticks
  2276. 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
  2277. format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
  2278. format slot 27 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2279. format slot 28 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2280. format slot 29 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2281. format slot 36 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2282. format slot 37 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2283. format slot 38 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2284. format slot 45 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2285. format slot 46 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2286. format slot 47 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  2287. format slot 33 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2288. format slot 34 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2289. format slot 35 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2290. format slot 42 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2291. format slot 43 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2292. format slot 44 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2293. format slot 51 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2294. format slot 52 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2295. format slot 53 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  2296. #Mounts
  2297. if {_arg2} is "mount_slime":
  2298. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
  2299. message "&9Gadget> &7You already own this mount!" to {_p}
  2300. else:
  2301. format slot 22 of {_p} with slimeball named "&fSlime Mount" with lore "&fSplat Splat!" to be unstealable
  2302. 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
  2303. #Morphs
  2304. if {_arg2} is "morph_creeper":
  2305. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  2306. message "&9Gadget> &7You already own this morph!" to {_p}
  2307. else:
  2308. format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
  2309. 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
  2310. if {_arg2} is "morph_cow":
  2311. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 1:
  2312. message "&9Gadget> &7You already own this morph!" to {_p}
  2313. else:
  2314. 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
  2315. format slot 22 of {_p} with steak named "&fCow Morph" with lore "&fMooooo!" to be unstealable
  2316. if {_arg2} is "morph_slime":
  2317. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
  2318. message "&9Gadget> &7You already own this morph!" to {_p}
  2319. else:
  2320. 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
  2321. format slot 22 of {_p} with slimeball named "&fSlime Morph" with lore "&fSplat Splat!" to be unstealable
  2322. if {_arg2} is "morph_villager":
  2323. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
  2324. message "&9Gadget> &7You already own this morph!" to {_p}
  2325. else:
  2326. 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
  2327. format slot 22 of {_p} with emerald named "&fVillager Morph" with lore "&fMURRR! HURR MURRR!" to be unstealable
  2328. #Gadgets
  2329. if {_arg2} is "pearl":
  2330. 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
  2331. format slot 22 of {_p} with ender pearl named "&fEthereal Pearl" with lore "&fThese Pearls are stolen from||&fsleeping Endermen!" to be unstealable
  2332. if {_arg2} is "firework":
  2333. 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
  2334. format slot 22 of {_p} with firework rocket named "&fFirework" with lore "&fNeed to celebrate? These||&fFireworks should do the trick!" to be unstealable
  2335. if {_arg2} is "tnt":
  2336. 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
  2337. format slot 22 of {_p} with tnt named "&fTNT" with lore "&fThowing tnt at %{mineplex.config.servername}%||&fStaff is highly encouraged!" to be unstealable
  2338. if {_arg1} is "confirm":
  2339. if {_arg2} is "mount_slime":
  2340. if {mineplex.shards.%{_p}%} is bigger than 9999:
  2341. set {mineplex.proc.slot} to 45
  2342. wait 2 ticks
  2343. open chest with 6 rows named " Confirmation" to {_p}
  2344. loop 9 times:
  2345. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2346. wait 1 tick
  2347. add 1 to {mineplex.proc.slot}
  2348. if {mineplex.proc.slot} is 54:
  2349. message "&9Cosmetics> &7Purchased &eSlime Mount" to {mineplex.chest.buyplayer.%{_p}%}
  2350. set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 1
  2351. delShards({_p}, 10000)
  2352. add 1 to {mineplex.%{_p}%.cosmetics.mounts}
  2353. set {mineplex.error.slot} to 0
  2354. loop 54 times:
  2355. 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})]
  2356. add 1 to {mineplex.error.slot}
  2357. wait 2 ticks
  2358. stop
  2359. if {mineplex.shards.%{_p}%} is not bigger than 9999:
  2360. wait 2 ticks
  2361. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2362. set {mineplex.error.slot} to 0
  2363. loop 54 times:
  2364. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "mounts", {_p})]
  2365. add 1 to {mineplex.error.slot}
  2366. if {_arg1} is "use":
  2367. if {_arg2} is "mount_slime":
  2368. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not 1:
  2369. message "&9Gadget> &7You dont own this mount." to {_p}
  2370. stop
  2371. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  2372. if {mineplex.currentmorph.%{_p}%} is not set:
  2373. set {mineplex.currentmorph.%{_p}%} to "None"
  2374. if {currentmount.%{_p}%.type} is not "Slime Mount":
  2375. if {currentmount.%{_p}%.type} is not "None":
  2376. message "&9Gadget> &7You despawned &e%{currentmount.%{_p}%.type}%" to {_p}
  2377. message "&9Gadget> &7You spawned &eSlime Mount" to {_p}
  2378. mountapi({_p}, "create", "slime")
  2379. cosmetic_system("menu", "mounts", {_p})
  2380. stop
  2381. if {currentmount.%{_p}%.type} is "Slime Mount":
  2382. message "&9Gadget> &7You despawned &e%{currentmount.%{_p}%.type}%" to {_p}
  2383. set {mineplex.currentmorph.%{_p}%} to "None"
  2384. mountapi({_p}, "remove", "notused")
  2385. cosmetic_system("menu", "morphs", {_p})
  2386. stop
  2387. if {_arg1} is "confirm":
  2388. if {_arg2} is "morph_creeper":
  2389. if {mineplex.shards.%{_p}%} is bigger than 9999:
  2390. set {mineplex.proc.slot} to 45
  2391. wait 2 ticks
  2392. open chest with 6 rows named " Confirmation" to {_p}
  2393. loop 9 times:
  2394. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2395. wait 1 tick
  2396. add 1 to {mineplex.proc.slot}
  2397. if {mineplex.proc.slot} is 54:
  2398. message "&9Cosmetics> &7Purchased &eCreeper Morph" to {mineplex.chest.buyplayer.%{_p}%}
  2399. set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 1
  2400. delShards({_p}, 10000)
  2401. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  2402. set {mineplex.error.slot} to 0
  2403. loop 54 times:
  2404. 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})]
  2405. add 1 to {mineplex.error.slot}
  2406. wait 2 ticks
  2407. stop
  2408. if {mineplex.shards.%{_p}%} is not bigger than 9999:
  2409. wait 2 ticks
  2410. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2411. set {mineplex.error.slot} to 0
  2412. loop 54 times:
  2413. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2414. add 1 to {mineplex.error.slot}
  2415. if {_arg1} is "use":
  2416. if {_arg2} is "morph_creeper":
  2417. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not 1:
  2418. message "&9Gadget> &7You dont own this morph." to {_p}
  2419. stop
  2420. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  2421. if {mineplex.currentmorph.%{_p}%} is not set:
  2422. set {mineplex.currentmorph.%{_p}%} to "None"
  2423. if {mineplex.currentmorph.%{_p}%} is not "Creeper Morph":
  2424. if {mineplex.currentmorph.%{_p}%} is not "None":
  2425. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2426. message "&9Gadget> &7You morphed into &eCreeper Morph" to {_p}
  2427. set {mineplex.currentmorph.%{_p}%} to "Creeper Morph"
  2428. execute console command "odisguise %{_p}% creeper"
  2429. cosmetic_system("menu", "morphs", {_p})
  2430. stop
  2431. if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
  2432. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2433. set {mineplex.currentmorph.%{_p}%} to "None"
  2434. execute console command "undisguise %{_p}%"
  2435. cosmetic_system("menu", "morphs", {_p})
  2436. stop
  2437. if {_arg1} is "use":
  2438. if {_arg2} is "morph_wither":
  2439. if {_p} has permission "mineplex.legend":
  2440. if {mineplex.currentmorph.%{_p}%} is not set:
  2441. set {mineplex.currentmorph.%{_p}%} to "None"
  2442. if {mineplex.currentmorph.%{_p}%} is not "Wither Morph":
  2443. if {mineplex.currentmorph.%{_p}%} is not "None":
  2444. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2445. message "&9Gadget> &7You morphed into &eWither Morph" to {_p}
  2446. set {mineplex.currentmorph.%{_p}%} to "Wither Morph"
  2447. execute console command "odisguise %{_p}% wither"
  2448. set {mineplex.dj.%{_p}%} to 0
  2449. set {_p}'s flight state to true
  2450. cosmetic_system("menu", "morphs", {_p})
  2451. stop
  2452. if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
  2453. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2454. set {mineplex.currentmorph.%{_p}%} to "None"
  2455. execute console command "undisguise %{_p}%"
  2456. set {mineplex.dj.%{_p}%} to 1
  2457. set {_p}'s flight state to false
  2458. cosmetic_system("menu", "morphs", {_p})
  2459. stop
  2460. else:
  2461. message "&9Gadget> &7You dont own this Morph" to {_p}
  2462. if {_arg1} is "confirm":
  2463. if {_arg2} is "morph_cow":
  2464. if {mineplex.shards.%{_p}%} is bigger than 5999:
  2465. set {mineplex.proc.slot} to 45
  2466. wait 2 ticks
  2467. open chest with 6 rows named " Confirmation" to {_p}
  2468. loop 9 times:
  2469. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2470. wait 1 tick
  2471. add 1 to {mineplex.proc.slot}
  2472. if {mineplex.proc.slot} is 54:
  2473. message "&9Cosmetics> &7Purchased &eCow Morph" to {mineplex.chest.buyplayer.%{_p}%}
  2474. set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 1
  2475. delShards({_p}, 6000)
  2476. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  2477. set {mineplex.error.slot} to 0
  2478. loop 54 times:
  2479. 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})]
  2480. add 1 to {mineplex.error.slot}
  2481. wait 2 ticks
  2482. stop
  2483. if {mineplex.shards.%{_p}%} is not bigger than 9999:
  2484. wait 2 ticks
  2485. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2486. set {mineplex.error.slot} to 0
  2487. loop 54 times:
  2488. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2489. add 1 to {mineplex.error.slot}
  2490. if {_arg1} is "use":
  2491. if {_arg2} is "morph_cow":
  2492. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not 1:
  2493. message "&9Gadget> &7You dont own this morph." to {_p}
  2494. stop
  2495. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 1:
  2496. if {mineplex.currentmorph.%{_p}%} is not set:
  2497. set {mineplex.currentmorph.%{_p}%} to "None"
  2498. if {mineplex.currentmorph.%{_p}%} is not "Cow Morph":
  2499. if {mineplex.currentmorph.%{_p}%} is not "None":
  2500. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2501. message "&9Gadget> &7You morphed into &eCow Morph" to {_p}
  2502. set {mineplex.currentmorph.%{_p}%} to "Cow Morph"
  2503. execute console command "odisguise %{_p}% cow"
  2504. cosmetic_system("menu", "morphs", {_p})
  2505. stop
  2506. if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
  2507. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2508. set {mineplex.currentmorph.%{_p}%} to "None"
  2509. execute console command "undisguise %{_p}%"
  2510. cosmetic_system("menu", "morphs", {_p})
  2511. stop
  2512. if {_arg1} is "confirm":
  2513. if {_arg2} is "morph_slime":
  2514. if {mineplex.shards.%{_p}%} is bigger than 19999:
  2515. set {mineplex.proc.slot} to 45
  2516. wait 2 ticks
  2517. open chest with 6 rows named " Confirmation" to {_p}
  2518. loop 9 times:
  2519. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2520. wait 1 tick
  2521. add 1 to {mineplex.proc.slot}
  2522. if {mineplex.proc.slot} is 54:
  2523. message "&9Cosmetics> &7Purchased &eSlime Morph" to {mineplex.chest.buyplayer.%{_p}%}
  2524. set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 1
  2525. delShards({_p}, 20000)
  2526. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  2527. set {mineplex.error.slot} to 0
  2528. loop 54 times:
  2529. 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})]
  2530. add 1 to {mineplex.error.slot}
  2531. wait 2 ticks
  2532. stop
  2533. if {mineplex.shards.%{_p}%} is not bigger than 19999:
  2534. wait 2 ticks
  2535. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2536. set {mineplex.error.slot} to 0
  2537. loop 54 times:
  2538. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2539. add 1 to {mineplex.error.slot}
  2540. if {_arg1} is "use":
  2541. if {_arg2} is "morph_slime":
  2542. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not 1:
  2543. message "&9Gadget> &7You dont own this morph." to {_p}
  2544. stop
  2545. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
  2546. if {mineplex.currentmorph.%{_p}%} is not set:
  2547. set {mineplex.currentmorph.%{_p}%} to "None"
  2548. if {mineplex.currentmorph.%{_p}%} is not "Slime Morph":
  2549. if {mineplex.currentmorph.%{_p}%} is not "None":
  2550. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2551. message "&9Gadget> &7You morphed into &eSlime Morph" to {_p}
  2552. set {mineplex.currentmorph.%{_p}%} to "Slime Morph"
  2553. execute console command "odisguise %{_p}% slime"
  2554. cosmetic_system("menu", "morphs", {_p})
  2555. stop
  2556. if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
  2557. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2558. set {mineplex.currentmorph.%{_p}%} to "None"
  2559. execute console command "undisguise %{_p}%"
  2560. cosmetic_system("menu", "morphs", {_p})
  2561. stop
  2562. if {_arg1} is "confirm":
  2563. if {_arg2} is "morph_villager":
  2564. if {mineplex.shards.%{_p}%} is bigger than 11999:
  2565. set {mineplex.proc.slot} to 45
  2566. wait 2 ticks
  2567. open chest with 6 rows named " Confirmation" to {_p}
  2568. loop 9 times:
  2569. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2570. wait 1 tick
  2571. add 1 to {mineplex.proc.slot}
  2572. if {mineplex.proc.slot} is 54:
  2573. message "&9Cosmetics> &7Purchased &eVillager Morph" to {mineplex.chest.buyplayer.%{_p}%}
  2574. set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 1
  2575. delShards({_p}, 12000)
  2576. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  2577. set {mineplex.error.slot} to 0
  2578. loop 54 times:
  2579. 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})]
  2580. add 1 to {mineplex.error.slot}
  2581. wait 2 ticks
  2582. stop
  2583. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2584. wait 3 ticks
  2585. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2586. wait 2 ticks
  2587. set {mineplex.error.slot} to 0
  2588. loop 54 times:
  2589. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2590. add 1 to {mineplex.error.slot}
  2591. if {_arg1} is "use":
  2592. if {_arg2} is "morph_villager":
  2593. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not 1:
  2594. message "&9Gadget> &7You dont own this morph." to {_p}
  2595. stop
  2596. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
  2597. if {mineplex.currentmorph.%{_p}%} is not set:
  2598. set {mineplex.currentmorph.%{_p}%} to "None"
  2599. if {mineplex.currentmorph.%{_p}%} is not "villager Morph":
  2600. if {mineplex.currentmorph.%{_p}%} is not "None":
  2601. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2602. message "&9Gadget> &7You morphed into &eVillager Morph" to {_p}
  2603. set {mineplex.currentmorph.%{_p}%} to "Villager Morph"
  2604. execute console command "odisguise %{_p}% villager"
  2605. cosmetic_system("menu", "morphs", {_p})
  2606. stop
  2607. if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
  2608. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2609. set {mineplex.currentmorph.%{_p}%} to "None"
  2610. execute console command "undisguise %{_p}%"
  2611. cosmetic_system("menu", "morphs", {_p})
  2612. stop
  2613. if {_arg1} is "use":
  2614. if {_arg2} is "pearl":
  2615. if {mineplex.gadget.selected.%{_p}%} is "Ethereal Pearl":
  2616. message "&9Gadget> &7You unequipped &eEthereal Pearl" to {_p}
  2617. set {mineplex.gadget.selected.%{_p}%} to "None"
  2618. set slot 3 of {_p} to air with name "lolz"
  2619. cosmetic_system("menu", "gadgets", {_p})
  2620. stop
  2621. message "&9Cosmetics> &7You equipped &eEthereal Pearl" to {_p}
  2622. set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.pearl}% &5Ethereal Pearls"
  2623. set {mineplex.gadget.selected.%{_p}%} to "Ethereal Pearl"
  2624. cosmetic_system("menu", "gadgets", {_p})
  2625. stop
  2626. if {_arg1} is "confirm":
  2627. if {_arg2} is "pearl":
  2628. if {mineplex.shards.%{_p}%} is bigger than 499:
  2629. set {mineplex.proc.slot} to 45
  2630. wait 2 ticks
  2631. open chest with 6 rows named " Confirmation" to {_p}
  2632. loop 9 times:
  2633. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2634. wait 1 tick
  2635. add 1 to {mineplex.proc.slot}
  2636. if {mineplex.proc.slot} is 54:
  2637. message "&9Cosmetics> &7Purchased 50x &eEthereal Pearl" to {mineplex.chest.buyplayer.%{_p}%}
  2638. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.pearl}
  2639. delShards({_p}, 50)
  2640. set {mineplex.error.slot} to 0
  2641. loop 54 times:
  2642. 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})]
  2643. add 1 to {mineplex.error.slot}
  2644. wait 2 ticks
  2645. stop
  2646. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2647. wait 2 ticks
  2648. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2649. set {mineplex.error.slot} to 0
  2650. loop 54 times:
  2651. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2652. add 1 to {mineplex.error.slot}
  2653. if {_arg1} is "use":
  2654. if {_arg2} is "firework":
  2655. if {mineplex.gadget.selected.%{_p}%} is "Fireworks":
  2656. message "&9Gadget> &7You unequipped &eFireworks" to {_p}
  2657. set {mineplex.gadget.selected.%{_p}%} to "None"
  2658. set slot 3 of {_p} to air with name "lolz"
  2659. cosmetic_system("menu", "gadgets", {_p})
  2660. stop
  2661. message "&9Gadget> &7You equipped &eFireworks" to {_p}
  2662. set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.firework}% &eFireworks"
  2663. set {mineplex.gadget.selected.%{_p}%} to "Fireworks"
  2664. cosmetic_system("menu", "gadgets", {_p})
  2665. stop
  2666. if {_arg1} is "use":
  2667. if {_arg2} is "tnt":
  2668. if {mineplex.gadget.selected.%{_p}%} is "TNT":
  2669. message "&9Gadget> &7You unequipped &eTNT" to {_p}
  2670. set {mineplex.gadget.selected.%{_p}%} to "None"
  2671. set slot 3 of {_p} to air with name "lolz"
  2672. cosmetic_system("menu", "gadgets", {_p})
  2673. stop
  2674. message "&9Gadget> &7You equipped &eTNT" to {_p}
  2675. set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.tnt}% &eTNT"
  2676. set {mineplex.gadget.selected.%{_p}%} to "TNT"
  2677. cosmetic_system("menu", "gadgets", {_p})
  2678. if {_arg1} is "use":
  2679. if {_arg2} is "snowball":
  2680. if {mineplex.gadget.selected.%{_p}%} is "Snowball":
  2681. message "&9Gadget> &7You unequipped &eSnowball" to {_p}
  2682. set {mineplex.gadget.selected.%{_p}%} to "None"
  2683. set slot 3 of {_p} to air with name "lolz"
  2684. cosmetic_system("menu", "gadgets", {_p})
  2685. stop
  2686. message "&9Gadget> &7You equipped &eSnowball" to {_p}
  2687. set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.snowball}% &eSnowballs"
  2688. set {mineplex.gadget.selected.%{_p}%} to "Snowball"
  2689. cosmetic_system("menu", "gadgets", {_p})
  2690. if {_arg1} is "confirm":
  2691. if {_arg2} is "firework":
  2692. if {mineplex.shards.%{_p}%} is bigger than 499:
  2693. set {mineplex.proc.slot} to 45
  2694. wait 2 ticks
  2695. open chest with 6 rows named " Confirmation" to {_p}
  2696. loop 9 times:
  2697. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2698. wait 1 tick
  2699. add 1 to {mineplex.proc.slot}
  2700. if {mineplex.proc.slot} is 54:
  2701. message "&9Cosmetics> &7Purchased 50x &eFireworks" to {_p}
  2702. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.firework}
  2703. delShards({_p}, 500)
  2704. set {mineplex.error.slot} to 0
  2705. loop 54 times:
  2706. 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})]
  2707. add 1 to {mineplex.error.slot}
  2708. wait 2 ticks
  2709. stop
  2710. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2711. wait 2 ticks
  2712. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2713. set {mineplex.error.slot} to 0
  2714. loop 54 times:
  2715. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2716. add 1 to {mineplex.error.slot}
  2717. if {_arg1} is "confirm":
  2718. if {_arg2} is "tnt":
  2719. if {mineplex.shards.%{_p}%} is bigger than 499:
  2720. set {mineplex.proc.slot} to 45
  2721. wait 2 ticks
  2722. open chest with 6 rows named " Confirmation" to {_p}
  2723. loop 9 times:
  2724. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2725. wait 1 tick
  2726. add 1 to {mineplex.proc.slot}
  2727. if {mineplex.proc.slot} is 54:
  2728. message "&9Cosmetics> &7Purchased 50x &eTNT" to {_p}
  2729. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.tnt}
  2730. delShards({_p}, 500)
  2731. set {mineplex.error.slot} to 0
  2732. loop 54 times:
  2733. 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})]
  2734. add 1 to {mineplex.error.slot}
  2735. wait 2 ticks
  2736. stop
  2737. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2738. wait 2 ticks
  2739. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2740. set {mineplex.error.slot} to 0
  2741. loop 54 times:
  2742. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2743. add 1 to {mineplex.error.slot}
  2744.  
  2745. on right click:
  2746. if player's tool is a chest:
  2747. if name of player's tool is "&aCosmetic Menu":
  2748. cancel event
  2749. cosmetic_system("menu", "main", player)
  2750.  
  2751. on left click:
  2752. if player's tool is a chest:
  2753. if name of player's tool is "&aCosmetic Menu":
  2754. cancel event
  2755. cosmetic_system("menu", "main", player)
  2756.  
  2757. on damage:
  2758. victim's name contains "Pet"
  2759. cancel event
  2760.  
  2761. on any move:
  2762. if {mineplex.particle.selected.%player%} is "shadow":
  2763. loop all players:
  2764. show 1 "footstep" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
  2765. if {mineplex.particle.selected.%player%} is "flame":
  2766. loop all players:
  2767. show 1 "flame" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
  2768.  
  2769. command /giveitem [<player>] [<number>] [<text>]:
  2770. permission: mineplex.support
  2771. permission message: &9Permissions> &7You do not have permission to do that.
  2772. trigger:
  2773. if arg 3 is "hat_compCube":
  2774. if {mineplex.hat.%arg 1%.owned.compCube} is 1:
  2775. message "&9Cosmetics> &e%arg 1% &7already owns &eCompanion Cube"
  2776. stop
  2777. set {mineplex.hat.%arg 1%.owned.compCube} to 1
  2778. add 1 to {mineplex.%arg 1%.cosmetics.hats}
  2779. message "&9Cosmetics> &7You gave &e%arg 1% Companion Cube" to player
  2780. message "&9Cosmetics> &7You recieved the &eCompanion Cube &7from &e%player%" to arg 1
  2781. stop
  2782. if arg 3 is "hat_present":
  2783. if {mineplex.hat.%arg 1%.owned.present} is 1:
  2784. message "&9Cosmetics> &e%arg 1% &7already owns &ePresent"
  2785. stop
  2786. set {mineplex.hat.%arg 1%.owned.present} to 1
  2787. add 1 to {mineplex.%arg 1%.cosmetics.hats}
  2788. message "&9Cosmetics> &7You gave &e%arg 1% Present" to player
  2789. message "&9Cosmetics> &7You recieved the &ePresent &7from &e%player%" to arg 1
  2790. stop
  2791. if arg 3 is "particle_shadow":
  2792. if {mineplex.particle.%arg 1%.owned.shadow} is 1:
  2793. message "&9Cosmetics> &e%arg 1% &7already owns &eShadow Walk"
  2794. stop
  2795. set {mineplex.particle.%arg 1%.owned.shadow} to 1
  2796. add 1 to {mineplex.%arg 1%.cosmetics.particles}
  2797. message "&9Cosmetics> &7You gave &e%arg 1% Shadow Walk" to player
  2798. message "&9Cosmetics> &7You recieved the &eShadow Walk &7from &e%player%" to arg 1
  2799. stop
  2800. if arg 3 is "particle_flame":
  2801. if {mineplex.particle.%arg 1%.owned.flame} is 1:
  2802. message "&9Cosmetics> &e%arg 1% &7already owns &eShadow Walk"
  2803. stop
  2804. set {mineplex.particle.%arg 1%.owned.flame} to 1
  2805. add 1 to {mineplex.%arg 1%.cosmetics.particles}
  2806. message "&9Cosmetics> &7You gave &e%arg 1% Flame Rings" to player
  2807. message "&9Cosmetics> &7You recieved the &eFlame Rings &7from &e%player%" to arg 1
  2808. stop
  2809. if arg 3 is "take:hat_compCube":
  2810. if {mineplex.hat.%arg 1%.owned.compCube} is 0:
  2811. message "&9Cosmetics> &e%arg 1% &7doesnt own &eCompanion Cube"
  2812. stop
  2813. set {mineplex.hat.%arg 1%.owned.compCube} to 0
  2814. remove 1 from {mineplex.%arg 1%.cosmetics.hats}
  2815. message "&9Cosmetics> &7You took &e%arg 1%'s Companion Cube" to player
  2816. message "&9Cosmetics> &e%player% &7took your &eCompanion Cube" to arg 1
  2817. stop
  2818. if arg 3 is "take:hat_present":
  2819. if {mineplex.hat.%arg 1%.owned.present} is 0:
  2820. message "&9Cosmetics> &e%arg 1% &7doesnt own &ePresent"
  2821. stop
  2822. set {mineplex.hat.%arg 1%.owned.present} to 0
  2823. remove 1 from {mineplex.%arg 1%.cosmetics.hats}
  2824. message "&9Cosmetics> &7You took &e%arg 1%'s Present" to player
  2825. message "&9Cosmetics> &e%player% &7took your &ePresent" to arg 1
  2826. stop
  2827. if arg 3 is "pearl":
  2828. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.pearl}
  2829. message "&9Item> &7You gave %arg 2% Ethereal Pearls &7to player %arg 1%" to player
  2830. message "&9Item> &e%player% &7gave you &e%arg 2% Ethereal Pearls" to arg 1
  2831. stop
  2832. if arg 3 is "fireworks":
  2833. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.firework}
  2834. message "&9Item> &7You gave %arg 2% Fireworks &7to player %arg 1%" to player
  2835. message "&9Item> &e%player% &7gave you &e%arg 2% Fireworks" to arg 1
  2836. stop
  2837. if arg 3 is "coal":
  2838. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.coal}
  2839. message "&9Item> &7You gave %arg 2% Coal &7to player %arg 1%" to player
  2840. message "&9Item> &e%player% &7gave you &e%arg 2% Coal" to arg 1
  2841. stop
  2842. if arg 3 is "tnt":
  2843. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.tnt}
  2844. message "&9Item> &7You gave %arg 2% TNT &7to player %arg 1%" to player
  2845. message "&9Item> &e%player% &7gave you &e%arg 2% TNT" to arg 1
  2846. stop
  2847. if arg 3 is "snowball":
  2848. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.snowball}
  2849. message "&9Item> &7You gave %arg 2% Snowballs &7to player %arg 1%" to player
  2850. message "&9Item> &e%player% &7gave you &e%arg 2% Snowballs" to arg 1
  2851. stop
  2852. message "&9Cosmetics> &c&lInvalid Cosmetic."
  2853.  
  2854.  
  2855. command /gadget:
  2856. permission: mineplex.admin
  2857. permission message: &9Permissions> &7You do not have permission to do that.
  2858. trigger:
  2859. if {mineplex.cosmetics} is not set:
  2860. set {mineplex.cosmetics} to 1
  2861. if {mineplex.cosmetics} is 1:
  2862. set {mineplex.cosmetics} to 0
  2863. broadcast "&f&lGadgets/Mounts are now &c&lDisabled"
  2864. stop
  2865. if {mineplex.cosmetics} is 0:
  2866. set {mineplex.cosmetics} to 1
  2867. broadcast "&f&lGadgets/Mounts are now &a&lEnabled"
  2868. stop
  2869.  
  2870. every tick:
  2871. loop all players:
  2872. if {mineplex.cosmetics} is not set:
  2873. set {mineplex.cosmetics} to 1
  2874. if {mineplex.cosmetics} is 0:
  2875. set slot 3 of loop-player to air with name "remove"
  2876. stop
  2877. loop-player's gamemode is not creative:
  2878. if {mineplex.cosmetics.%loop-player%} is not set:
  2879. set {mineplex.cosmetics.%loop-player%} to 1
  2880. if {mineplex.gadget.selected.%loop-player%} is "Ethereal Pearl":
  2881. set slot 3 of loop-player to ender pearl with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.pearl}% Ethereal Pearl"
  2882. if {mineplex.gadget.selected.%loop-player%} is "Fireworks":
  2883. set slot 3 of loop-player to firework rocket with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.firework}% Fireworks"
  2884. if {mineplex.gadget.selected.%loop-player%} is "Coal":
  2885. set slot 3 of loop-player to coal with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.coal}% Coal"
  2886. if {mineplex.gadget.selected.%loop-player%} is "TNT":
  2887. set slot 3 of loop-player to tnt with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.tnt}% TNT"
  2888. if {mineplex.gadget.selected.%loop-player%} is "Snowball":
  2889. set slot 3 of loop-player to snowball with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.snowball}% Snowballs"
  2890.  
  2891.  
  2892. on shoot:
  2893. if projectile is an enderpearl:
  2894. if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.pearl}% Ethereal Pearl":
  2895. if {mineplex.%shooter%.cosmetics.gadgets.pearl} is 0:
  2896. cancel event
  2897. cosmetic_system("buy", "pearl", shooter)
  2898. stop
  2899. if {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} is 1:
  2900. set action bar of shooter to "&f&lEthereal Pearl is recharging"
  2901. cancel event
  2902. stop
  2903. remove 1 from {mineplex.%shooter%.cosmetics.gadgets.pearl}
  2904. set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 1
  2905. message "&9Skill> &7You threw &aEthereal Pearl&7." to shooter
  2906. make shooter ride projectile
  2907. wait 3 ticks
  2908. make shooter ride projectile
  2909. wait 3 seconds
  2910. set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 0
  2911. set action bar of shooter to "&a&lEthereal Pearl Recharged."
  2912. if projectile is an snowball:
  2913. if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.snowball}% Snowballs":
  2914. if {mineplex.%shooter%.cosmetics.gadgets.snowball} is 0:
  2915. cancel event
  2916. message "&9Gadget> &7You have no Snowballs left!" to shooter
  2917. stop
  2918. if {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} is 1:
  2919. set action bar of shooter to "&f&lSnowball is recharging"
  2920. cancel event
  2921. stop
  2922. remove 1 from {mineplex.%shooter%.cosmetics.gadgets.snowball}
  2923. set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 1
  2924. message "&9Skill> &7You threw &aSnowball&7." to shooter
  2925. wait 10 ticks
  2926. set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 0
  2927. set action bar of shooter to "&a&lSnowball Recharged."
  2928.  
  2929. on right click:
  2930. if player's tool is tnt:
  2931. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.tnt}% TNT":
  2932. if {mineplex.%player%.cosmetics.gadgets.tnt} is less than 1:
  2933. cosmetic_system("buy", "tnt", player)
  2934. stop
  2935. if {mineplex.%player%.cosmetics.gadgets.tntCooldown} is 1:
  2936. set action bar of player to "&f&lTNT is recharging"
  2937. stop
  2938. remove 1 from {mineplex.%player%.cosmetics.gadgets.tnt}
  2939. spawn a primed tnt 1 meter above the player
  2940. add "{Fuse:60}" to nbt of the spawned entity
  2941. push the spawned entity in direction of player at speed 0.9
  2942. push the spawned entity upwards at speed 0.2
  2943. message "&9Skill> &7You threw &aTNT&7."
  2944. set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 1
  2945. wait 3 seconds
  2946. set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 0
  2947. set action bar of player to "&a&lTNT Recharged."
  2948.  
  2949. on right click:
  2950. if player's tool is firework rocket:
  2951. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.firework}% Fireworks":
  2952. if {mineplex.%player%.cosmetics.gadgets.firework} is 0:
  2953. cancel event
  2954. cosmetic_system("buy", "firework", player)
  2955. stop
  2956. if {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} is 1:
  2957. set action bar of player to "&f&lFireworks &f&lis recharging..."
  2958. cancel event
  2959. stop
  2960. remove 1 from {mineplex.%player%.cosmetics.gadgets.firework}
  2961. cancel event
  2962. set {firework} to a random integer from 1 to 15
  2963. if {firework} is 1:
  2964. launch creeper firework colored red at player timed 1
  2965. if {firework} is 2:
  2966. launch burst firework colored green at player timed 1
  2967. if {firework} is 3:
  2968. launch ball firework colored yellow at player timed 1
  2969. if {firework} is 4:
  2970. launch ball firework colored blue at player timed 1
  2971. if {firework} is 5:
  2972. launch burst firework colored red at player timed 1
  2973. if {firework} is 6:
  2974. launch creeper firework colored light green at player timed 1
  2975. if {firework} is 7:
  2976. launch burst firework colored light green at player timed 1
  2977. if {firework} is 8:
  2978. launch ball firework colored orange at player timed 1
  2979. if {firework} is 9:
  2980. launch burst firework colored orange at player timed 1
  2981. if {firework} is 10:
  2982. launch creeper firework colored pink at player timed 1
  2983. if {firework} is 11:
  2984. launch burst firework colored orange at player timed 1
  2985. if {firework} is 12:
  2986. launch burst firework colored light green at player timed 1
  2987. if {firework} is 13:
  2988. launch burst firework colored blue at player timed 1
  2989. if {firework} is 14:
  2990. launch burst firework colored blue at player timed 1
  2991. if {firework} is 15:
  2992. launch burst firework colored yellow at player timed 1
  2993. set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 1
  2994. message "&9Skill> &7You used &aFireworks&7."
  2995. wait 10 ticks
  2996. set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 0
  2997. set action bar of player to "&a&lFireworks Recharged."
  2998. on right click:
  2999. if player's tool is coal:
  3000. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.coal}% Coal":
  3001. if {mineplex.%player%.cosmetics.gadgets.coal} is 0:
  3002. message "&9Coal> &7You should go and get some coal..."
  3003. stop
  3004. if {mineplex.%player%.cosmetics.gadgets.coalCooldown} is 1:
  3005. set action bar of player to "&f&lCoal &f&lis recharging..."
  3006. cancel event
  3007. stop
  3008. message "&9Skill> &7You used &aCoal&7."
  3009. set {coalMessage} to a random integer from 1 to 10
  3010. if {coalMessage} is 1:
  3011. message "&9Coal> &7Maybe you could... eat it?"
  3012. if {coalMessage} is 2:
  3013. message "&9Coal> &7Now... if you only had a furnace."
  3014. if {coalMessage} is 3:
  3015. message "&9Coal> &7Did you know a diamond is formed from coal?"
  3016. if {coalMessage} is 4:
  3017. message "&9Coal> &7Coal is a word that sounds wierd if you say it too much."
  3018. if {coalMessage} is 5:
  3019. message "&9Coal> &7Did you know coal is used for &knothing&7!"
  3020. if {coalMessage} is 6:
  3021. message "&9Coal> &7I hope you didn't miss any diamonds."
  3022. if {coalMessage} is 7:
  3023. message "&9Coal> &7Na na na na, Na na na na, &8BLACK COAL"
  3024. if {coalMessage} is 8:
  3025. message "&9Coal> &7With 9 of these you could make a Block."
  3026. if {coalMessage} is 9:
  3027. message "&9Coal> &7Lava is hotter, but coal is quicker."
  3028. if {coalMessage} is 10:
  3029. message "&9Coal> &7For what do you even need Coal on a Minigame server?"
  3030. set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 1
  3031. wait 10 ticks
  3032. set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 0
  3033. set action bar of player to "&a&lCoal Recharged."
  3034.  
  3035. #Slime mount test
  3036. on right click on slime:
  3037. if {currentmount.%player%} is not set:
  3038. delete {currentmount.%player%}
  3039. message "&9Mount> &7This is not your mount."
  3040. else:
  3041. if {currentmount.%player%} is the clicked entity:
  3042. make the player ride the clicked entity
  3043. else:
  3044. message "&9Mount> &7This is not your mount."
  3045.  
  3046.  
  3047.  
  3048. on explode:
  3049. create a safe explosion with force 3
  3050. cancel event
  3051.  
  3052. on damage:
  3053. attacker's name contains "Slime"
  3054. set damage to 0
  3055. cancel event
  3056.  
  3057. #Morph Disablers (Quit)
  3058. on quit:
  3059. if {mineplex.currentmorph.%player%} is "Creeper Morph":
  3060. cosmetic_system("use", "morph_creeper", player)
  3061. if {mineplex.currentmorph.%player%} is "Slime Morph":
  3062. cosmetic_system("use", "morph_slime", player)
  3063. if {mineplex.currentmorph.%player%} is "Cow Morph":
  3064. cosmetic_system("use", "morph_cow", player)
  3065. if {mineplex.currentmorph.%player%} is "Villager Morph":
  3066. cosmetic_system("use", "morph_villager", player)
  3067. if {mineplex.currentmorph.%player%} is "Wither Morph":
  3068. cosmetic_system("use", "morph_wither", player)
  3069.  
  3070. #Treasure System
  3071.  
  3072. function resetPoints(p: offline player, l: number) :: number:
  3073. delete {mineplex.chestbusy.%{_l}%}
  3074. delete {mineplex.inchest.%{_p}%}
  3075. delete {mineplex.chestsopened.%{_p}%}
  3076. set block at {mineplex.chestpoint.%{_l}%.sub.1} to air
  3077. set block at {mineplex.chestpoint.%{_l}%.sub.2} to air
  3078. set block at {mineplex.chestpoint.%{_l}%.sub.3} to air
  3079. set block at {mineplex.chestpoint.%{_l}%.sub.4} to air
  3080. set block at {mineplex.chestpoint.%{_l}%.sub.5} to air
  3081. set block at {mineplex.chestpoint.%{_l}%.sub.6} to air
  3082. set block at {mineplex.chestpoint.%{_l}%.sub.7} to air
  3083. set block at {mineplex.chestpoint.%{_l}%.sub.8} to air
  3084. set block at {mineplex.chestpoint.%{_l}%} to chest
  3085.  
  3086. function rewardTreasure(p: player , c: number , l: number , s: number) :: number:
  3087. set {_mineplex.chestpoint.%{_l}%.sub.%{_s}%} to {mineplex.chestpoint.%{_l}%.sub.%{_s}%}
  3088. add 0 to y-coordinate of {_mineplex.chestpoint.%{_l}%.sub.%{_s}%}
  3089. if {_c} is 3:
  3090. set {_r} to a random integer between 1 and 350
  3091. if {_r} is 50:
  3092. if {mineplex.rank.%{_p}%} is "":
  3093. set {_ra} to "ULTRA"
  3094. else if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  3095. set {_ra} to "HERO"
  3096. else if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  3097. set {_ra} to "LEGEND"
  3098. else if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  3099. set {_ra} to "TITAN"
  3100. else if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  3101. set {_ra} to "ETERNAL"
  3102. else:
  3103. set {_ra} to a random integer between 2750 and 3750
  3104. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  3105. addShards({_p}, {_ra})
  3106. wait 2.25 seconds
  3107. execute console command "/rank set %{_p}% %{_ra}%"
  3108. broadcast "&9Treasure> &e%{_p}% &7found &cMythical %{_ra}% Rank&7."
  3109. send all players title "&eTreasure" with subtitle "&f%{_p}% has found &cMythical Rank Upgrade" for 10 seconds
  3110. else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
  3111. set {_ra} to a random integer between 1500 and 2250
  3112. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  3113. addShards({_p}, {_ra})
  3114. 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:
  3115. set {_ra} to a random integer between 1025 and 1495
  3116. broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
  3117. addShards({_p}, {_ra})
  3118. 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:
  3119. set {_ra} to a random integer between 525 and 985
  3120. send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
  3121. addShards({_p}, {_ra})
  3122. else:
  3123. set {_ra} to a random integer between 150 and 499
  3124. send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
  3125. addShards({_p}, {_ra})
  3126. else:
  3127. set {_r} to a random integer between 1 and 350
  3128. if {_r} is 50:
  3129. set {_ra} to a random integer between 2750 and 3750
  3130. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  3131. addShards({_p}, {_ra})
  3132. else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
  3133. set {_ra} to a random integer between 1500 and 2250
  3134. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  3135. addShards({_p}, {_ra})
  3136. wait 2.25 seconds
  3137. resetPoints({_p}, {_l})
  3138. delete {mineplex.inchest.%{_p}%}
  3139. 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:
  3140. set {_ra} to a random integer between 1025 and 1495
  3141. broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
  3142. addShards({_p}, {_ra})
  3143. 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:
  3144. set {_ra} to a random integer between 525 and 985
  3145. send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
  3146. addShards({_p}, {_ra})
  3147. else:
  3148. set {_ra} to a random integer between 150 and 499
  3149. send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
  3150. addShards({_p}, {_ra})
  3151.  
  3152. on join:
  3153. if {oldchests.%player%} is not set:
  3154. set {oldchests.%player%} to 0
  3155. if {ancientchests.%player%} is not set:
  3156. set {ancientchests.%player%} to 0
  3157. if {mythicalchests.%player%} is not set:
  3158. set {mythicalchests.%player%} to 0
  3159.  
  3160. function buyChest(p: player, n: number) :: player:
  3161. if {_n} is 1:
  3162. if {mineplex.shards.%{_p}%} >= 1000:
  3163. close {_p}'s inventory
  3164. wait 3 ticks
  3165. open chest with 6 rows named " Confirmation" to {_p}
  3166. wait 5 ticks
  3167. set {_slot} to 0
  3168. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3169. loop 44 times:
  3170. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3171. add 1 to {_slot}
  3172. loop 10 times:
  3173. wait 1 tick
  3174. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3175. add 1 to {slot}
  3176. delShards({_p}, 1000)
  3177. add 1 to {oldchests.%{_p}%}
  3178. wait 10 ticks
  3179. close {_p}'s inventory
  3180. else:
  3181. close {_p}'s inventory
  3182. wait 3 ticks
  3183. open chest with 6 rows named " Confirmation" to {_p}
  3184. wait 5 ticks
  3185. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3186. set {_slot} to 0
  3187. loop 54 times:
  3188. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3189. add 1 to {_slot}
  3190. wait 10 ticks
  3191. close {_p}'s inventory
  3192. if {_n} is 2:
  3193. if {mineplex.shards.%{_p}%} >= 5000:
  3194. close {_p}'s inventory
  3195. wait 3 ticks
  3196. open chest with 6 rows named " Confirmation" to {_p}
  3197. wait 5 ticks
  3198. set {_slot} to 0
  3199. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3200. loop 44 times:
  3201. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3202. add 1 to {_slot}
  3203. loop 10 times:
  3204. wait 1 tick
  3205. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3206. add 1 to {slot}
  3207. remove 5000 from {mineplex.shards.%{_p}%}
  3208. delShards({_p}, 5000)
  3209. add 1 to {ancientchests.%{_p}%}
  3210. wait 10 ticks
  3211. close {_p}'s inventory
  3212. else:
  3213. close {_p}'s inventory
  3214. wait 3 ticks
  3215. open chest with 6 rows named " Confirmation" to {_p}
  3216. wait 5 ticks
  3217. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3218. set {_slot} to 0
  3219. loop 54 times:
  3220. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3221. add 1 to {_slot}
  3222. wait 10 ticks
  3223. close {_p}'s inventory
  3224. if {_n} is 3:
  3225. if {mineplex.shards.%{_p}%} >= 10000:
  3226. close {_p}'s inventory
  3227. wait 3 ticks
  3228. open chest with 6 rows named " Confirmation" to {_p}
  3229. wait 5 ticks
  3230. set {_slot} to 0
  3231. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3232. loop 44 times:
  3233. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3234. add 1 to {_slot}
  3235. loop 10 times:
  3236. wait 1 tick
  3237. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  3238. add 1 to {slot}
  3239. delShards({_p}, 10000)
  3240. add 1 to {mythicalchests.%{_p}%}
  3241. wait 10 ticks
  3242. close {_p}'s inventory
  3243. else:
  3244. close {_p}'s inventory
  3245. wait 3 ticks
  3246. open chest with 6 rows named " Confirmation" to {_p}
  3247. wait 5 ticks
  3248. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3249. set {_slot} to 0
  3250. loop 54 times:
  3251. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  3252. add 1 to {_slot}
  3253. wait 10 ticks
  3254. close {_p}'s inventory
  3255.  
  3256. function openTreasure(p: player , c: number , l: number) :: number:
  3257. if {_c} is 1:
  3258. if {oldchests.%{_p}%} < 1:
  3259. close {_p}'s inventory
  3260. wait 2 ticks
  3261. open chest with 6 rows named " Confirmation" to {_p}
  3262. wait 1 tick
  3263. format slot 4 of {_p} with prismarine shard named "&b&l1000 Shards" to be unstealable
  3264. 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
  3265. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3266. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3267. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3268. format slot 33 of {_p} with redstone block named "&cNO" to close
  3269. format slot 34 of {_p} with redstone block named "&cNO" to close
  3270. format slot 35 of {_p} with redstone block named "&cNO" to close
  3271. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3272. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3273. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3274. format slot 42 of {_p} with redstone block named "&cNO" to close
  3275. format slot 43 of {_p} with redstone block named "&cNO" to close
  3276. format slot 44 of {_p} with redstone block named "&cNO" to close
  3277. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3278. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3279. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  3280. format slot 51 of {_p} with redstone block named "&cNO" to close
  3281. format slot 52 of {_p} with redstone block named "&cNO" to close
  3282. format slot 53 of {_p} with redstone block named "&cNO" to close
  3283. if {oldchests.%{_p}%} >= 1:
  3284. remove 1 from {oldchests.%{_p}%}
  3285. set {mineplex.chestbusy.%{_l}%.} to {_p}
  3286. send {_p} title "&eOld Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  3287. set {mineplex.inchest.%{_p}%} to {_l}
  3288. set block at {mineplex.chestpoint.%{_l}%} to air
  3289. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  3290. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  3291. wait 1.2 seconds
  3292. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  3293. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  3294. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  3295. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  3296. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  3297. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  3298. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  3299. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  3300. set {_get} to getPlayerdata({_p}, "stats.global.chests")
  3301. set {_cur} to {_get} parsed as a number
  3302. add 1 to {_cur}
  3303. setPlayerdata({_p}, "stats.global.chests", "%{_cur}%")
  3304. if {_c} is 2:
  3305. if {ancientchests.%{_p}%} < 1:
  3306. close {_p}'s inventory
  3307. wait 2 ticks
  3308. open chest with 6 rows named " Confirmation" to {_p}
  3309. wait 1 tick
  3310. format slot 4 of {_p} with prismarine shard named "&b&l5000 Shards" to be unstealable
  3311. 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
  3312. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3313. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3314. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3315. format slot 33 of {_p} with redstone block named "&cNO" to close
  3316. format slot 34 of {_p} with redstone block named "&cNO" to close
  3317. format slot 35 of {_p} with redstone block named "&cNO" to close
  3318. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3319. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3320. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3321. format slot 42 of {_p} with redstone block named "&cNO" to close
  3322. format slot 43 of {_p} with redstone block named "&cNO" to close
  3323. format slot 44 of {_p} with redstone block named "&cNO" to close
  3324. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3325. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3326. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  3327. format slot 51 of {_p} with redstone block named "&cNO" to close
  3328. format slot 52 of {_p} with redstone block named "&cNO" to close
  3329. format slot 53 of {_p} with redstone block named "&cNO" to close
  3330. if {ancientchests.%{_p}%} >= 1:
  3331. remove 1 from {ancientchests.%{_p}%}
  3332. set {mineplex.chestbusy.%{_l}%.} to {_p}
  3333. send {_p} title "&6Ancient Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  3334. set {mineplex.inchest.%{_p}%} to {_l}
  3335. set block at {mineplex.chestpoint.%{_l}%} to air
  3336. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  3337. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  3338. wait 2.5 seconds
  3339. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  3340. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  3341. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  3342. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  3343. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  3344. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  3345. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  3346. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  3347. if {_c} is 3:
  3348. if {mythicalchests.%{_p}%} < 1:
  3349. close {_p}'s inventory
  3350. wait 2 ticks
  3351. open chest with 6 rows named " Confirmation" to {_p}
  3352. wait 1 tick
  3353. format slot 4 of {_p} with prismarine shard named "&b&l10000 Shards" to be unstealable
  3354. 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
  3355. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3356. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3357. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3358. format slot 33 of {_p} with redstone block named "&cNO" to close
  3359. format slot 34 of {_p} with redstone block named "&cNO" to close
  3360. format slot 35 of {_p} with redstone block named "&cNO" to close
  3361. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3362. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3363. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3364. format slot 42 of {_p} with redstone block named "&cNO" to close
  3365. format slot 43 of {_p} with redstone block named "&cNO" to close
  3366. format slot 44 of {_p} with redstone block named "&cNO" to close
  3367. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3368. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3369. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  3370. format slot 51 of {_p} with redstone block named "&cNO" to close
  3371. format slot 52 of {_p} with redstone block named "&cNO" to close
  3372. format slot 53 of {_p} with redstone block named "&cNO" to close
  3373. if {mythicalchests.%{_p}%} >= 1:
  3374. remove 1 from {mythicalchests.%{_p}%}
  3375. set {mineplex.chestbusy.%{_l}%.} to {_p}
  3376. send {_p} title "&cMythical Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  3377. set {mineplex.inchest.%{_p}%} to {_l}
  3378. set block at {mineplex.chestpoint.%{_l}%} to air
  3379. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  3380. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  3381. wait 2.5 seconds
  3382. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  3383. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  3384. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  3385. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  3386. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  3387. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  3388. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  3389. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  3390.  
  3391. on inventory click:
  3392. if inventory name of player's current inventory is " Confirmation":
  3393. cancel event
  3394. close player's inventory
  3395.  
  3396. function TreasurePage(p: player , n: number , c: number) :: player:
  3397. if {_N} is 2:
  3398. if {_C} is 1:
  3399. close {_p}'s inventory
  3400. wait 4 ticks
  3401. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  3402. wait 2 ticks
  3403. 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}]
  3404. 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}]
  3405. 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}]
  3406. 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}]
  3407. format slot 22 of {_p} with skull of ("WheezyGold7931" 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}]
  3408. 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}]
  3409. 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
  3410. 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}]
  3411. 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}]
  3412. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 1)]
  3413. 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
  3414. else if {_C} is 2:
  3415. close {_p}'s inventory
  3416. wait 4 ticks
  3417. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  3418. wait 2 ticks
  3419. 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}]
  3420. 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}]
  3421. 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}]
  3422. 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
  3423. format slot 22 of {_p} with skull of ("WheezyGold7931" 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}]
  3424. 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}]
  3425. 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}]
  3426. 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}]
  3427. 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}]
  3428. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 2)]
  3429. 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
  3430. else if {_C} is 3:
  3431. close {_p}'s inventory
  3432. wait 4 ticks
  3433. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  3434. wait 2 ticks
  3435. 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}]
  3436. 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}]
  3437. 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}]
  3438. 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
  3439. format slot 22 of {_p} with skull of ("WheezyGold7931" 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
  3440. 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}]
  3441. 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}]
  3442. 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}]
  3443. 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}]
  3444. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 3)]
  3445. 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
  3446. else if {_C} is 4:
  3447. close {_p}'s inventory
  3448. wait 4 ticks
  3449. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  3450. wait 2 ticks
  3451. 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
  3452. 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
  3453. 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
  3454. 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
  3455. format slot 22 of {_p} with skull of ("WheezyGold7931" 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}]
  3456. 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}]
  3457. 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}]
  3458. 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}]
  3459. 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}]
  3460. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 4)]
  3461. 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
  3462. if {_N} is 1:
  3463. if {_C} is 1:
  3464. wait 2 ticks
  3465. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  3466. wait 2 ticks
  3467. 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)]
  3468. 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)]
  3469. 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)]
  3470. 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}]
  3471. 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}]
  3472. 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}]
  3473. 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
  3474. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 1)]
  3475. if {_C} is 2:
  3476. wait 2 ticks
  3477. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  3478. wait 2 ticks
  3479. 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)]
  3480. 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)]
  3481. 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)]
  3482. 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}]
  3483. 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}]
  3484. 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}]
  3485. 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
  3486. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 2)]
  3487. if {_C} is 3:
  3488. wait 2 ticks
  3489. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  3490. wait 2 ticks
  3491. 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)]
  3492. 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)]
  3493. 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)]
  3494. 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}]
  3495. 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}]
  3496. 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}]
  3497. 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
  3498. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 3)]
  3499. if {_C} is 4:
  3500. wait 2 ticks
  3501. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  3502. wait 2 ticks
  3503. 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)]
  3504. 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)]
  3505. 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)]
  3506. 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}]
  3507. 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}]
  3508. 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}]
  3509. 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
  3510. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 4)]
  3511.  
  3512. command /givetreasure [<string>] [<number>] [<offline player>]:
  3513. permission: mineplex.support
  3514. permission message: &9Permissions> &7You do not have permission to do that.
  3515. trigger:
  3516. if arg-1 is set:
  3517. if arg-2 is set:
  3518. if arg-2 is an integer:
  3519. if arg-3 is set:
  3520. if arg-1 is "Mythical":
  3521. add arg-2 to {mythicalchests.%arg-3%}
  3522. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Mythical Treasure Chests." to sender
  3523. message "&9Treasure> &7You recieved &e%arg-2% &7Mythical Treasure Chests." to arg-3
  3524. stop
  3525. else if arg-1 is "Ancient":
  3526. add arg-2 to {ancientchests.%arg-3%}
  3527. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Ancient Treasure Chests." to sender
  3528. message "&9Treasure> &7You recieved &e%arg-2% &7Ancient Treasure Chests." to arg-3
  3529. stop
  3530. else if arg-1 is "old":
  3531. add arg-2 to {oldchests.%arg-3%}
  3532. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Old Treasure Chests." to sender
  3533. message "&9Treasure> &7You recieved &e%arg-2% &7Old Treasure Chests." to arg-3
  3534. stop
  3535. else:
  3536. send "&9Treasure> &7Unknown Treasure [&e%arg-1%&7]." to sender
  3537. stop
  3538. else:
  3539. send "&9Treasure> &7Please specify a player" to sender
  3540. stop
  3541. else if arg-2 is not an integer:
  3542. send "&9Treasure> &7Unknown Integer [&e%arg-2%&7]." to sender
  3543. stop
  3544. else:
  3545. send "&9Treasure> &7Please specify an amount." to sender
  3546. stop
  3547. else:
  3548. send "&9Treasure> &7Listing Commands:" to sender
  3549. send "&4/GiveTreasure <treasure> <amount> <name> &7Gives a player some treasure chests &4Admin" to sender
  3550. stop
  3551.  
  3552. every 5 ticks:
  3553. loop all players:
  3554. if {mineplex.inchest.%loop-player%} is set:
  3555. set {_di} to distance between {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%} and loop-player
  3556. if {_di} is greater than 3.11:
  3557. teleport loop-player to {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%}
  3558.  
  3559. every 5 ticks:
  3560. loop all players:
  3561. if {mineplex.inchest.%loop-player%} is set:
  3562. loop players in radius 4 of loop-player:
  3563. if loop-player-2 is not loop-player-1:
  3564. if {mineplex.pref.ff.%loop-player-2%} is false:
  3565. push the loop-player-2 upwards at speed 0.925
  3566. push the loop-player-2 backwards at speed 0.825
  3567. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  3568.  
  3569. on right click on chest:
  3570. if player's tool is a chest:
  3571. if name of player's tool is "&aCosmetic Menu":
  3572. stop
  3573. else:
  3574. send "&9MCR> &e##BlameWheezy"
  3575. else:
  3576. if event-block is {mineplex.chestpoint.1}:
  3577. cancel event
  3578. TreasurePage(player, 1, 1)
  3579. if event-block is {mineplex.chestpoint.2}:
  3580. cancel event
  3581. TreasurePage(player, 1, 2)
  3582. if event-block is {mineplex.chestpoint.3}:
  3583. cancel event
  3584. TreasurePage(player, 1, 3)
  3585. if event-block is {mineplex.chestpoint.4}:
  3586. cancel event
  3587. TreasurePage(player, 1, 4)
  3588.  
  3589. on right click:
  3590. target block of player is chest or ender chest
  3591. if player's tool is a chest:
  3592. if name of player's tool is "&aCosmetic Menu":
  3593. stop
  3594. else:
  3595. send "&9MCR> &e##BlameWheezy"
  3596. else:
  3597. 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}:
  3598. if {mineplex.inchest.%player%} is set:
  3599. if {mineplex.chestsopened.%player%} is not set:
  3600. set {mineplex.chestsopened.%player%} to 1
  3601. cancel event
  3602. make the event-block appear open
  3603. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3604. loop all players:
  3605. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3606. stop
  3607. else if {mineplex.chestsopened.%player%} is 3:
  3608. cancel event
  3609. add 1 to {mineplex.chestsopened.%player%}
  3610. make the event-block appear open
  3611. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3612. loop all players:
  3613. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3614. wait 3 seconds
  3615. resetPoints(player, 1)
  3616. execute player command "/hub"
  3617. stop
  3618. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3619. cancel event
  3620. add 1 to {mineplex.chestsopened.%player%}
  3621. make the event-block appear open
  3622. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3623. loop all players:
  3624. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3625. stop
  3626. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3627. cancel event
  3628. else:
  3629. cancel event
  3630. 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}:
  3631. if {mineplex.inchest.%player%} is set:
  3632. if {mineplex.chestsopened.%player%} is not set:
  3633. set {mineplex.chestsopened.%player%} to 1
  3634. cancel event
  3635. make the event-block appear open
  3636. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3637. loop all players:
  3638. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3639. stop
  3640. else if {mineplex.chestsopened.%player%} is 3:
  3641. cancel event
  3642. add 1 to {mineplex.chestsopened.%player%}
  3643. make the event-block appear open
  3644. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3645. loop all players:
  3646. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3647. wait 3 seconds
  3648. resetPoints(player, 2)
  3649. execute player command "/hub"
  3650. stop
  3651. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3652. cancel event
  3653. add 1 to {mineplex.chestsopened.%player%}
  3654. make the event-block appear open
  3655. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3656. loop all players:
  3657. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3658. stop
  3659. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3660. cancel event
  3661. else:
  3662. cancel event
  3663. 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}:
  3664. if {mineplex.inchest.%player%} is set:
  3665. if {mineplex.chestsopened.%player%} is not set:
  3666. set {mineplex.chestsopened.%player%} to 1
  3667. cancel event
  3668. make the event-block appear open
  3669. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3670. loop all players:
  3671. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3672. stop
  3673. else if {mineplex.chestsopened.%player%} is 3:
  3674. cancel event
  3675. add 1 to {mineplex.chestsopened.%player%}
  3676. make the event-block appear open
  3677. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3678. loop all players:
  3679. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3680. wait 3 seconds
  3681. resetPoints(player, 3)
  3682. execute player command "/hub"
  3683. stop
  3684. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3685. cancel event
  3686. add 1 to {mineplex.chestsopened.%player%}
  3687. make the event-block appear open
  3688. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3689. loop all players:
  3690. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3691. stop
  3692. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3693. cancel event
  3694. else:
  3695. cancel event
  3696. 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}:
  3697. if {mineplex.inchest.%player%} is set:
  3698. if {mineplex.chestsopened.%player%} is not set:
  3699. set {mineplex.chestsopened.%player%} to 1
  3700. cancel event
  3701. make the event-block appear open
  3702. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3703. loop all players:
  3704. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3705. stop
  3706. else if {mineplex.chestsopened.%player%} is 3:
  3707. cancel event
  3708. add 1 to {mineplex.chestsopened.%player%}
  3709. make the event-block appear open
  3710. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3711. loop all players:
  3712. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3713. wait 3 seconds
  3714. resetPoints(player, 4)
  3715. execute player command "/hub"
  3716. stop
  3717. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3718. cancel event
  3719. add 1 to {mineplex.chestsopened.%player%}
  3720. make the event-block appear open
  3721. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3722. loop all players:
  3723. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3724. stop
  3725. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3726. cancel event
  3727. else:
  3728. cancel event
  3729.  
  3730. on quit:
  3731. set {_p} to player
  3732. if {mineplex.inchest.%{_p}%} is set:
  3733. resetPoints({_p}, {mineplex.inchest.%{_p}%})
  3734. delete {mineplex.inchest.%{_p}%}
  3735.  
  3736. #Scoreboard
  3737. function animSB(p: player) :: text:
  3738. while {_p} is online:
  3739. set {_l} to the length of {mineplex.sb.anim.%{_p}%}
  3740. remove 15 from {_l}
  3741. set {_char} to 0
  3742. loop {_l} times:
  3743. if {_p} is online:
  3744. wipe {_p}'s sidebar
  3745. set name of sidebar of {_p} to "&f&l%subtext of {mineplex.sb.anim.%{_p}%} from characters {_char} to ({_char} + 15)%"
  3746. set score "&b&lServer" in sidebar of {_p} to 15
  3747. set score "&f%{mineplex.config.world}%" in sidebar of {_p} to 14
  3748. set score "&1 " in sidebar of {_p} to 13
  3749. set score "&a&lGems" in sidebar of {_p} to 12
  3750. set score "&r%{mineplex.gems.%{_p}%}%" in sidebar of {_p} to 11
  3751. set score "&2 " in sidebar of {_p} to 10
  3752. set score "&e&lShards" in sidebar of {_p} to 9
  3753. set score "&f%{mineplex.shards.%{_p}%}%" in sidebar of {_p} to 8
  3754. set score "&3 " in sidebar of {_p} to 7
  3755. set score "&6&lRank" in sidebar of {_p} to 6
  3756. set score "&f%{mineplex.api.displayrank.%{_p}%}%" in sidebar of {_p} to 5
  3757. set score "&4 " in sidebar of {_p} to 4
  3758. set score "&c&lWebsite" in sidebar of {_p} to 3
  3759. set score "&f%{mineplex.config.website}%" in sidebar of {_p} to 2
  3760. set score "&f----------------" in sidebar of {_p} to 1
  3761. set {mineplex.sbdisplay.name.%{_p}%} to "&f&l%subtext of {mineplex.sb.anim.%{_p}%} from characters {_char} to ({_char} + 15)%"
  3762. add 1 to {_char}
  3763. wait 3 ticks
  3764. else:
  3765. stop
  3766.  
  3767.  
  3768. on join:
  3769. if {mineplex.usescoreboard} is false:
  3770. stop
  3771. set {mineplex.sb.anim.%player%} to " Welcome %player%, to the %{mineplex.config.servername}% Network! "
  3772. animSB(player)
  3773.  
  3774. #every 2 seconds:
  3775. #if {mineplex.usescoreboard} is false:
  3776. #stop
  3777. #else:
  3778. #loop all players:
  3779. #wipe loop-player's sidebar
  3780. #set {_fc} to convert string {mineplex.config.servername} to uppercase
  3781. #set name of sidebar of loop-player to ""
  3782. #set score "&b&lServer" in sidebar of loop-player to 15
  3783. #set score "&f%{mineplex.config.world}%" in sidebar of loop-player to 14
  3784. #set score "&1 " in sidebar of loop-player to 13
  3785. #set score "&a&lGems" in sidebar of loop-player to 12
  3786. #set score "&r%{mineplex.gems.%loop-player%}%" in sidebar of loop-player to 11
  3787. #set score "&2 " in sidebar of loop-player to 10
  3788. #set score "&e&lShards" in sidebar of loop-player to 9
  3789. #set score "&f%{mineplex.shards.%loop-player%}%" in sidebar of loop-player to 8
  3790. #set score "&3 " in sidebar of loop-player to 7
  3791. #set score "&6&lRank" in sidebar of loop-player to 6
  3792. #set score "&f%{mineplex.api.displayrank.%loop-player%}%" in sidebar of loop-player to 5
  3793. #set score "&4 " in sidebar of loop-player to 4
  3794. #set score "&c&lWebsite" in sidebar of loop-player to 3
  3795. #set score "&f%{mineplex.config.website}%" in sidebar of loop-player to 2
  3796. #set score "&f----------------" in sidebar of loop-player to 1
  3797.  
  3798. #Rank Loader
  3799.  
  3800. function rankLoad(p: player , n: number , t: number) :: string:
  3801. if {_n} is 1:
  3802. if {mineplex.testrank.%{_p}%} is set:
  3803. if {_t} is 0:
  3804. set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
  3805. delete {mineplex.testrank.%{_p}%}
  3806. if {mineplex.rank.%{_p}%} is not set:
  3807. set {mineplex.rank.%{_p}%} to ""
  3808. if {mineplex.rank.%{_p}%} is "":
  3809. execute console command "/rank set %{_p}% ALL"
  3810. set {_p} tab name to "&e%{_p}%"
  3811. set {mineplex.displaya.%{_p}%} to "&fPlayer"
  3812. set {mineplex.colora.%{_p}%} to "§f"
  3813. return "&fPlayer"
  3814. if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  3815. execute console command "/rank set %{_p}% ULTRA"
  3816. set {_p} tab name to "&b&lULTRA &e%{_p}%"
  3817. set {mineplex.displaya.%{_p}%} to "&bUltra"
  3818. set {mineplex.colora.%{_p}%} to "§b"
  3819. 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}%"
  3820. return "&bUltra"
  3821. if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  3822. execute console command "/rank set %{_p}% HERO"
  3823. set {_p} tab name to "&d&lHERO &e%{_p}%"
  3824. set {mineplex.displaya.%{_p}%} to "&dHero"
  3825. set {mineplex.colora.%{_p}%} to "§d"
  3826. 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}%"
  3827. return "&dHero"
  3828. if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  3829. execute console command "/rank set %{_p}% LEGEND"
  3830. set {_p} tab name to "&a&lLEGEND &e%{_p}%"
  3831. set {mineplex.displaya.%{_p}%} to "&aLegend"
  3832. set {mineplex.colora.%{_p}%} to "§a"
  3833. 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}%"
  3834. return "&aLegend"
  3835. if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  3836. execute console command "/rank set %{_p}% TITAN"
  3837. set {_p} tab name to "&c&lTITAN &e%{_p}%"
  3838. set {mineplex.displaya.%{_p}%} to "&cTitan"
  3839. set {mineplex.colora.%{_p}%} to "§c"
  3840. 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}%"
  3841. return "&cTitan"
  3842. if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
  3843. execute console command "/rank set %{_p}% TRAINEE"
  3844. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3845. if loop-value is {_p}:
  3846. set {_p} tab name to "&6&lP.TRAINEE &e%{_p}%"
  3847. else:
  3848. set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
  3849. set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
  3850. set {mineplex.displaya.%{_p}%} to "&6Trainee"
  3851. set {mineplex.colora.%{_p}%} to "§6"
  3852. 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."
  3853. return "&6Trainee"
  3854. if {mineplex.rank.%{_p}%} is "&6&lMOD ":
  3855. execute console command "/rank set %{_p}% MODERATOR"
  3856. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3857. if loop-value is {_p}:
  3858. set {_p} tab name to "&6&lP.MOD &e%{_p}%"
  3859. else:
  3860. set {_p} tab name to "&6&lMOD &e%{_p}%"
  3861. set {mineplex.displaya.%{_p}%} to "&6Mod"
  3862. set {mineplex.colora.%{_p}%} to "§6"
  3863. 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."
  3864. return "&6Mod"
  3865. if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
  3866. execute console command "/rank set %{_p}% SNR_MODERATOR"
  3867. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3868. if loop-value is {_p}:
  3869. set {_p} tab name to "&6&lP.SR.MOD &e%{_p}%"
  3870. else:
  3871. set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
  3872. set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
  3873. set {mineplex.colora.%{_p}%} to "§6"
  3874. 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."
  3875. return "&6Sr.Mod"
  3876. if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
  3877. execute console command "/rank set %{_p}% CLANS_MOD"
  3878. set {_p} tab name to "&6&lC.MOD &e%{_p}%"
  3879. set {mineplex.displaya.%{_p}%} to "&6C.Mod"
  3880. set {mineplex.colora.%{_p}%} to "§6"
  3881. 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."
  3882. return "&6C.Mod"
  3883. if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
  3884. execute console command "/rank set %{_p}% ADMIN"
  3885. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3886. if loop-value is {_p}:
  3887. set {_p} tab name to "&6&lP.ADMIN &e%{_p}%"
  3888. else:
  3889. set {_p} tab name to "&4&lADMIN &e%{_p}%"
  3890. set {mineplex.displaya.%{_p}%} to "&4Admin"
  3891. set {mineplex.colora.%{_p}%} to "§4"
  3892. 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."
  3893. return "&4Admin"
  3894. if {mineplex.rank.%{_p}%} is "&9&lAPEX ":
  3895. execute console command "/rank set %{_p}% APEX"
  3896. set {_p} tab name to "&9&lAPEX &e%{_p}%"
  3897. set {mineplex.displaya.%{_p}%} to "&9Apex"
  3898. set {mineplex.colora.%{_p}%} to "§4"
  3899. set {mineplex.hover.%{_p}%} to "&9&lAPEX%nl%&fStaff at Apex Hosting. These guys help support the test server!"
  3900. return "&9Apex"
  3901. if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
  3902. execute console command "/rank set %{_p}% LEADER"
  3903. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3904. if loop-value is {_p}:
  3905. set {_p} tab name to "&6&lP.LEADER &e%{_p}%"
  3906. else:
  3907. set {_p} tab name to "&4&lLEADER &e%{_p}%"
  3908. set {mineplex.displaya.%{_p}%} to "&4Leader"
  3909. set {mineplex.colora.%{_p}%} to "§4"
  3910. 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."
  3911. return "&4Leader"
  3912. if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
  3913. execute console command "/rank set %{_p}% OWNER"
  3914. loop {mineplex.patreon::*}: #Do not worry about this. It only has to do with my test server, not you guys <3
  3915. if loop-value is {_p}:
  3916. set {_p} tab name to "&6&lP.OWNER &e%{_p}%"
  3917. else:
  3918. set {_p} tab name to "&4&lOWNER &e%{_p}%"
  3919. set {mineplex.displaya.%{_p}%} to "&4Owner"
  3920. set {mineplex.colora.%{_p}%} to "§4"
  3921. 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."
  3922. return "&4Owner"
  3923. if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
  3924. execute console command "/rank set %{_p}% BUILDER"
  3925. set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
  3926. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  3927. set {mineplex.colora.%{_p}%} to "§9"
  3928. 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."
  3929. return "&9Builder"
  3930. if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
  3931. execute console command "/rank set %{_p}% MAPPER"
  3932. set {_p} tab name to "&9&lMAPPER &e%{_p}%"
  3933. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  3934. set {mineplex.colora.%{_p}%} to "§9"
  3935. 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!"
  3936. return "&9Mapper"
  3937. if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
  3938. execute console command "/rank set %{_p}% MAPLEAD"
  3939. set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
  3940. set {mineplex.displaya.%{_p}%} to "&9MapLead"
  3941. set {mineplex.colora.%{_p}%} to "§9"
  3942. 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."
  3943. return "&9MapLead"
  3944. if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
  3945. execute console command "/rank set %{_p}% JNR_DEV"
  3946. set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
  3947. set {mineplex.colora.%{_p}%} to "§c"
  3948. 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."
  3949. return "&6Jr.Dev"
  3950. if {mineplex.rank.%{_p}%} is "&4&lDEV ":
  3951. execute console command "/rank set %{_p}% DEVELOPER"
  3952. set {_p} tab name to "&4&lDEV &e%{_p}%"
  3953. set {mineplex.displaya.%{_p}%} to "&4Dev"
  3954. set {mineplex.colora.%{_p}%} to "§4"
  3955. 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."
  3956. return "&4Dev"
  3957. if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
  3958. execute console command "/rank set %{_p}% TWITCH"
  3959. set {_p} tab name to "&5&lTWITCH &e%{_p}%"
  3960. set {mineplex.displaya.%{_p}%} to "&5Twitch"
  3961. set {mineplex.colora.%{_p}%} to "§5"
  3962. set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
  3963. return "&5Twitch"
  3964. if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
  3965. execute console command "/rank set %{_p}% YOUTUBE"
  3966. set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
  3967. set {mineplex.displaya.%{_p}%} to "&cYouTube"
  3968. set {mineplex.colora.%{_p}%} to "§c"
  3969. 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."
  3970. return "&cYouTube"
  3971. if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
  3972. execute console command "/rank set %{_p}% EVENT"
  3973. set {_p} tab name to "&f&lEVENT &e%{_p}%"
  3974. set {mineplex.displaya.%{_p}%} to "&fEvent"
  3975. set {mineplex.colora.%{_p}%} to "§f"
  3976. set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
  3977. return "&fEvent"
  3978. if {mineplex.rank.%{_p}%} is "&5&lYT ":
  3979. execute console command "/rank set %{_p}% YT"
  3980. set {_p} tab name to "&5&lYT &e%{_p}%"
  3981. set {mineplex.displaya.%{_p}%} to "&5YT"
  3982. set {mineplex.colora.%{_p}%} to "§5"
  3983. set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
  3984. return "&5YT"
  3985. if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
  3986. execute console command "/rank set %{_p}% ETERNAL"
  3987. set {_p} tab name to "&3&lETERNAL &e%{_p}%"
  3988. set {mineplex.displaya.%{_p}%} to "&3Eternal"
  3989. set {mineplex.colora.%{_p}%} to "§3"
  3990. 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}%"
  3991. return "&3Eternal"
  3992. if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
  3993. execute console command "/rank set %{_p}% SUPPORT"
  3994. set {mineplex.displaya.%{_p}%} to "&9Support"
  3995. set {mineplex.colora.%{_p}%} to "§9"
  3996. set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
  3997. return "&9Support"
  3998. if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
  3999. execute console command "/rank set %{_p}% ARTIST"
  4000. set {mineplex.displaya.%{_p}%} to "&9Artist"
  4001. set {mineplex.colora.%{_p}%} to "§9"
  4002. 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."
  4003. return "&9Artist"
  4004. else if {_n} is 2:
  4005. if {mineplex.testrank.%{_p}%} is set:
  4006. if {_t} is 0:
  4007. set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
  4008. delete {mineplex.testrank.%{_p}%}
  4009. if {mineplex.rank.%{_p}%} is not set:
  4010. set {mineplex.rank.%{_p}%} to ""
  4011. if {mineplex.rank.%{_p}%} is "":
  4012. set {_p} tab name to "&e%{_p}%"
  4013. set {mineplex.displaya.%{_p}%} to "&fPlayer"
  4014. set {mineplex.colora.%{_p}%} to "§f"
  4015. return "&fPlayer"
  4016. if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  4017. set {_p} tab name to "&b&lULTRA &e%{_p}%"
  4018. set {mineplex.displaya.%{_p}%} to "&bUltra"
  4019. set {mineplex.colora.%{_p}%} to "§b"
  4020. 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}%"
  4021. return "&bUltra"
  4022. if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  4023. set {_p} tab name to "&d&lHERO &e%{_p}%"
  4024. set {mineplex.displaya.%{_p}%} to "&dHero"
  4025. set {mineplex.colora.%{_p}%} to "§d"
  4026. 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}%"
  4027. return "&dHero"
  4028. if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  4029. set {_p} tab name to "&a&lLEGEND &e%{_p}%"
  4030. set {mineplex.displaya.%{_p}%} to "&aLegend"
  4031. set {mineplex.colora.%{_p}%} to "§a"
  4032. 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}%"
  4033. return "&aLegend"
  4034. if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  4035. set {_p} tab name to "&c&lTITAN &e%{_p}%"
  4036. set {mineplex.displaya.%{_p}%} to "&cTitan"
  4037. set {mineplex.colora.%{_p}%} to "§c"
  4038. 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}%"
  4039. return "&cTitan"
  4040. if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
  4041. set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
  4042. set {mineplex.displaya.%{_p}%} to "&6Trainee"
  4043. set {mineplex.colora.%{_p}%} to "§6"
  4044. 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."
  4045. return "&6Trainee"
  4046. if {mineplex.rank.%{_p}%} is "&6&lMOD ":
  4047. set {_p} tab name to "&6&lMOD &e%{_p}%"
  4048. set {mineplex.displaya.%{_p}%} to "&6Mod"
  4049. set {mineplex.colora.%{_p}%} to "§6"
  4050. 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."
  4051. return "&6Mod"
  4052. if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
  4053. set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
  4054. set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
  4055. set {mineplex.colora.%{_p}%} to "§6"
  4056. 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."
  4057. return "&6Sr.Mod"
  4058. if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
  4059. set {_p} tab name to "&6&lC.MOD &e%{_p}%"
  4060. set {mineplex.displaya.%{_p}%} to "&6C.Mod"
  4061. set {mineplex.colora.%{_p}%} to "§6"
  4062. 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."
  4063. return "&6C.Mod"
  4064. if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
  4065. set {_p} tab name to "&4&lADMIN &e%{_p}%"
  4066. set {mineplex.displaya.%{_p}%} to "&4Admin"
  4067. set {mineplex.colora.%{_p}%} to "§4"
  4068. 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."
  4069. return "&4Admin"
  4070. if {mineplex.rank.%{_p}%} is "&9&lAPEX ":
  4071. set {_p} tab name to "&9&lAPEX &e%{_p}%"
  4072. set {mineplex.displaya.%{_p}%} to "&9Apex"
  4073. set {mineplex.colora.%{_p}%} to "§4"
  4074. set {mineplex.hover.%{_p}%} to "&9&lAPEX%nl%&fStaff at Apex Hosting. These guys help support the test server!"
  4075. return "&9Apex"
  4076. if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
  4077. set {_p} tab name to "&4&lLEADER &e%{_p}%"
  4078. set {mineplex.displaya.%{_p}%} to "&4Leader"
  4079. set {mineplex.colora.%{_p}%} to "§4"
  4080. 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."
  4081. return "&4Leader"
  4082. if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
  4083. set {_p} tab name to "&4&lOWNER &e%{_p}%"
  4084. set {mineplex.displaya.%{_p}%} to "&4Owner"
  4085. set {mineplex.colora.%{_p}%} to "§4"
  4086. 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."
  4087. return "&4Owner"
  4088. if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
  4089. set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
  4090. set {mineplex.displaya.%{_p}%} to "&8Builder"
  4091. set {mineplex.colora.%{_p}%} to "§9"
  4092. set {mineplex.hover.%{_p}%} to "&9&lBUILDER%nl%&fThese creative staff members help build maps for your favorite games!"
  4093. return "&9Builder"
  4094. if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
  4095. set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
  4096. set {mineplex.displaya.%{_p}%} to "&9MapLead"
  4097. set {mineplex.colora.%{_p}%} to "§9"
  4098. 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."
  4099. return "&9MapLead"
  4100. if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
  4101. set {_p} tab name to "&9&lMAPPER &e%{_p}%"
  4102. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  4103. set {mineplex.colora.%{_p}%} to "§9"
  4104. 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!"
  4105. return "&9Mapper"
  4106. if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
  4107. set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
  4108. set {mineplex.colora.%{_p}%} to "§c"
  4109. 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."
  4110. return "&6Jr.Dev"
  4111. if {mineplex.rank.%{_p}%} is "&4&lDEV ":
  4112. set {_p} tab name to "&4&lDEV &e%{_p}%"
  4113. set {mineplex.displaya.%{_p}%} to "&4Dev"
  4114. set {mineplex.colora.%{_p}%} to "§4"
  4115. 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."
  4116. return "&4Dev"
  4117. if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
  4118. set {_p} tab name to "&5&lTWITCH &e%{_p}%"
  4119. set {mineplex.displaya.%{_p}%} to "&5Twitch"
  4120. set {mineplex.colora.%{_p}%} to "§5"
  4121. set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
  4122. return "&5Twitch"
  4123. if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
  4124. set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
  4125. set {mineplex.displaya.%{_p}%} to "&cYouTube"
  4126. set {mineplex.colora.%{_p}%} to "§c"
  4127. 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."
  4128. return "&cYouTube"
  4129. if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
  4130. set {_p} tab name to "&f&lEVENT &e%{_p}%"
  4131. set {mineplex.displaya.%{_p}%} to "&fEvent"
  4132. set {mineplex.colora.%{_p}%} to "§f"
  4133. set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
  4134. return "&fEvent"
  4135. if {mineplex.rank.%{_p}%} is "&5&lYT ":
  4136. set {_p} tab name to "&5&lYT &e%{_p}%"
  4137. set {mineplex.displaya.%{_p}%} to "&5YT"
  4138. set {mineplex.colora.%{_p}%} to "§5"
  4139. set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
  4140. return "&5YT"
  4141. if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
  4142. set {_p} tab name to "&3&lETERNAL &e%{_p}%"
  4143. set {mineplex.displaya.%{_p}%} to "&3Eternal"
  4144. set {mineplex.colora.%{_p}%} to "§3"
  4145. 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}%"
  4146. return "&3Eternal"
  4147. if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
  4148. set {mineplex.displaya.%{_p}%} to "&9Support"
  4149. set {mineplex.colora.%{_p}%} to "§9"
  4150. set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
  4151. return "&9Support"
  4152. if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
  4153. set {mineplex.displaya.%{_p}%} to "&9Artist"
  4154. set {mineplex.colora.%{_p}%} to "§9"
  4155. 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."
  4156. return "&9Artist"
  4157.  
  4158. on death of player:
  4159. if attacker is a player:
  4160. if projectile is set:
  4161. set the death message to "&9Death> &e%victim% &7killed by &e%attacker% &7with &eArchery&7."
  4162. if attacker is not a player:
  4163. if attacker is set:
  4164. set {_dm} to 1st char in each word of "%attacker%" to caps
  4165. set the death message to "&9Death> &e%victim% &7killed by &e%{_dm}%&7."
  4166.  
  4167. on join:
  4168. wait 2 ticks
  4169. rankLoad(player, 1, 0)
  4170. loop all players:
  4171. updateRankAPI(loop-player)
  4172.  
  4173. on flight toggle:
  4174. if {mineplex.config.doublejump} is "true":
  4175. if {doublejump.%uuid of player%} is set:
  4176. if player's gamemode is not creative:
  4177. cancel event
  4178. delete {doublejump.%uuid of player%}
  4179. wait 1 tick
  4180. set player's flight state to false
  4181. push player upward at speed 0.3
  4182. push player forward at speed 0.9
  4183. play raw sound "mob.ghast.fireball" at player with pitch 2 volume 0.99
  4184. else:
  4185. stop
  4186. else:
  4187. stop
  4188. else:
  4189. stop
  4190.  
  4191. on jump:
  4192. if player's gamemode is not creative:
  4193. if {doublejump.%uuid of player%} is not set:
  4194. if block below player is not air or water:
  4195. set player's flight state to true
  4196. set {doublejump.%uuid of player%} to true
  4197. else:
  4198. stop
  4199. else:
  4200. stop
  4201. else:
  4202. stop
  4203.  
  4204. on quit:
  4205. set {mineplex.rank.uuid.%uuid of player%} to {mineplex.rank.%player%}
  4206.  
  4207. #Chat System
  4208.  
  4209. on chat:
  4210. set {_get} to getPlayerdata(player, "muted")
  4211. if {_get} is "yes":
  4212. if {muted::%player%::type} is "perm":
  4213. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  4214. cancel event
  4215. stop
  4216. if {muted::%player%::type} is "temp":
  4217. set {_waited} to difference between now and {muted::%player%::when}
  4218. if {_waited} is less than {muted::%player%::time}:
  4219. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  4220. cancel event
  4221. stop
  4222. if message contains "hack" or "hax":
  4223. cancel event
  4224. 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}%"
  4225. stop
  4226. if {mineplex.vanish.%player%} is false:
  4227. if {mineplex.chatslow} is set:
  4228. if player has permission "mineplex.mod":
  4229. set {_check} to mcs((player), (message))
  4230. if {_check} is less than 0:
  4231. cancel event
  4232. delete {_check}
  4233. else:
  4234. if difference between {lastChat::%player%} and now < {mineplex.chatslow}:
  4235. cancel event
  4236. send "&9Chat> &7Chat slow enabled. Please wait."
  4237. else:
  4238. set {lastChat::%player%} to now
  4239. set {_check} to mcs((player), (message))
  4240. if {_check} is less than 0:
  4241. cancel event
  4242. delete {_check}
  4243. else if {mineplex.chatsilence} is set:
  4244. if player has permission "mineplex.trainee":
  4245. set {_check} to mcs((player), (message))
  4246. if {_check} is less than 0:
  4247. cancel event
  4248. delete {_check}
  4249. else:
  4250. cancel event
  4251. send "&9Chat> &7The chat is silenced."
  4252. else:
  4253. if {party.%player%.chat} is true:
  4254. if length of message is greater than 1:
  4255. if first character of message is "@":
  4256. cancel event
  4257. set message to subtext of message from characters 2 to (length of message)
  4258. loop {party.%{party.%player%}%::*}:
  4259. message "&5&lParty &f&l%player% &d%message%" to loop-value
  4260. else:
  4261. set {_check} to mcs((player), (message))
  4262. if {_check} is less than 0:
  4263. cancel event
  4264. delete {_check}
  4265. else:
  4266. set {_check} to mcs((player), (message))
  4267. if {_check} is less than 0:
  4268. cancel event
  4269. delete {_check}
  4270. else:
  4271. set {_check} to mcs((player), (message))
  4272. if {_check} is less than 0:
  4273. cancel event
  4274. delete {_check}
  4275. else if {mineplex.vanish.%player%} is true:
  4276. send "&eYou can not chat while incognito."
  4277. cancel event
  4278. else:
  4279. set {mineplex.vanish.%player%} to false
  4280. set {_check} to mcs((player), (message))
  4281. if {_check} is less than 0:
  4282. cancel event
  4283. delete {_check}
  4284.  
  4285. #Join, Quit, and Load Handlers
  4286.  
  4287. on join:
  4288. if player has permission "mineplex.admin":
  4289. $ thread
  4290. set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
  4291. set {_c} to "{@MCRVER}" parsed as a number
  4292. if {_c} is greater than {_ver}:
  4293. send "&9MCR> &7You must be using some fancy indev version!"
  4294. send "&9MCR> &7or you're retarded and changed the version in the config!"
  4295. stop
  4296. else if {_c} is less than {_ver}:
  4297. send "&9MCR> &7Version &e%{_ver}% &7is ready for download"
  4298. else:
  4299. send "&9MCR> &7Your version of MCR is currently up to date!"
  4300. stop
  4301. send "&9MCR> &7Changelog:"
  4302. $ thread
  4303. set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
  4304. loop {_var1::*}:
  4305. send "%loop-value%"
  4306.  
  4307. loop {_var::*}:
  4308. send "&9MCR> &7Version &e%loop-value% &7is ready for download"
  4309. send "&9MCR> &7End of Changelog!"
  4310. if {mineplex.gadget.enabled} is not set:
  4311. set {mineplex.gadget.enabled} to true
  4312. if {mineplex.report.id} is not set:
  4313. set {mineplex.report.id} to 1
  4314. if {mineplex.dj} is not set:
  4315. set {mineplex.dj} to true
  4316. if {mineplex.tntlauncher} is not set:
  4317. set {mineplex.tntlauncher} to true
  4318. if {poll.id.last} is not set:
  4319. set {poll.id.last} to 0
  4320. if {mineplex.ff.list::%player%} is set:
  4321. if player does not have permission "mineplex.trainee":
  4322. delete {mineplex.ff.list::%player%}
  4323. delete {mineplex.pref.ff.%player%}
  4324. if {mineplex.totalaccounts.%ip address of player%::*} does not contain "%player%":
  4325. add "%player%" to {mineplex.totalaccounts.%ip address of player%::*}
  4326.  
  4327. on load:
  4328. #set {_var::*} to contents from url "https://raw.githubusercontent.com/WheezyGold7931/Mineplex-Core/master/version.txt" Raw in GitHub does not update fast enough rip lel
  4329. set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
  4330. set {_c} to "{@MCRVER}" parsed as a number
  4331. if {_c} is more than {_ver}:
  4332. broadcast "&9MCR> &7You must be using some fancy indev version!"
  4333. broadcast "&9MCR> &7or you're retarded and changed the version in the config!"
  4334. stop
  4335. else if {_c} is less than {_ver}:
  4336. broadcast "&9MCR> &7Version &e%{_ver}% &7is ready for download"
  4337. else:
  4338. broadcast "&9MCR> &7Your version of MCR is currently up to date!"
  4339. broadcast "&9MCR> &7Client Version: {@MCRVER}"
  4340. broadcast "&9MCR> &7Server Version: %{_ver}%"
  4341. stop
  4342. broadcast "&9MCR> &7Changelog:"
  4343. $ thread
  4344. set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
  4345. loop {_var1::*}:
  4346. broadcast "%loop-value%"
  4347.  
  4348. loop {_var::*}:
  4349. broadcast "&9MCR> &7Version &e%loop-value% &7is ready for download"
  4350. broadcast "&9MCR> &7End of Changelog!"
  4351. if {mineplex.gadget.enabled} is not set:
  4352. set {mineplex.gadget.enabled} to true
  4353. if {mineplex.report.id} is not set:
  4354. set {mineplex.report.id} to 1
  4355. if {mineplex.dj} is not set:
  4356. set {mineplex.dj} to true
  4357. if {mineplex.tntlauncher} is not set:
  4358. set {mineplex.tntlauncher} to true
  4359. if {poll.id.last} is not set:
  4360. set {poll.id.last} to 0
  4361.  
  4362. function runNews(p: player) :: boolean:
  4363. set {_sn} to convert string {mineplex.config.servername} to uppercase
  4364. send title from "&6&l%{_sn}%" and "%{mineplex.news.line1}%" to {_p} for 5, 70, 0
  4365. wait 3 seconds
  4366. send title from "&6&l%{_sn}%" and "%{mineplex.news.line2}%" to {_p} for 1, 70, 0
  4367. wait 3 seconds
  4368. send title from "&6&l%{_sn}%" and "%{mineplex.news.line3}%" to {_p} for 1, 70, 0
  4369. wait 3 seconds
  4370. send title from "&6&l%{_sn}%" and "%{mineplex.news.line4}%" to {_p} for 1, 60, 5
  4371.  
  4372. on join:
  4373. set join message to "&8Join> &7%player%"
  4374. updateRankAPI(player)
  4375. delete {mineplex.disguise.%player%}
  4376. execute console command "/ud %player%"
  4377. delete {mineplex.lastm.%player%}
  4378. delete {mineplex.lasta.%player%}
  4379. 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
  4380. if {mineplex.news.allow} is true:
  4381. runNews(player)
  4382. if {mineplex.vanish.%player%} is not set:
  4383. set {mineplex.vanish.%player%} to false
  4384. if {mineplex.overridechat} is not set:
  4385. set {mineplex.overridechat} to true
  4386. if {mineplex.vanish.%player%} is true:
  4387. send ""
  4388. send ""
  4389. send "&6&lYou are currently incognito"
  4390. send "&eThis means you are invisible to all except for those who are"
  4391. send "&4&lAdmin&f+"
  4392. send ""
  4393. send ""
  4394. if {mineplex.pref.hpv.%player%} is false:
  4395. hide all players from player
  4396. if {mineplex.pref.hpv.%player%} is not set:
  4397. set {mineplex.pref.hpv.%player%} to true
  4398. if {mineplex.pref.ff.%player%} is not set:
  4399. set {mineplex.pref.ff.%player%} to false
  4400. if {mineplex.ff.%player%} is not set:
  4401. set {mineplex.ff.%player%} to false
  4402. if {mineplex.pref.pm.%player%} is not set:
  4403. set {mineplex.pref.pm.%player%} to true
  4404. if {mineplex.pref.pc.%player%} is not set:
  4405. set {mineplex.pref.pc.%player%} to true
  4406. if {mineplex.pref.gwen.%player%} is not set:
  4407. set {mineplex.pref.gwen.%player%} to true
  4408. if {mineplex.pref.report.%player%} is not set:
  4409. set {mineplex.pref.report.%player%} to true
  4410. if {mineplex.shards.%player%} is not set:
  4411. set {mineplex.shards.%player%} to 0
  4412. if {mineplex.gems.%player%} is not set:
  4413. set {mineplex.gems.%player%} to 0
  4414. if {mineplex.particle.active.%player%} is not set:
  4415. set {mineplex.particle.active.%player%} to false
  4416. if {mineplex.arrorw.active} is not set:
  4417. set {mineplex.arrow.active} to false
  4418. if {mineplex.adminmode.%player%} is true:
  4419. set {mineplex.adminmode.%player%} to false
  4420. loop all players:
  4421. if {mineplex.vanish.%loop-player%} is true:
  4422. add loop-player to {%player%.vanishlist::*}
  4423. loop all players:
  4424. if loop-player does not have permission "mineplex.admin":
  4425. hide {%player%.vanishlist::*} from all players
  4426. delete {%player%.vanishlist::*}
  4427. delete {mineplex.tp.back.%player%}
  4428. if {mineplex.config.autoop} is "true":
  4429. if player has permission "mineplex.admin":
  4430. op the player
  4431. else:
  4432. deop the player
  4433.  
  4434. function newsinit(i: integer) :: number:
  4435. if {mineplex.mode} is "sql":
  4436. set {_get} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
  4437. if {_get} is not set:
  4438. update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('1', '§b§lMineplex Core Remake')"
  4439. update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('2', '§a§lThe best remake for Mineplex Commands')"
  4440. update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('3', '§3§lRate this on Spigot!')"
  4441. update "INSERT INTO `newslist` (`newsPosition`, `newsString`) VALUES ('4', '§c§lCheck me out on SkUnity!')"
  4442. set {mineplex.news.line1} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
  4443. set {mineplex.news.line2} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '2'"
  4444. set {mineplex.news.line3} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '3'"
  4445. set {mineplex.news.line4} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '4'"
  4446. set {mineplex.news.allow} to true
  4447. else:
  4448. set {mineplex.news.line1} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '1'"
  4449. set {mineplex.news.line2} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '2'"
  4450. set {mineplex.news.line3} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '3'"
  4451. set {mineplex.news.line4} to first element out of objects in column "newsString" from result of query "SELECT newsString FROM `newslist` WHERE newsPosition = '4'"
  4452. else:
  4453. if {mineplex.news.line1} is not set:
  4454. set {mineplex.news.line1} to "§b§lMineplex Core Remake"
  4455. set {mineplex.news.line2} to "§a§lThe best remake for Mineplex Commands"
  4456. set {mineplex.news.line3} to "§3§lRate this on Spigot!"
  4457. set {mineplex.news.line4} to "§c§lCheck me out on SkUnity!"
  4458. set {mineplex.news.allow} to true
  4459.  
  4460. #NewsINIT
  4461. on load:
  4462. newsinit(1)
  4463.  
  4464. on quit:
  4465. set quit message to "&8Quit> &7%player%"
  4466. delete {mineplex.tp.back.%player%}
  4467.  
  4468. every second:
  4469. loop all players:
  4470. add 1 to {mineplex.time.%loop-player%}
  4471.  
  4472. #Forcefield
  4473.  
  4474. every 2 ticks:
  4475. loop all players:
  4476. if {mineplex.ff.list::%loop-player%} is set:
  4477. loop players in radius 4 of loop-player:
  4478. if {mineplex.pref.ff.%loop-player-2%} is false:
  4479. if loop-player-2 is not loop-player-1:
  4480. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  4481. push the loop-player-2 upwards at speed 0.3
  4482. push the loop-player-2 backwards at speed 0.45
  4483. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  4484.  
  4485. #2 Factor
  4486.  
  4487. command /2fareset <player>:
  4488. permission: op
  4489. trigger:
  4490. delete {mineplex.newauth.%uuid of arg-1%}
  4491. set {mineplex.authlock.%arg-1%} to false
  4492. delete {mineplex.newauthlast.%uuid of arg-1%}
  4493.  
  4494. on join:
  4495. wait 5 ticks
  4496. if player has permission "mineplex.2fa":
  4497. if {mineplex.newauth.%uuid of player%} is set:
  4498. set {_t} to difference between {mineplex.newauthlast.%uuid of player%} and now
  4499. set {_tc} to "1 day" parsed as a timespan
  4500. if {_t} is less than {_tc}:
  4501. send "&92FA> &7Authorized!"
  4502. else:
  4503. set {mineplex.authlock.%player%} to true
  4504. apply slowness 999 to player for 999 seconds
  4505. apply blindness 999 to player for 999 seconds
  4506. send "&92FA> &7Please enter your two-factor auth code"
  4507. send "&92FA> &c/2fa (code)"
  4508. else:
  4509. stop
  4510.  
  4511. on command:
  4512. if {mineplex.authlock.%player%} is true:
  4513. if executor is player:
  4514. if command is not "2fa":
  4515. cancel event
  4516. send "&92FA> &7Please enter your two-factor auth code"
  4517. send "&92FA> &c/2fa (code)"
  4518.  
  4519. on chat:
  4520. if {mineplex.authlock.%player%} is true:
  4521. cancel event
  4522. send "&92FA> &7Please enter your two-factor auth code"
  4523. send "&92FA> &c/2fa (code)"
  4524.  
  4525. on quit:
  4526. delete {autowarn.%player%}
  4527.  
  4528. #Mineplex Commands
  4529. command /2fa [<string>] [<string>]:
  4530. permission: mineplex.2fa
  4531. permission message: &9Permissions> &7You do not have permission to do that.
  4532. trigger:
  4533. if {mineplex.newauth.%uuid of player%} is not set:
  4534. if {authwarn.%player%} is not set:
  4535. send "&92FA> &7Hey There! This sets a code that you will have to remember for the rest of your life!"
  4536. send "&92FA> &7Do &e/2fa &7if you are 100%% sure!"
  4537. set {authwarn.%player%} to true
  4538. stop
  4539. else:
  4540. send "&92FA> &7Generating secret..."
  4541. set {_clientSecret} to a new two-factor base-32 secret code
  4542. send "&92FA> &7Saving secret..."
  4543. set {mineplex.newauth.%uuid of player%} to {_clientSecret}
  4544. send "&92FA> &7Secret key saved."
  4545. send "&92FA> &7You must enter this code into your Two-Factor App:%nl%&92FA> &e%{_clientSecret}%"
  4546. send "&92FA> &7Then redo /2fa with your code"
  4547. set {mineplex.authlock.%player%} to false
  4548. set {_t} to arg 1 parsed as an integer
  4549. if {_t} is a number:
  4550. send "&92FA> &7Authorized for 24 hours."
  4551. send "&92FA> &7Saving secret..."
  4552. wait 5 ticks
  4553. set {mineplex.newauth.%uuid of player%} to skutil hashed arg 1 using "MD5"
  4554. set {mineplex.authlock.%player%} to false
  4555. send "&92FA> &7Secret key saved."
  4556. else:
  4557. send "&92FA> &7Invalid authentication code (not a number)."
  4558. else:
  4559. set {_t} to difference between {mineplex.newauthlast.%uuid of player%} and now
  4560. set {_tc} to "1 day" parsed as a timespan
  4561. if {_t} is less than {_tc}:
  4562. send "&92FA> &7Authorized for 24 hours."
  4563. else:
  4564. set {_c} to the current two-factor code of secret code {mineplex.newauth.%uuid of player%}
  4565. set {_t} to arg 1 parsed as an integer
  4566. if {_t} is a number:
  4567. if {_c} is arg-1:
  4568. send "&92FA> &7Authorized for 24 hours."
  4569. send "&92FA> &7Saving secret..."
  4570. wait 5 ticks
  4571. remove slowness from the player
  4572. remove blindness from the player
  4573. set {mineplex.newauthlast.%uuid of player%} to now
  4574. set {mineplex.authlock.%player%} to false
  4575. send "&92FA> &7Secret key saved."
  4576. else:
  4577. send "&92FA> &7Invalid authentication code"
  4578. else:
  4579. send "&92FA> &7Invalid authentication code (not a number)."
  4580.  
  4581. command /tp [<text>] [<text>] [<text>] [<text>] [<text>]:
  4582. aliases: /teleport
  4583. permission: mineplex.mod
  4584. permission message: &9Permissions> &7You do not have permission to do that.
  4585. trigger:
  4586. if arg-1 is not set:
  4587. send "&9Teleport> &7Commands List:"
  4588. send "&6/tp <target> &7Teleport to Player &6Mod"
  4589. send "&6/tp b(ack) &7Undo Teleports &6Mod"
  4590. send "&4/tp h(ere) <player> &7Teleport Player to Self &4Admin"
  4591. send "&4/tp <player> <target> &7Teleport Player to Player &4Admin"
  4592. send "&4/tp <player> <X> <Y> <Z> &7Teleport to Location &4Admin"
  4593. send "&4/tp all &7Teleport All to Self &4Owner"
  4594. else:
  4595. if arg-2 is not set:
  4596. if arg-1 is set:
  4597. if arg-1 is not "all":
  4598. if arg-1 is not "here" or "h" or "back" or "b":
  4599. if arg-1 parsed as player is online:
  4600. set {mineplex.tp.back.%player%} to location of player
  4601. teleport player to arg-1 parsed as player's location
  4602. set {_t} to arg-1 parsed as player
  4603. send "&9Teleport> &7Teleported to &e%{_t}%&7."
  4604. stop
  4605. else:
  4606. send "&9Teleport> &7Locating &e%arg-1%&7..."
  4607. wait 5 seconds
  4608. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  4609. stop
  4610. if arg-1 is "all":
  4611. if player has permission "mineplex.owner":
  4612. teleport all players to player
  4613. send "&9Teleport> &7You teleported &e%amount of players% Players &7to yourself."
  4614. broadcast "&9Teleport> &7You teleported to &e%player%&7."
  4615. stop
  4616. else:
  4617. send "&9Permissions> &7You do not have permission to do that."
  4618. stop
  4619. if arg 4 is set:
  4620. if arg-1 parsed as player is online:
  4621. set {_p} to arg-1 parsed as a player
  4622. set {_x} to arg-2 parsed as a number
  4623. set {_y} to arg-3 parsed as a number
  4624. set {_z} to arg-4 parsed as a number
  4625. if {_x} is not set:
  4626. send "&9Teleport> &7Invalid X-Coordinate [&e%arg-2%&7]."
  4627. stop
  4628. if {_y} is not set:
  4629. send "&9Teleport> &7Invalid Y-Coordinate [&e%arg-3%&7]."
  4630. stop
  4631. if {_z} is not set:
  4632. send "&9Teleport> &7Invalid Z-Coordinate [&e%arg-4%&7]."
  4633. stop
  4634. teleport {_p} to the location at {_x}, {_y}, {_z}
  4635. send "&9Teleport> &7Teleported &e%{_p}% &7%{_x}%, %{_y}%, %{_z}%."
  4636. else:
  4637. send "&9Teleport> &7Locating &e%arg-1%&7..."
  4638. wait 5 seconds
  4639. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  4640.  
  4641. if arg-1 is "here" or "h":
  4642. if player has permission "mineplex.admin":
  4643. if arg-3 is not set:
  4644. if arg-2 is set:
  4645. if arg-2 parsed as player is online:
  4646. teleport arg-2 parsed as player to player's location
  4647. send "&9Teleport> &7%player% teleported you to self." to arg-2 parsed as player
  4648. set {_t} to arg-2 parsed as player
  4649. send "&9Teleport> &7Teleported &e%arg-2% &7to self."
  4650. stop
  4651. else:
  4652. send "&9Teleport> &7Locating &e%arg-2%&7..."
  4653. wait 5 seconds
  4654. send "&9Teleport> &7Could not locate &e%arg-2%&7."
  4655. stop
  4656. else:
  4657. send "&9Permissions> &7You do not have permission to do that."
  4658. stop
  4659. if arg-2 is not set:
  4660. send "&9Teleport> &7Commands List:"
  4661. send "&6/tp <target> &7Teleport to Player &6Mod"
  4662. send "&6/tp b(ack) &7Undo Teleports &6Mod"
  4663. send "&4/tp h(ere) <player> &7Teleport Player to Self &4Admin"
  4664. send "&4/tp <player> <target> &7Teleport Player to Player &4Admin"
  4665. send "&4/tp <player> <X> <Y> <Z> &7Teleport to Location &4Admin"
  4666. send "&4/tp all &7Teleport All to Self &4Owner"
  4667. if arg-1 is "back" or "b":
  4668. if {mineplex.tp.back.%player%} is set:
  4669. set {_new} to {mineplex.tp.back.%player%}
  4670. set {mineplex.tp.back.%player%} to location of player
  4671. teleport player to {_new}
  4672. send "&9Teleport> &7You have been teleported to your previous location."
  4673. else:
  4674. send "&9Teleport> &7There is no place to teleport you back to."
  4675. stop
  4676. if arg-3 is not set:
  4677. if arg-2 is set:
  4678. if player has permission "mineplex.admin":
  4679. if arg-2 parsed as player is online:
  4680. if arg-1 parsed as player is online:
  4681. set {mineplex.tp.back.%player%} to location of player
  4682. teleport arg-1 parsed as player to arg-2 parsed as player
  4683. set {_t1} to arg-1 parsed as player
  4684. set {_t} to arg-2 parsed as player
  4685. send "&9Teleport> &e%{_t1}% &7was teleported to you." to arg-2 parsed as player
  4686. send "&9Teleport> &7You were teleported to &e%{_t}%&7." to arg-1 parsed as player
  4687. stop
  4688. else:
  4689. send "&9Teleport> &7Locating &e%arg-1%&7..."
  4690. wait 5 seconds
  4691. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  4692. stop
  4693. else:
  4694. send "&9Teleport> &7Locating &e%arg-2%&7..."
  4695. wait 5 seconds
  4696. send "&9Teleport> &7Could not locate &e%arg-2%&7."
  4697. stop
  4698. else:
  4699. send "&9Permissions> &7You do not have permission to do that."
  4700. stop
  4701.  
  4702. command /time [<offline player>] [<string>]:
  4703. permission: mineplex.mod
  4704. permission message: &9Permissions> &7You do not have permission to do that.
  4705. trigger:
  4706. if arg 1 is not set:
  4707. send "&9Time> &7Usage: /time <playerName>"
  4708. else:
  4709. if {mineplex.time.%arg-1%} is not set:
  4710. set {mineplex.time.%arg-1%} to 0
  4711. send "&9Time> &e%arg-1% &7has spent &e%{mineplex.time.%arg-1%}%.0 Seconds &7in game"
  4712. else:
  4713. set {_tm} to {mineplex.time.%arg-1%}
  4714. if {_tm} is less than 60:
  4715. send "&9Time> &e%arg-1% &7has spent &e%{_tm}%.0 Seconds &7in game"
  4716. stop
  4717. else if {_tm} is less than 3600:
  4718. set {_final} to {_tm} / 60
  4719. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Minutes &7in game"
  4720. stop
  4721. else if {_tm} is less than 86400:
  4722. set {_final} to {_tm} / 3600
  4723. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Hours &7in game"
  4724. stop
  4725. else if {_tm} is less than 604800:
  4726. set {_final} to {_tm} / 86400
  4727. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Days &7in game"
  4728. stop
  4729. else:
  4730. set {_final} to {_tm} / 604800
  4731. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Weeks &7in game"
  4732.  
  4733. command /disguise [<string>] [<string>]:
  4734. permission: mineplex.youtube
  4735. permission message: &9Permissions> &7You do not have permission to do that.
  4736. trigger:
  4737. if arg 1 is not set:
  4738. if {mineplex.disguise.%player%} is set:
  4739. send "&9Disguise> &7You are no longer disguised!"
  4740. execute console command "/ud %player%"
  4741. delete {mineplex.disguise.%player%}
  4742. set player tab name to "%{mineplex.rank.%player%}%&e%player%"
  4743. updateRankAPI(player)
  4744. else:
  4745. send "&9Disguise> &7You are not disguised. You can disguise with /disguise <username>"
  4746. else:
  4747. if {mineplex.disguise.%player%} is set:
  4748. send "&9Disguise> &7You are already disguised. Please undisguise by using /disguise"
  4749. else:
  4750. set {_n} to the length of arg 1
  4751. if {_n} is greater than 16:
  4752. send "&9Disguise> &7The chosen name of &e%arg-1% &7is &e%{_n} - 16% &7characters too long!"
  4753. stop
  4754. 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 "\":
  4755. send "&9Disguise> &7That disguise name is not permitted!"
  4756. stop
  4757. set {_p1} to arg-1 parsed as offline player
  4758. if {_p1} is online:
  4759. send "&9Disguise> &7This name already in use!"
  4760. stop
  4761. set {_ban} to getPlayerdata({_p1}, "banned")
  4762. set {_mute} to getPlayerdata({_p1}, "muted")
  4763. if {_ban} or {_muted} is "yes":
  4764. send "&9Disguise> &7You may not disguise as people who are muted or banned."
  4765. stop
  4766. set {_rank} to getPlayerdata({_p1}, "rank")
  4767. if {_rank} is set: #Not in the database
  4768. if {_rank} is not "" or "All" or "Ultra" or "Hero" or "Legend" or "Titan" or "Eternal":
  4769. send "&9Disguise> &7You may not disguise as users who are staff, youtubers, or twitchers."
  4770. stop
  4771. send "&9Disguise> &7Disguise Active: &f%arg-1%"
  4772. set {_localp} to arg 1 parsed as a player
  4773. rankLoad({_localp} , 2, 1)
  4774. if {mineplex.level.%arg-1%} is not set:
  4775. set {mineplex.level.%arg-1%} to "&70"
  4776. if {mineplex.rank.%arg-1%} is not set:
  4777. set {mineplex.rank.%arg-1%} to ""
  4778. execute console command "/odisguise %player% player %arg-1%"
  4779. set {mineplex.disguise.%player%} to arg-1 parsed as offline player
  4780. set {_player} to arg 1
  4781. if {mineplex.rank.%{_player}%} is not set:
  4782. set {mineplex.rank.%{_player}%} to ""
  4783. set player tab name to "%{mineplex.rank.%{_player}%}%&e%arg-1%"
  4784. updateRankAPI(player)
  4785.  
  4786. command /api [<string>] [<string>] [<string>]:
  4787. trigger:
  4788. if arg 1 is not set:
  4789. send "&9API> &7Mineplex Core API"
  4790. send "&9API> &7/api (api name)"
  4791. send "&9API> &7Current API's; &adisplayrank&7, &adisplayname"
  4792. send "&9API> &7Use /api (api name) (player) to view a different players's api output"
  4793. else:
  4794. if arg 2 is set:
  4795. set {_p} to arg-2
  4796. else:
  4797. set {_p} to "%player%"
  4798. if arg 1 is "displayrank":
  4799. if {mineplex.api.displayrank.%{_p}%} is not set:
  4800. set {mineplex.api.displayrank.%{_p}%} to "null"
  4801. send "&9API> &7Raw API Output; &f%{mineplex.api.displayrank.%{_p}%}%"
  4802. else if arg 1 is "displayname":
  4803. if {mineplex.api.displayname.%{_p}%} is not set:
  4804. set {mineplex.api.displayname.%{_p}%} to "null"
  4805. send "&9API> &7Raw API Output; &f%{mineplex.api.displayname.%{_p}%}%"
  4806. else:
  4807. send "&9API> &7Invalid API!"
  4808.  
  4809. command /give [<string>] [<string>] [<string>] [<string>] [<string>]:
  4810. aliases: /g, /item, /i
  4811. permission: mineplex.admin
  4812. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4813. trigger:
  4814. if arg 1 is not set:
  4815. send "&9Give: &7Listing Commands:"
  4816. send "&4/give (item) Admin"
  4817. send "&4/give (player) (item) (amount) Admin"
  4818. send "&4/give (player) (item) (amount) (Enchantment:level) Admin"
  4819. send "&4/give all (item) (amount) Admin"
  4820. send "&4/give all (item) (amount) (Enchantment:level) Admin"
  4821. else if arg 5 is set:
  4822. send "&9Give: &7Listing Commands:"
  4823. send "&4/give (item) Admin"
  4824. send "&4/give (player) (item) (amount) Admin"
  4825. send "&4/give (player) (item) (amount) (Enchantment:level) Admin"
  4826. send "&4/give all (item) (amount) Admin"
  4827. send "&4/give all (item) (amount) (Enchantment:level) Admin"
  4828. else:
  4829. if arg 2 is not set:
  4830. set {_i1} to arg-1
  4831. replace all "_" with " " in {_i1}
  4832. set {_i} to "%{_i1}%" parsed as an item
  4833. if {_i} is an item:
  4834. send "&9Give> &7You gave &e1 %{_i}% &7to &e%player%&7."
  4835. give player {_i}
  4836. else:
  4837. send "&9Item Search> &e0 &7matches for [&e%arg-1%&7]."
  4838. send "&9Item(s) Search> &7Invalid [&e%arg-1%&7]."
  4839. if arg 2 is set:
  4840. if arg 3 is set:
  4841. if arg 1 is "all":
  4842. set {_i1} to arg-2
  4843. replace all "_" with " " in {_i1}
  4844. set {_i} to "%{_i1}%" parsed as an item
  4845. set {_a} to arg-3 parsed as a number
  4846. if {_i} is an item:
  4847. if {_a} is a number:
  4848. if arg 4 is set:
  4849. set {_e} to arg-4 parsed as text
  4850. set {_oe} to arg-4 parsed as text
  4851. replace all "_" with " " in {_e}
  4852. replace all ":" with " " in {_e}
  4853. if "%{_e}%" parsed as an enchantment type is an enchantment type:
  4854. set {_e} to "%{_e}%" parsed as an enchantment type
  4855. enchant {_i} with "%{_e}%" parsed as a enchantment type
  4856. else:
  4857. send "&9Give> &7Invalid Enchantment [&6%{_oe}%&7]."
  4858. send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &eALL&7."
  4859. send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to all players
  4860. loop all players:
  4861. loop {_a} times:
  4862. give loop-player {_i}
  4863. else:
  4864. send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
  4865. send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
  4866. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
  4867. loop all players:
  4868. give loop-player {_i}
  4869. else:
  4870. send "&9Item Search> &e0 &7matches for [&e%{_i1}%&7]."
  4871. send "&9Item(s) Search> &7Invalid [&e%{_i}%&7]."
  4872. else:
  4873. set {_i1} to arg-2
  4874. replace all "_" with " " in {_i1}
  4875. set {_i} to "%{_i1}%" parsed as an item
  4876. set {_a} to arg-3 parsed as a number
  4877. set {_p} to arg-1 parsed as a player
  4878. if {_i} is an item:
  4879. if {_p} is online:
  4880. if {_a} is a number:
  4881. if arg 4 is set:
  4882. set {_e} to arg-4 parsed as text
  4883. set {_oe} to arg-4 parsed as text
  4884. replace all "_" with " " in {_e}
  4885. replace all ":" with " " in {_e}
  4886. if "%{_e}%" parsed as an enchantment type is an enchantment type:
  4887. set {_e} to "%{_e}%" parsed as an enchantment type
  4888. enchant {_i} with "%{_e}%" parsed as a enchantment type
  4889. else:
  4890. send "&9Give> &7Invalid Enchantment [&6%{_oe}%&7]."
  4891. send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &e%{_p}%&7."
  4892. send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to {_p}
  4893. loop {_a} times:
  4894. give {_p} {_i}
  4895. else:
  4896. send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
  4897. send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
  4898. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
  4899. give {_p} {_i}
  4900. else:
  4901. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  4902. send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
  4903. stop
  4904. else:
  4905. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4906. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4907. else:
  4908. if arg 1 is "all":
  4909. set {_i1} to arg-2
  4910. replace all "_" with " " in {_i1}
  4911. set {_i} to "%{_i1}%" parsed as an item
  4912. if {_i} is an item:
  4913. send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
  4914. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
  4915. loop all players:
  4916. give loop-player {_i}
  4917. else:
  4918. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4919. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4920. else:
  4921. set {_i1} to arg-2
  4922. replace all "_" with " " in {_i1}
  4923. set {_i} to "%{_i1}%" parsed as an item
  4924. set {_p} to arg-1 parsed as a player
  4925. if {_i} is an item:
  4926. if {_p} is online:
  4927. send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
  4928. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
  4929. give {_p} {_i}
  4930. else:
  4931. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  4932. send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
  4933. stop
  4934. else:
  4935. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4936. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4937.  
  4938. #/givestat player stat amount
  4939. command /givestat [<offline player>] [<string>] [<string>] [<string>]:
  4940. permission: mineplex.support
  4941. permission message: &9Permissions> &7You do not have permission to do that.
  4942. trigger:
  4943. if arg 1 is not set:
  4944. send "&9Stats> &e/givestat (player) (stat) (amount)"
  4945. else if arg 1 is set:
  4946. if arg 2 is set:
  4947. if arg 3 parsed as a number is set:
  4948. if arg 2 is "Global.ExpEarned":
  4949. set {_lvl} to arg 3 parsed as a number
  4950. if {_lvl} is less than 0:
  4951. send "&9Stats> &7Unknown value for &eGlobal.ExpEarned&7!"
  4952. stop
  4953. else if {_lvl} is less than 20:
  4954. set {_temp} to "&7%{_lvl}%"
  4955. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4956. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4957. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4958. stop
  4959. else if {_lvl} is less than 40:
  4960. set {_temp} to "&9%{_lvl}%"
  4961. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4962. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4963. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4964. stop
  4965. else if {_lvl} is less than 60:
  4966. set {_temp} to "&2%{_lvl}%"
  4967. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4968. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4969. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4970. stop
  4971. else if {_lvl} is less than 80:
  4972. set {_temp} to "&6%{_lvl}%"
  4973. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4974. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4975. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4976. stop
  4977. else if {_lvl} is less than or equal to 100:
  4978. set {_temp} to "&c%{_lvl}%"
  4979. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4980. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4981. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4982. stop
  4983. else if arg 2 is "Global.GemsEarned":
  4984. set {_num} to arg 3 parsed as a number
  4985. set {_get} to getPlayerdata(arg-1, "stats.global.gems")
  4986. set {_cur} to {_get} parsed as a number
  4987. add {_num} to {_cur}
  4988. setPlayerdata(arg-1, "stats.global.gems", "%{_cur}%")
  4989. send "&9Stats> &7Applied &e%{_num}% Global.GemsEarned &7to &e%arg-1%&7."
  4990. else if arg 2 is "Global.GamesPlayed":
  4991. set {_num} to arg 3 parsed as a number
  4992. set {_get} to getPlayerdata(arg-1, "stats.global.games")
  4993. set {_cur} to {_get} parsed as a number
  4994. add {_num} to {_cur}
  4995. setPlayerdata(arg-1, "stats.global.games", "%{_cur}%")
  4996. send "&9Stats> &7Applied &e%{_num}% Global.GamesPlayed &7to &e%arg-1%&7."
  4997. else if arg 2 is "Global.DailyRewards":
  4998. set {_num} to arg 3 parsed as a number
  4999. set {_get} to getPlayerdata(arg-1, "stats.global.dailyr")
  5000. set {_cur} to {_get} parsed as a number
  5001. add {_num} to {_cur}
  5002. setPlayerdata(arg-1, "stats.global.dailyr", "%{_cur}%")
  5003. send "&9Stats> &7Applied &e%{_num}% Global.DailyRewards &7to &e%arg-1%&7."
  5004. else if arg 2 is "Global.TimesVoted":
  5005. set {_num} to arg 3 parsed as a number
  5006. set {_get} to getPlayerdata(arg-1, "stats.global.voted")
  5007. set {_cur} to {_get} parsed as a number
  5008. add {_num} to {_cur}
  5009. setPlayerdata(arg-1, "stats.global.voted", "%{_cur}%")
  5010. send "&9Stats> &7Applied &e%{_num}% Global.TimesVoted &7to &e%arg-1%&7."
  5011. else if arg 2 is "Global.ChestsOpened":
  5012. set {_num} to arg 3 parsed as a number
  5013. set {_get} to getPlayerdata(arg-1, "stats.global.chests")
  5014. set {_cur} to {_get} parsed as a number
  5015. add {_num} to {_cur}
  5016. setPlayerdata(arg-1, "stats.global.chests", "%{_cur}%")
  5017. send "&9Stats> &7Applied &e%{_num}% Global.ChestsOpened &7to &e%arg-1%&7."
  5018. else:
  5019. send "&9Stats> &e/givestat (player) (stat) (amount)"
  5020. else:
  5021. send "&9Stats> &e/givestat (player) (stat) (amount)"
  5022. else:
  5023. send "&9Stats> &e/givestat (player) (stat) (amount)"
  5024.  
  5025. command /stats [<offline player>] [<string>]:
  5026. trigger:
  5027. if arg 1 is not set:
  5028. set {_p} to player
  5029. set {_good} to true
  5030. else:
  5031. if arg 1 is online:
  5032. set {_p} to arg 1
  5033. set {_good} to true
  5034. else:
  5035. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  5036. if {_good} is true:
  5037. open chest with 5 rows named "%{_p}%'s Stats" to player
  5038. wait 1 tick
  5039. set {_tm} to {mineplex.time.%{_p}%}
  5040. if {_tm} is less than 60:
  5041. set {_global.time} to "%{_final}%.0 Seconds"
  5042. else if {_tm} is less than 3600:
  5043. set {_final} to {_tm} / 60
  5044. set {_global.time} to "%{_final}% Minutes"
  5045. else if {_tm} is less than 86400:
  5046. set {_final} to {_tm} / 3600
  5047. set {_global.time} to "%{_final}% Hours"
  5048. else if {_tm} is less than 604800:
  5049. set {_final} to {_tm} / 86400
  5050. set {_global.time} to "%{_final}% Days"
  5051. else:
  5052. set {_final} to {_tm} / 604800
  5053. set {_global.time} to "%{_final}% Weeks"
  5054. set {_global.gems} to getPlayerdata({_p}, "stats.global.gems")
  5055. set {_global.games} to getPlayerdata({_p}, "stats.global.games")
  5056. set {_global.dailyr} to getPlayerdata({_p}, "stats.global.dailyr")
  5057. set {_global.voted} to getPlayerdata({_p}, "stats.global.voted")
  5058. set {_global.chests} to getPlayerdata({_p}, "stats.global.chests")
  5059. 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
  5060.  
  5061. command /mcr:
  5062. trigger:
  5063. send "&9Plugin> &7Mineplex Core"
  5064. send "&9Plugin> &7Running MCR: &e{@MCRVER}"
  5065. send "&9Plugin> &7Hotfix/Release Cycle: &e{@MCRHOTFIX}"
  5066. send "&9Plugin> &7by &aWheezyGold7931&7, &eOttelino&7, &eTheSkripterDK&7, &eTorksi&7, &7and &eItzRenderman"
  5067. send "&9Plugin> &7GitHub Contributors: NaiculS, termanator1128, IsGeorgeCurious, Techno3600, TreyRuffy, and WilliePlaysMC."
  5068. send "&9Plugin> &7Special thanks to SoftBreeze, Rezz, Boobah, TonyMaster21, LimeGlass, and Citrin_"
  5069. send ""
  5070. send "&9Patreon> &7Huge Thanks to my Patreons:"
  5071. send "&9Patreon> &eNone, anymore"
  5072. send "&9Patreon> &7If you want to be listed there than support me on Patreon!:"
  5073. send "&9Patreon> &bhttps://www.patreon.com/WheezyGold7931"
  5074.  
  5075. command /a [<text>]:
  5076. aliases: /admin
  5077. trigger:
  5078. if arg 1 is not set:
  5079. send "&9Admin> &7Corect Usage: /a (message)"
  5080. stop
  5081. if {mineplex.disguise.%player%} is set:
  5082. send "&9Admin> &7Disguised users cannot use /a while disguised!"
  5083. stop
  5084. else:
  5085. set {_p} to player
  5086. set {_get} to getPlayerdata(player, "muted")
  5087. if {_get} is "yes":
  5088. if {muted::%player%::type} is "perm":
  5089. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  5090. stop
  5091. if {muted::%player%::type} is "temp":
  5092. set {_waited} to difference between {muted::%player%::when} and now
  5093. if {_waited} is less than {muted::%player%::time}:
  5094. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  5095. stop
  5096. if {mineplex.rank.%{_p}%} is "":
  5097. set {_display} to "Player %{_p}%"
  5098. else:
  5099. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  5100. if player has permission "mineplex.trainee":
  5101. loop all players:
  5102. if loop-player has permission "mineplex.trainee":
  5103. send "%{_display}% &d%arg-1%" to loop-player
  5104. play "NOTE_PLING" to loop-player at volume 0.5
  5105. else:
  5106. send "%{_display}% &d%arg-1%"
  5107. play "NOTE_PLING" to player at volume 0.5
  5108. loop all players:
  5109. if loop-player has permission "mineplex.trainee":
  5110. send "%{_display}% &d%arg-1%" to loop-player
  5111. play "NOTE_PLING" to loop-player at volume 0.5
  5112.  
  5113. command /ma [<player>] [<text>]:
  5114. permission: mineplex.trainee
  5115. permission message: &9Permissions> &7You do not have permission to do that.
  5116. trigger:
  5117. if {mineplex.disguise.%player%} is set:
  5118. send "&9Admin> &7Disguised users cannot use /a while disguised!"
  5119. stop
  5120. else:
  5121. set {_p} to player
  5122. if {mineplex.rank.%{_p}%} is "":
  5123. set {_display} to "&fPlayer %{_p}%"
  5124. else:
  5125. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  5126. if {mineplex.rank.%arg-1%} is "":
  5127. set {_display2} to "&fPlayer %arg-1%"
  5128. else:
  5129. set {_display2} to "%{mineplex.displaya.%arg-1%}% %arg-1%"
  5130. if player has permission "mineplex.trainee":
  5131. if argument 1 and argument 2 is set:
  5132. send "&d-> %{_display2}% &d%arg 2%"
  5133. send "&d<- %{_display}% &d%arg 2%" to arg-1
  5134. set {mineplex.lasta.%player%} to arg-1
  5135. play "NOTE_PLING" to player at volume 0.5
  5136. play "NOTE_PLING" to arg-1 at volume 0.5
  5137. loop all players:
  5138. if loop-player has permission "mineplex.trainee":
  5139. if loop-player is not player or arg-1:
  5140. send "%{_display}% &d-> %{_display2}% &d%arg 2%" to loop-player
  5141. else:
  5142. send "&9Message> &cErr...something went wrong?"
  5143. else:
  5144. send "&9Permissions> &7You do not have permission to do that."
  5145.  
  5146. command /ra [<text>]:
  5147. permission: mineplex.trainee
  5148. permission message: &9Permissions> &7You do not have permission to do that.
  5149. trigger:
  5150. if {mineplex.disguise.%player%} is set:
  5151. set {_p} to {mineplex.disguise.%player%}
  5152. else:
  5153. set {_p} to player
  5154. if {mineplex.rank.%{_p}%} is "":
  5155. set {_display} to "&fPlayer %{_p}%"
  5156. else:
  5157. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  5158. if {mineplex.rank.%{mineplex.lasta.%player%}%} is "":
  5159. set {_display2} to "&fPlayer %{mineplex.lasta.%player%}%"
  5160. else:
  5161. set {_display2} to "%{mineplex.displaya.%{mineplex.lasta.%player%}%}% %{mineplex.lasta.%player%}%"
  5162. if {mineplex.lasta.%player%} is not set:
  5163. send "&9Message> &7You have not messaged anyone recently."
  5164. stop
  5165. else:
  5166. if argument 1 is set:
  5167. send "&d-> %{_display2}% &d%arg 1%"
  5168. send "&d<- %{_display}% &d%arg-1%" to {mineplex.lasta.%player%}
  5169. play "NOTE_PLING" to player at volume 0.5
  5170. play "NOTE_PLING" to {mineplex.lasta.%player%} at volume 0.5
  5171. loop all players:
  5172. if loop-player has permission "mineplex.trainee":
  5173. if loop-player is not player or {mineplex.lasta.%player%}:
  5174. send "%{_display}% &d-> %{_display2}% &d%arg 1%" to loop-player
  5175. else:
  5176. send "&9Message> &cErr...something went wrong?"
  5177.  
  5178. command /vanish:
  5179. aliases: /incognito
  5180. permission: mineplex.trainee
  5181. permission message: &9Permissions> &7You do not have permission to do that.
  5182. trigger:
  5183. if {mineplex.vanish.%player%} is true:
  5184. loop all players:
  5185. loop-value doesn't have permission "mineplex.admin"
  5186. add loop-value to {_vanishto::*}
  5187.  
  5188. reveal player from all players
  5189. set {mineplex.vanish.%player%} to false
  5190. send "&9Moderation> &7Disabled moderator mode."
  5191. send "&9Incognito> &7You are no longer incognito. Your status will only change when you run &e/vanish &7again."
  5192. else:
  5193. loop all players:
  5194. loop-value doesn't have permission "mineplex.admin"
  5195. add loop-value to {_vanishto::*}
  5196.  
  5197. hide player from {_vanishto::*}
  5198. set {mineplex.vanish.%player%} to true
  5199. send "&9Moderation> &7Enabled moderator mode."
  5200. send "&9Incognito> &7You are now incognito. Your status will only change when you run &e/vanish &7again."
  5201.  
  5202. function friendButtons(p: player) :: number:
  5203. set {_t} to "Steve" parsed as an offline player
  5204. set slot 0 of {_p}'s current inventory to {_t}'s skull named "&fFriends" with lore ""
  5205. set slot 2 of {_p}'s current inventory to rose named "&fFriend Requests" with lore ""
  5206. set slot 4 of {_p}'s current inventory to tnt named "&fDelete Friends" with lore ""
  5207. set slot 6 of {_p}'s current inventory to book and quill named "&fSend Friend Request" with lore ""
  5208. set slot 8 of {_p}'s current inventory to sign item named "&7Toggle friends to display in chat" with lore ""
  5209.  
  5210. function friendClean(p: player) :: number:
  5211. set {_s} to 18
  5212. loop 27 times:
  5213. set slot {_s} of {_p}'s current inventory to air
  5214. add 1 to {_s}
  5215. if {_s} = 44:
  5216. exit loop
  5217. friendButtons({_p})
  5218.  
  5219. function friendMain(p: player) :: number:
  5220. open chest with 6 rows named "Friends" to {_p}
  5221. friendClean({_p})
  5222. set {_s} to 18
  5223. loop {friends.list.%{_p}%::*}:
  5224. set {_t} to "%loop-value%" parsed as offline player
  5225. if {_t} is online:
  5226. set {_a} to "&2Online"
  5227. set {_w} to "&e%{_t}'s world%"
  5228. 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"
  5229. else:
  5230. set {_a} to "&cOffline"
  5231. 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"
  5232. add 1 to {_s}
  5233. if {_s} = 44:
  5234. exit loop
  5235.  
  5236. function friendDel(p: player) :: number:
  5237. open chest with 6 rows named "Delete Friends" to {_p}
  5238. friendClean({_p})
  5239. set {_s} to 18
  5240. loop {friends.list.%{_p}%::*}:
  5241. set {_t} to "%loop-value%" parsed as offline player
  5242. if {_t} is online:
  5243. set {_a} to "&2Online"
  5244. set {_w} to "&e%{_t}'s world%"
  5245. 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"
  5246. else:
  5247. set {_a} to "&cOffline"
  5248. 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"
  5249. add 1 to {_s}
  5250. if {_s} = 44:
  5251. exit loop
  5252.  
  5253. function friendReq(p: player) :: number:
  5254. open chest with 6 rows named "Friend Requests" to {_p}
  5255. friendClean({_p})
  5256. set {_s} to 18
  5257. loop {friends.request.%{_p}%::*}:
  5258. set {_t} to "%loop-value%" parsed as offline player
  5259. 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"
  5260. add 1 to {_s}
  5261. if {_s} = 44:
  5262. exit loop
  5263.  
  5264. command /friend [<string>] [<string>]:
  5265. aliases: /f
  5266. trigger:
  5267. if arg 1 is not set:
  5268. friendMain(player)
  5269. else:
  5270. if arg 1 is "%player%":
  5271. send "&9Friends> &7You cannot friend yourself!"
  5272. stop
  5273. stop
  5274. loop {friends.list.%arg-1%::*}:
  5275. if loop-value is "%player%":
  5276. set {_f} to true
  5277. loop {friends.request.%arg-1%::*}:
  5278. if loop-value is "%player%":
  5279. set {_a} to true
  5280. if {_a} is true:
  5281. send "&9Friends> &a%arg-1% &7has yet to respond to your friend request."
  5282. else if {_f} is true:
  5283. send "&9Friends> &7You are already friends with &a%arg-1%"
  5284. else:
  5285. add "%player%" to {friends.request.%arg-1%::*}
  5286. send "&9Friends> &7Added &a%arg-1% &7to your friends list!"
  5287.  
  5288. on inventory click:
  5289. if inventory name of player's current inventory is "Friends":
  5290. if clicked slot is 2:
  5291. friendReq(player)
  5292. if clicked slot is 4:
  5293. friendDel(player)
  5294. cancel event
  5295. if inventory name of player's current inventory is "Friend Requests":
  5296. if clicked slot is 0:
  5297. friendMain(player)
  5298. if clicked slot is 4:
  5299. friendDel(player)
  5300. else:
  5301. set {_n} to name of clicked item
  5302. if {_n} contains "&7Friend request from ":
  5303. replace all "&7Friend request from " with "" in {_n}
  5304. set {_f} to uncolored {_n}
  5305. remove {_f} from {friends.request.%player%::*}
  5306. add {_f} to {friends.list.%player%::*}
  5307. add "%player%" to {friends.list.%{_f}%::*}
  5308. send "&9Friends> &aYou &7and &a%{_f}% &7are now friends!"
  5309. friendReq(player)
  5310. cancel event
  5311. if inventory name of player's current inventory is "Delete Friends":
  5312. if clicked slot is 0:
  5313. friendMain(player)
  5314. if clicked slot is 2:
  5315. friendReq(player)
  5316. else:
  5317. if "%clicked item%" is "player head":
  5318. if clicked slot is not 0:
  5319. set {_n} to name of clicked item
  5320. set {_f} to uncolored {_n}
  5321. replace all " " with "" in {_f}
  5322. remove {_f} from {friends.list.%player%::*}
  5323. remove {_f} from {friends.list.%{_l}%::*}
  5324. send "&9Friends> &7Deleted &a%{_f}% &7from your friends list!"
  5325. friendDel(player)
  5326. cancel event
  5327.  
  5328. command /chatslow [<integer>]:
  5329. aliases: /cs
  5330. permission: mineplex.srmod
  5331. permission message: &9Permissions> &7You do not have permission to do that.
  5332. trigger:
  5333. if {mineplex.disguise.%player%} is set:
  5334. set {_p} to {mineplex.disguise.%player%}
  5335. else:
  5336. set {_p} to player
  5337. if argument 1 is set:
  5338. if {mineplex.chatsilence} is set:
  5339. send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
  5340. stop
  5341. else:
  5342. if {mineplex.chatslow} is not set:
  5343. set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
  5344. send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
  5345. else:
  5346. set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
  5347. send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
  5348. send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
  5349. else:
  5350. if {mineplex.chatsilence} is set:
  5351. send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
  5352. stop
  5353. else:
  5354. if {mineplex.chatslow} is set:
  5355. delete {mineplex.chatslow}
  5356. send "&9Chat> &6%{_p}% &7has disabled chat slow." to all players
  5357. else:
  5358. send "&9Message> &cYou didn't enter a time limit! Defaulting to 10 seconds."
  5359. set {mineplex.chatslow} to "10 seconds" parsed as timespan
  5360. send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
  5361. send "&9Chat> &6%{_p}% &7has set the chat delay to &610 &7seconds." to all players
  5362. command /silence:
  5363. permission: mineplex.admin
  5364. permission message: &9Permissions> &7You do not have permission to do that.
  5365. trigger:
  5366. if {mineplex.chatslow} is set:
  5367. delete {mineplex.chatslow}
  5368. send "&9Chat> &6%player% &7has disabled chat slow." to all players
  5369. set {mineplex.chatsilence} to true
  5370. send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
  5371. stop
  5372. if {mineplex.chatsilence} is set:
  5373. delete {mineplex.chatsilence}
  5374. send "&9Chat> &7The chat is no longer silenced." to all players
  5375. else:
  5376. set {mineplex.chatsilence} to true
  5377. send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
  5378.  
  5379. command /locate [<string>]:
  5380. aliases: /find, /where
  5381. permission: mineplex.trainee
  5382. permission message: &9Permissions> &7You do not have permission to do that.
  5383. trigger:
  5384. if argument 1 is set:
  5385. set {_tmp} to arg 1 parsed as an offline player
  5386. if {_tmp} is online:
  5387. set {_mineplex.locate.temp} to "%{_tmp}'s world%"
  5388. send "&9Locate> &7Located [&e%arg-1%&7] at &9%{_mineplex.locate.temp}%"
  5389. else:
  5390. send "&9Locate> &7Failed to locate [&e%arg-1%&7]."
  5391. else:
  5392. send "&9Locate> &7Player argument missing."
  5393.  
  5394. command /rank [<string>] [<offline player>] [<string>]:
  5395. permission: mineplex.support
  5396. permission message: &9Permissions> &7You do not have permission to do that.
  5397. trigger:
  5398. if argument 1 is not set:
  5399. send "&9Client Manager> &7Listing Commands:"
  5400. send "&4/rank set <player> <rank>: &fSets the target user's rank"
  5401. send "&4/rank test <player> <rank>: &fTemporarily sets the target users' rank"
  5402. stop
  5403. if argument 1 is not "set" or "test":
  5404. send "&9Client Manager> &7Listing Commands:"
  5405. send "&4/rank set <player> <rank>: &fSets the target user's rank"
  5406. send "&4/rank test <player> <rank>: &fTemporarily sets the target users' rank"
  5407. stop
  5408. if argument 1 is "set":
  5409. if argument 2 or argument 3 is not set:
  5410. send "&9Client Manager> &7Listing Rank Update Commands:"
  5411. send "&f/rank set (player) (rank): &eupdates chosen player's rank to the chosen rank"
  5412. send ""
  5413. send "&9Rank Update> &7Listing Rank List:"
  5414. 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."
  5415. #send "&9Ranks> &7ULTRA"
  5416. #send "&9Ranks> &7HERO"
  5417. #send "&9Ranks> &7LEGEND"
  5418. #send "&9Ranks> &7TITAN"
  5419. #send "&9Ranks> &7ETERNAL"
  5420. #send "&9Ranks> &7TRAINEE"
  5421. #send "&9Ranks> &7MODERATOR"
  5422. #send "&9Ranks> &7SNR_MODERATOR"
  5423. #send "&9Ranks> &7CLANS_MOD"
  5424. #send "&9Ranks> &7JNR_DEV"
  5425. #send "&9Ranks> &7SUPPORT"
  5426. #send "&9Ranks> &7ADMIN"
  5427. #send "&9Ranks> &7LEADER"
  5428. #send "&9Ranks> &7DEVELOPER"
  5429. #send "&9Ranks> &7OWNER"
  5430. #send "&9Ranks> &7ARTIST"
  5431. #send "&9Ranks> &7MAPLEAD"
  5432. #send "&9Ranks> &7BUILDER"
  5433. #send "&9Ranks> &7MAPPER"
  5434. #send "&9Ranks> &7EVENT"
  5435. #send "&9Ranks> &7TWITCH"
  5436. #send "&9Ranks> &7YOUTUBE"
  5437. #send "&9Ranks> &7YT"
  5438. stop
  5439. set {_uuid} to uuid of arg-2
  5440. set {_allcap} to convert arg-3 to all caps
  5441. if argument 3 is "ALL":
  5442. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5443. if {_c} is true:
  5444. set {mineplex.rank.%arg-2%} to ""
  5445. execute console command "/__mp__dp__ %arg-2%"
  5446. send "&9Client Manager> &7%arg-2%'s rank has been updated to None!"
  5447. send "&9Client Manager> &7Your rank has been updated to None!" to arg 2
  5448. set arg-2 tab name to "&e%arg-2%"
  5449. updateRankAPI(arg-2)
  5450. setPlayerdata(arg-2, "rank", "All")
  5451. else:
  5452. send "&9Client Manager> &c&lInvalid rank!"
  5453. else if argument 3 is "ULTRA":
  5454. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5455. if {_c} is true:
  5456. set {mineplex.rank.%arg-2%} to "&b&lULTRA "
  5457. execute console command "/__mp__dp__ %arg-2%"
  5458. send "&9Client Manager> &7%arg-2%'s rank has been updated to Ultra!"
  5459. send "&9Client Manager> &7Your rank has been updated to Ultra!" to arg 2
  5460. set arg-2 tab name to "&b&lULTRA &e%arg-2%"
  5461. updateRankAPI(arg-2)
  5462. setPlayerdata(arg-2, "rank", "Ultra")
  5463. else:
  5464. send "&9Client Manager> &c&lInvalid rank!"
  5465. else if argument 3 is "HERO":
  5466. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5467. if {_c} is true:
  5468. set {mineplex.rank.%arg-2%} to "&d&lHERO "
  5469. execute console command "/__mp__dp__ %arg-2%"
  5470. send "&9Client Manager> &7%arg-2%'s rank has been updated to Hero!"
  5471. send "&9Client Manager> &7Your rank has been updated to Hero!" to arg 2
  5472. set arg-2 tab name to "&d&lHERO &e%arg-2%"
  5473. updateRankAPI(arg-2)
  5474. setPlayerdata(arg-2, "rank", "Hero")
  5475. else:
  5476. send "&9Client Manager> &c&lInvalid rank!"
  5477. else if argument 3 is "LEGEND":
  5478. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5479. if {_c} is true:
  5480. set {mineplex.rank.%arg-2%} to "&a&lLEGEND "
  5481. execute console command "/__mp__dp__ %arg-2%"
  5482. add "mineplex.legend" to arg-2's permissions
  5483. send "&9Client Manager> &7%arg-2%'s rank has been updated to Legend!"
  5484. send "&9Client Manager> &7Your rank has been updated to Legend!" to arg 2
  5485. set arg-2 tab name to "&a&lLEGEND &e%arg-2%"
  5486. updateRankAPI(arg-2)
  5487. setPlayerdata(arg-2, "rank", "Legend")
  5488. else:
  5489. send "&9Client Manager> &c&lInvalid rank!"
  5490. else if argument 3 is "TITAN":
  5491. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5492. if {_c} is true:
  5493. set {mineplex.rank.%arg-2%} to "&c&lTITAN "
  5494. execute console command "/__mp__dp__ %arg-2%"
  5495. add "mineplex.legend" to arg-2's permissions
  5496. add "mineplex.titan" to arg-2's permissions
  5497. send "&9Client Manager> &7%arg-2%'s rank has been updated to Titan!"
  5498. send "&9Client Manager> &7Your rank has been updated to Titan!" to arg 2
  5499. set arg-2 tab name to "&c&lTITAN &e%arg-2%"
  5500. updateRankAPI(arg-2)
  5501. setPlayerdata(arg-2, "rank", "Titan")
  5502. else:
  5503. send "&9Client Manager> &c&lInvalid rank!"
  5504. else if argument 3 is "ETERNAL":
  5505. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5506. if {_c} is true:
  5507. set {mineplex.rank.%arg-2%} to "&3&lETERNAL "
  5508. execute console command "/__mp__dp__ %arg-2%"
  5509. add "mineplex.legend" to arg-2's permissions
  5510. add "mineplex.titan" to arg-2's permissions
  5511. send "&9Client Manager> &7%arg-2%'s rank has been updated to Eternal!"
  5512. send "&9Client Manager> &7Your rank has been updated to Eternal!" to arg 2
  5513. set arg-2 tab name to "&3&lETERNAL &e%arg-2%"
  5514. updateRankAPI(arg-2)
  5515. setPlayerdata(arg-2, "rank", "Eternal")
  5516. else:
  5517. send "&9Client Manager> &c&lInvalid rank!"
  5518. else if argument 3 is "TRAINEE":
  5519. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5520. if {_c} is true:
  5521. set {mineplex.rank.%arg-2%} to "&6&lTRAINEE "
  5522. execute console command "/__mp__dp__ %arg-2%"
  5523. add "mineplex.trainee" to arg-2's permissions
  5524. add "mineplex.legend" to arg-2's permissions
  5525. add "mineplex.titan" to arg-2's permissions
  5526. add "mineplex.2fa" to arg-2's permissions
  5527. send "&9Client Manager> &7%arg-2%'s rank has been updated to Trainee!"
  5528. send "&9Client Manager> &7Your rank has been updated to Trainee!" to arg 2
  5529. set arg-2 tab name to "&6&lTRAINEE &e%arg-2%"
  5530. updateRankAPI(arg-2)
  5531. setPlayerdata(arg-2, "rank", "Trainee")
  5532. else:
  5533. send "&9Client Manager> &c&lInvalid rank!"
  5534. else if argument 3 is "MODERATOR":
  5535. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5536. if {_c} is true:
  5537. set {mineplex.rank.%arg-2%} to "&6&lMOD "
  5538. execute console command "/__mp__dp__ %arg-2%"
  5539. add "mineplex.trainee" to arg-2's permissions
  5540. add "mineplex.mod" to arg-2's permissions
  5541. add "mineplex.legend" to arg-2's permissions
  5542. add "mineplex.2fa" to arg-2's permissions
  5543. add "mineplex.titan" to arg-2's permissions
  5544. send "&9Client Manager> &7%arg-2%'s rank has been updated to Mod!"
  5545. send "&9Client Manager> &7Your rank has been updated to Mod!" to arg 2
  5546. set arg-2 tab name to "&6&lMOD &e%arg-2%"
  5547. updateRankAPI(arg-2)
  5548. setPlayerdata(arg-2, "rank", "Mod")
  5549. else:
  5550. send "&9Client Manager> &c&lInvalid rank!"
  5551. else if argument 3 is "SNR_MODERATOR":
  5552. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5553. if {_c} is true:
  5554. set {mineplex.rank.%arg-2%} to "&6&lSR.MOD "
  5555. execute console command "/__mp__dp__ %arg-2%"
  5556. add "mineplex.trainee" to arg-2's permissions
  5557. add "mineplex.mod" to arg-2's permissions
  5558. add "mineplex.srmod" to arg-2's permissions
  5559. add "mineplex.legend" to arg-2's permissions
  5560. add "mineplex.2fa" to arg-2's permissions
  5561. add "mineplex.titan" to arg-2's permissions
  5562. send "&9Client Manager> &7%arg-2%'s rank has been updated to Sr.Mod!"
  5563. send "&9Client Manager> &7Your rank has been updated to Sr.Mod!" to arg 2
  5564. set arg-2 tab name to "&6&lSR.MOD &e%arg-2%"
  5565. updateRankAPI(arg-2)
  5566. set "rank" to "SrMod" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  5567. setPlayerdata(arg-2, "rank", "SrMod")
  5568. else:
  5569. send "&9Client Manager> &c&lInvalid rank!"
  5570. else if argument 3 is "CLANS_MOD":
  5571. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5572. if {_c} is true:
  5573. set {mineplex.rank.%arg-2%} to "&6&lC.MOD "
  5574. execute console command "/__mp__dp__ %arg-2%"
  5575. add "mineplex.trainee" to arg-2's permissions
  5576. add "mineplex.mod" to arg-2's permissions
  5577. add "mineplex.srmod" to arg-2's permissions
  5578. add "mineplex.legend" to arg-2's permissions
  5579. add "mineplex.2fa" to arg-2's permissions
  5580. add "mineplex.titan" to arg-2's permissions
  5581. send "&9Client Manager> &7%arg-2%'s rank has been updated to C.Mod!"
  5582. send "&9Client Manager> &7Your rank has been updated to C.Mod!" to arg 2
  5583. set arg-2 tab name to "&6&lC.MOD &e%arg-2%"
  5584. updateRankAPI(arg-2)
  5585. setPlayerdata(arg-2, "rank", "CMod")
  5586. else:
  5587. send "&9Client Manager> &c&lInvalid rank!"
  5588. else if argument 3 is "ADMIN":
  5589. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5590. if {_c} is true:
  5591. set {mineplex.rank.%arg-2%} to "&4&lADMIN "
  5592. execute console command "/__mp__dp__ %arg-2%"
  5593. add "mineplex.trainee" to arg-2's permissions
  5594. add "mineplex.legend" to arg-2's permissions
  5595. add "mineplex.mod" to arg-2's permissions
  5596. add "mineplex.jrdev" to arg-2's permissions
  5597. add "mineplex.youtube" to arg-2's permissions
  5598. add "mineplex.builder" to arg-2's permissions
  5599. add "mineplex.srmod" to arg-2's permissions
  5600. add "mineplex.support" to arg-2's permissions
  5601. add "mineplex.admin" to arg-2's permissions
  5602. add "mineplex.titan" to arg-2's permissions
  5603. add "mineplex.2fa" to arg-2's permissions
  5604. send "&9Client Manager> &7%arg-2%'s rank has been updated to Admin!"
  5605. send "&9Client Manager> &7Your rank has been updated to Admin!" to arg 2
  5606. set arg-2 tab name to "&4&lADMIN &e%arg-2%"
  5607. updateRankAPI(arg-2)
  5608. setPlayerdata(arg-2, "rank", "Admin")
  5609. else:
  5610. send "&9Client Manager> &c&lInvalid rank!"
  5611. else if argument 3 is "APEX":
  5612. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5613. if {_c} is true:
  5614. set {mineplex.rank.%arg-2%} to "&9&lAPEX "
  5615. execute console command "/__mp__dp__ %arg-2%"
  5616. add "mineplex.trainee" to arg-2's permissions
  5617. add "mineplex.legend" to arg-2's permissions
  5618. add "mineplex.mod" to arg-2's permissions
  5619. add "mineplex.jrdev" to arg-2's permissions
  5620. add "mineplex.support" to arg-2's permissions
  5621. add "mineplex.youtube" to arg-2's permissions
  5622. add "mineplex.builder" to arg-2's permissions
  5623. add "mineplex.srmod" to arg-2's permissions
  5624. add "mineplex.admin" to arg-2's permissions
  5625. add "mineplex.titan" to arg-2's permissions
  5626. add "mineplex.2fa" to arg-2's permissions
  5627. send "&9Client Manager> &7%arg-2%'s rank has been updated to Apex Minecraft Hosting!"
  5628. send "&9Client Manager> &7Your rank has been updated to Apex Minecraft Hosting!" to arg 2
  5629. set arg-2 tab name to "&9&lAPEX &e%arg-2%"
  5630. updateRankAPI(arg-2)
  5631. setPlayerdata(arg-2, "rank", "Apex")
  5632. else:
  5633. send "&9Client Manager> &c&lInvalid rank!"
  5634. else if argument 3 is "LEADER":
  5635. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5636. if {_c} is true:
  5637. set {mineplex.rank.%arg-2%} to "&4&lLEADER "
  5638. execute console command "/__mp__dp__ %arg-2%"
  5639. add "mineplex.trainee" to arg-2's permissions
  5640. add "mineplex.mod" to arg-2's permissions
  5641. add "mineplex.jrdev" to arg-2's permissions
  5642. add "mineplex.builder" to arg-2's permissions
  5643. add "mineplex.srmod" to arg-2's permissions
  5644. add "mineplex.admin" to arg-2's permissions
  5645. add "mineplex.support" to arg-2's permissions
  5646. add "mineplex.youtube" to arg-2's permissions
  5647. add "mineplex.legend" to arg-2's permissions
  5648. add "mineplex.2fa" to arg-2's permissions
  5649. add "mineplex.leader" to arg-2's permissions
  5650. add "mineplex.titan" to arg-2's permissions
  5651. send "&9Client Manager> &7%arg-2%'s rank has been updated to Leader!"
  5652. send "&9Client Manager> &7Your rank has been updated to Leader!" to arg 2
  5653. set arg-2 tab name to "&4&lLEADER &e%arg-2%"
  5654. updateRankAPI(arg-2)
  5655. setPlayerdata(arg-2, "rank", "Leader")
  5656. else:
  5657. send "&9Client Manager> &c&lInvalid rank!"
  5658. else if argument 3 is "OWNER":
  5659. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5660. if {_c} is true:
  5661. set {mineplex.rank.%arg-2%} to "&4&lOWNER "
  5662. execute console command "/__mp__dp__ %arg-2%"
  5663. add "mineplex.trainee" to arg-2's permissions
  5664. add "mineplex.mod" to arg-2's permissions
  5665. add "mineplex.srmod" to arg-2's permissions
  5666. add "mineplex.admin" to arg-2's permissions
  5667. add "mineplex.jrdev" to arg-2's permissions
  5668. add "mineplex.dev" to arg-2's permissions
  5669. add "mineplex.youtube" to arg-2's permissions
  5670. add "mineplex.builder" to arg-2's permissions
  5671. add "mineplex.leader" to arg-2's permissions
  5672. add "mineplex.jrdev" to arg-2's permissions
  5673. add "mineplex.2fa" to arg-2's permissions
  5674. add "mineplex.support" to arg-2's permissions
  5675. add "mineplex.owner" to arg-2's permissions
  5676. add "mineplex.legend" to arg-2's permissions
  5677. add "mineplex.titan" to arg-2's permissions
  5678. send "&9Client Manager> &7%arg-2%'s rank has been updated to Owner!"
  5679. send "&9Client Manager> &7Your rank has been updated to Owner!" to arg 2
  5680. set arg-2 tab name to "&4&lOWNER &e%arg-2%"
  5681. updateRankAPI(arg-2)
  5682. setPlayerdata(arg-2, "rank", "Owner")
  5683. else:
  5684. send "&9Client Manager> &c&lInvalid rank!"
  5685. else if argument 3 is "BUILDER":
  5686. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5687. if {_c} is true:
  5688. set {mineplex.rank.%arg-2%} to "&9&lBUILDER "
  5689. execute console command "/__mp__dp__ %arg-2%"
  5690. add "mineplex.titan" to arg-2's permissions
  5691. add "mineplex.legend" to arg-2's permissions
  5692. add "mineplex.2fa" to arg-2's permissions
  5693. send "&9Client Manager> &7%arg-2%'s rank has been updated to Builder!"
  5694. send "&9Client Manager> &7Your rank has been updated to Builder!" to arg 2
  5695. set arg-2 tab name to "&9&lBUIDLER &e%arg-2%"
  5696. updateRankAPI(arg-2)
  5697. setPlayerdata(arg-2, "rank", "Builder")
  5698. else:
  5699. send "&9Client Manager> &c&lInvalid rank!"
  5700. else if argument 3 is "MAPPER":
  5701. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5702. if {_c} is true:
  5703. set {mineplex.rank.%arg-2%} to "&9&lMAPPER "
  5704. execute console command "/__mp__dp__ %arg-2%"
  5705. add "mineplex.builder" to arg-2's permissions
  5706. add "mineplex.titan" to arg-2's permissions
  5707. add "mineplex.legend" to arg-2's permissions
  5708. add "mineplex.2fa" to arg-2's permissions
  5709. send "&9Client Manager> &7%arg-2%'s rank has been updated to Mapper!"
  5710. send "&9Client Manager> &7Your rank has been updated to Mapper!" to arg 2
  5711. set arg-2 tab name to "&9&lMAPPER &e%arg-2%"
  5712. updateRankAPI(arg-2)
  5713. setPlayerdata(arg-2, "rank", "Mapper")
  5714. else:
  5715. send "&9Client Manager> &c&lInvalid rank!"
  5716. else if argument 3 is "SUPPORT":
  5717. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5718. if {_c} is true:
  5719. set {mineplex.rank.%arg-2%} to "&9&lSUPPORT "
  5720. execute console command "/__mp__dp__ %arg-2%"
  5721. add "mineplex.trainee" to arg-2's permissions
  5722. add "mineplex.legend" to arg-2's permissions
  5723. add "mineplex.jrdev" to arg-2's permissions
  5724. add "mineplex.2fa" to arg-2's permissions
  5725. add "mineplex.mod" to arg-2's permissions
  5726. add "mineplex.youtube" to arg-2's permissions
  5727. add "mineplex.builder" to arg-2's permissions
  5728. add "mineplex.srmod" to arg-2's permissions
  5729. add "mineplex.support" to arg-2's permissions
  5730. add "mineplex.titan" to arg-2's permissions
  5731. send "&9Client Manager> &7%arg-2%'s rank has been updated to Support!"
  5732. send "&9Client Manager> &7Your rank has been updated to Support!" to arg 2
  5733. set arg-2 tab name to "&9&lSUPPORT &e%arg-2%"
  5734. updateRankAPI(arg-2)
  5735. setPlayerdata(arg-2, "rank", "Support")
  5736. else:
  5737. send "&9Client Manager> &c&lInvalid rank!"
  5738. else if argument 3 is "ARTIST":
  5739. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5740. if {_c} is true:
  5741. set {mineplex.rank.%arg-2%} to "&9&lARTIST "
  5742. execute console command "/__mp__dp__ %arg-2%"
  5743. add "mineplex.legend" to arg-2's permissions
  5744. add "mineplex.titan" to arg-2's permissions
  5745. send "&9Client Manager> &7%arg-2%'s rank has been updated to Artist!"
  5746. send "&9Client Manager> &7Your rank has been updated to Artist!" to arg 2
  5747. set arg-2 tab name to "&9&lARTIST &e%arg-2%"
  5748. updateRankAPI(arg-2)
  5749. setPlayerdata(arg-2, "rank", "Artist")
  5750. else:
  5751. send "&9Client Manager> &c&lInvalid rank!"
  5752. else if argument 3 is "MAPLEAD":
  5753. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5754. if {_c} is true:
  5755. set {mineplex.rank.%arg-2%} to "&9&lMAPLEAD "
  5756. execute console command "/__mp__dp__ %arg-2%"
  5757. add "mineplex.builder" to arg-2's permissions
  5758. add "mineplex.2fa" to arg-2's permissions
  5759. add "mineplex.titan" to arg-2's permissions
  5760. add "mineplex.legend" to arg-2's permissions
  5761. send "&9Client Manager> &7%arg-2%'s rank has been updated to MapLead!"
  5762. send "&9Client Manager> &7Your rank has been updated to MapLead!" to arg 2
  5763. set arg-2 tab name to "&9&lMAPLEAD &e%arg-2%"
  5764. updateRankAPI(arg-2)
  5765. setPlayerdata(arg-2, "rank", "Maplead")
  5766. else:
  5767. send "&9Client Manager> &c&lInvalid rank!"
  5768. else if argument 3 is "JNR_DEV":
  5769. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5770. if {_c} is true:
  5771. set {mineplex.rank.%arg-2%} to "&6&lJR.DEV "
  5772. execute console command "/__mp__dp__ %arg-2%"
  5773. add "mineplex.trainee" to arg-2's permissions
  5774. add "mineplex.mod" to arg-2's permissions
  5775. add "mineplex.srmod" to arg-2's permissions
  5776. add "mineplex.2fa" to arg-2's permissions
  5777. add "mineplex.builder" to arg-2's permissions
  5778. add "mineplex.jrdev" to arg-2's permissions
  5779. add "mineplex.legend" to arg-2's permissions
  5780. add "mineplex.titan" to arg-2's permissions
  5781. send "&9Client Manager> &7%arg-2%'s rank has been updated to Jr.Dev!"
  5782. send "&9Client Manager> &7Your rank has been updated to Jr.Dev!" to arg 2
  5783. set arg-2 tab name to "&6&lJR.DEV &e%arg-2%"
  5784. updateRankAPI(arg-2)
  5785. setPlayerdata(arg-2, "rank", "JrDev")
  5786. else:
  5787. send "&9Client Manager> &c&lInvalid rank!"
  5788. else if argument 3 is "DEVELOPER":
  5789. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5790. if {_c} is true:
  5791. set {mineplex.rank.%arg-2%} to "&4&lDEV "
  5792. execute console command "/__mp__dp__ %arg-2%"
  5793. add "mineplex.trainee" to arg-2's permissions
  5794. add "mineplex.mod" to arg-2's permissions
  5795. add "mineplex.srmod" to arg-2's permissions
  5796. add "mineplex.jrdev" to arg-2's permissions
  5797. add "mineplex.2fa" to arg-2's permissions
  5798. add "mineplex.admin" to arg-2's permissions
  5799. add "mineplex.leader" to arg-2's permissions
  5800. add "mineplex.support" to arg-2's permissions
  5801. add "mineplex.owner" to arg-2's permissions
  5802. add "mineplex.builder" to arg-2's permissions
  5803. add "mineplex.dev" to arg-2's permissions
  5804. add "mineplex.youtube" to arg-2's permissions
  5805. add "mineplex.admin" to arg-2's permissions
  5806. add "mineplex.legend" to arg-2's permissions
  5807. add "mineplex.titan" to arg-2's permissions
  5808. send "&9Client Manager> &7%arg-2%'s rank has been updated to Dev!"
  5809. send "&9Client Manager> &7Your rank has been updated to Dev!" to arg 2
  5810. set arg-2 tab name to "&4&lDEV &e%arg-2%"
  5811. updateRankAPI(arg-2)
  5812. setPlayerdata(arg-2, "rank", "Dev")
  5813. else:
  5814. send "&9Client Manager> &c&lInvalid rank!"
  5815. else if argument 3 is "TWITCH":
  5816. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5817. if {_c} is true:
  5818. set {mineplex.rank.%arg-2%} to "&5&lTWITCH "
  5819. execute console command "/__mp__dp__ %arg-2%"
  5820. add "mineplex.twitch" to arg-2's permissions
  5821. add "mineplex.legend" to arg-2's permissions
  5822. add "mineplex.titan" to arg-2's permissions
  5823. add "mineplex.youtube" to arg-2's permissions
  5824. send "&9Client Manager> &7%arg-2%'s rank has been updated to Twitch!"
  5825. send "&9Client Manager> &7Your rank has been updated to Twitch!" to arg 2
  5826. set arg-2 tab name to "&5&lTWITCH &e%arg-2%"
  5827. updateRankAPI(arg-2)
  5828. setPlayerdata(arg-2, "rank", "Twitch")
  5829. else:
  5830. send "&9Client Manager> &c&lInvalid rank!"
  5831. else if argument 3 is "YOUTUBE":
  5832. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5833. if {_c} is true:
  5834. set {mineplex.rank.%arg-2%} to "&c&lYOUTUBE "
  5835. execute console command "/__mp__dp__ %arg-2%"
  5836. add "mineplex.youtube" to arg-2's permissions
  5837. add "mineplex.legend" to arg-2's permissions
  5838. add "mineplex.titan" to arg-2's permissions
  5839. send "&9Client Manager> &7%arg-2%'s rank has been updated to YouTube!"
  5840. send "&9Client Manager> &7Your rank has been updated to YouTube!" to arg 2
  5841. set arg-2 tab name to "&c&lYOUTUBE &e%arg-2%"
  5842. updateRankAPI(arg-2)
  5843. setPlayerdata(arg-2, "rank", "Youtube")
  5844. else:
  5845. send "&9Client Manager> &c&lInvalid rank!"
  5846. else if argument 3 is "EVENT":
  5847. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5848. if {_c} is true:
  5849. set {mineplex.rank.%arg-2%} to "&f&lEVENT "
  5850. execute console command "/__mp__dp__ %arg-2%"
  5851. add "mineplex.youtube" to arg-2's permissions
  5852. add "mineplex.legend" to arg-2's permissions
  5853. add "mineplex.titan" to arg-2's permissions
  5854. send "&9Client Manager> &7%arg-2%'s rank has been updated to Event!"
  5855. send "&9Client Manager> &7Your rank has been updated to Event!" to arg 2
  5856. set arg-2 tab name to "&f&lEVENT &e%arg-2%"
  5857. updateRankAPI(arg-2)
  5858. setPlayerdata(arg-2, "rank", "Event")
  5859. else:
  5860. send "&9Client Manager> &c&lInvalid rank!"
  5861. else if argument 3 is "YT":
  5862. set {_c} to caseSensitive(arg-3, "%{_allcap}%")
  5863. if {_c} is true:
  5864. set {mineplex.rank.%arg-2%} to "&5&lYT "
  5865. execute console command "/__mp__dp__ %arg-2%"
  5866. add "mineplex.youtube" to arg-2's permissions
  5867. add "mineplex.legend" to arg-2's permissions
  5868. add "mineplex.titan" to arg-2's permissions
  5869. send "&9Client Manager> &7%arg-2%'s rank has been updated to YT!"
  5870. send "&9Client Manager> &7Your rank has been updated to YT!" to arg 2
  5871. set arg-2 tab name to "&5&lYT &e%arg-2%"
  5872. updateRankAPI(arg-2)
  5873. setPlayerdata(arg-2, "rank", "Yt")
  5874. else:
  5875. send "&9Client Manager> &c&lInvalid rank!"
  5876. else:
  5877. send "&9Client Manager> &c&lInvalid rank!"
  5878. rankLoad(arg-2, 2, 0)
  5879. else if argument 1 is "test":
  5880. if arg-2 or arg-3 is not set:
  5881. send "&4/rank test <player> <rank>: Temporarily sets the target user's rank"
  5882. else:
  5883. if arg 2 is online:
  5884. if {mineplex.testrank.%arg-2%} is not set:
  5885. if arg 3 is "ULTRA":
  5886. set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
  5887. set {mineplex.rank.%arg-2%} to "&b&lULTRA "
  5888. execute console command "/__mp__dp__ %arg-2%"
  5889. set {_or} to uncolored {mineplex.testrank.%arg-2%}
  5890. send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
  5891. send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
  5892. send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
  5893. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
  5894. set arg-2 tab name to "&b&lULTRA &e%arg-2%"
  5895. updateRankAPI(arg-2)
  5896. wait 5 ticks
  5897. rankLoad(arg-2, 2, 1)
  5898. else if arg 3 is "HERO":
  5899. set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
  5900. set {mineplex.rank.%arg-2%} to "&d&lHERO "
  5901. execute console command "/__mp__dp__ %arg-2%"
  5902. set {_or} to uncolored {mineplex.testrank.%arg-2%}
  5903. send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
  5904. send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
  5905. send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
  5906. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
  5907. set arg-2 tab name to "&d&lHERO &e%arg-2%"
  5908. updateRankAPI(arg-2)
  5909. wait 5 ticks
  5910. rankLoad(arg-2, 2, 1)
  5911. else if arg 3 is "LEGEND":
  5912. set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
  5913. set {mineplex.rank.%arg-2%} to "&a&lLEGEND "
  5914. execute console command "/__mp__dp__ %arg-2%"
  5915. set {_or} to uncolored {mineplex.testrank.%arg-2%}
  5916. send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
  5917. send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
  5918. send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
  5919. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
  5920. set arg-2 tab name to "&a&lLEGEND &e%arg-2%"
  5921. updateRankAPI(arg-2)
  5922. wait 5 ticks
  5923. rankLoad(arg-2, 2, 1)
  5924. else if arg 3 is "TITAN":
  5925. set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
  5926. set {mineplex.rank.%arg-2%} to "&c&lTITAN "
  5927. execute console command "/__mp__dp__ %arg-1%"
  5928. set {_or} to uncolored {mineplex.testrank.%arg-2%}
  5929. send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
  5930. send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
  5931. send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
  5932. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
  5933. set arg-2 tab name to "&c&lTITAN &e%arg-2%"
  5934. updateRankAPI(arg-2)
  5935. wait 5 ticks
  5936. rankLoad(arg-2, 2, 1)
  5937. else if arg 3 is "ETERNAL":
  5938. set {mineplex.testrank.%arg-2%} to {mineplex.rank.%arg-2%}
  5939. set {mineplex.rank.%arg-2%} to "&3&lETERNAL "
  5940. execute console command "/__mp__dp__ %arg-2%"
  5941. set {_or} to uncolored {mineplex.testrank.%arg-2%}
  5942. send "&9Client Manager> &7%arg-2%'s rank has been updated to %arg-3%!"
  5943. send "&9Client Manager> &7%arg-2%'s rank will be reset to %{_or}%on their login!"
  5944. send "&9Client Manager> &7Your rank has been updated to %arg-3%!" to arg 2
  5945. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 2
  5946. set arg-2 tab name to "&3&lETERNAL &e%arg-2%"
  5947. updateRankAPI(arg-2)
  5948. wait 5 ticks
  5949. rankLoad(arg-2, 2, 1)
  5950. else:
  5951. send "&9Client Manager> &c&lInvalid rank!"
  5952. else:
  5953. send "&9Client Manager> &c&lThis player already has a test rank!"
  5954. else:
  5955. send "&9Online Player Search> &e0 &7matches for [&e%arg-2%&7]."
  5956.  
  5957.  
  5958.  
  5959.  
  5960. command /powerplay [<offline player>]:
  5961. permission: mineplex.jrdev
  5962. permission message: &9Permissions> &7You do not have permission to do that.
  5963. trigger:
  5964. if arg 1 is set:
  5965. if {mineplex.ppc.%arg-1%} is not set:
  5966. set {mineplex.ppc.%arg-1%} to true
  5967. send "&9PPC> &7%arg-1% Power Play: &aTrue"
  5968. else:
  5969. delete {mineplex.ppc.%arg-1%}
  5970. send "&9PPC> &7%arg-1% Power Play: &cFalse"
  5971. else:
  5972. send "&9PPC> &7/powerplay (player)"
  5973.  
  5974. command /shard [<offline player>] [<string>] [<string>]:
  5975. permission: mineplex.admin
  5976. permission message: &9Permissions> &7You do not have permission to do that.
  5977. trigger:
  5978. if arg 1 is not set:
  5979. send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
  5980. else:
  5981. if arg 2 is not set:
  5982. send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
  5983. else:
  5984. if arg 1 is not online:
  5985. send "&9Shard> &7Could not find player &e%arg-1%"
  5986. else:
  5987. set {_num} to arg 2 parsed as an integer
  5988. if {_num} is an integer:
  5989. add {_num} to {mineplex.shards.%arg-1%}
  5990. send "&9Shard> &7You gave &e%arg-2% Shards &7to &e%arg-1%&7."
  5991. send "&9Shard> &e%player% &7gave you &e%arg-2% Shards&7." to arg-1
  5992. addShards(arg-1, {_num})
  5993. else:
  5994. send "&9Shard> &7Invalid Shards Amount"
  5995.  
  5996. command /gem [<offline player>] [<string>] [<string>]:
  5997. permission: mineplex.admin
  5998. permission message: &9Permissions> &7You do not have permission to do that.
  5999. trigger:
  6000. if arg 1 is not set:
  6001. send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
  6002. else:
  6003. if arg 2 is not set:
  6004. send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
  6005. else:
  6006. if arg 1 is not online:
  6007. send "&9Gem> &7Could not find player &e%arg-1%"
  6008. else:
  6009. set {_num} to arg 2 parsed as an integer
  6010. if {_num} is an integer:
  6011. addGems(arg-1, {_num})
  6012. send "&9Gem> &7You gave &e%arg-2% Gems &7to &e%arg-1%&7."
  6013. send "&9Gem> &e%player% &7gave you &e%arg-2% Gems&7." to arg-1
  6014. else:
  6015. send "&9Gem> &7Invalid Gems Amount"
  6016.  
  6017. command /getadmin:
  6018. permission: mineplex.jrdev
  6019. permission message: &9Permissions> &7You do not have permission to do that.
  6020. trigger:
  6021. if {mineplex.rank.%player%} is "&6&lJR.DEV ":
  6022. if {mineplex.disguise.%player%} is set:
  6023. set {_p} to {mineplex.disguise.%player%}
  6024. else:
  6025. set {_p} to player
  6026. if {mineplex.adminmode.%player%} is true:
  6027. remove "mineplex.admin" from player's permissions
  6028. remove "mineplex.support" from player's permissions
  6029. remove "mineplex.builder" from player's permissions
  6030. remove "mineplex.youtube" from player's permissions
  6031. set {mineplex.adminmode.%player%} to false
  6032. send "&9Admin Mode> &7%{_p}% Admin Mode: &cFalse"
  6033. else:
  6034. set {mineplex.adminmode.%player%} to true
  6035. add "mineplex.admin" to player's permissions
  6036. add "mineplex.builder" to player's permissions
  6037. add "mineplex.support" to player's permissions
  6038. add "mineplex.youtube" to player's permissions
  6039. send "&9Admin Mode> &7%{_p}% Admin Mode: &aTrue"
  6040. else:
  6041. send "&9Admin Mode> &7/getadmin is only for JR.DEV!"
  6042.  
  6043. command /__mp__dp__ <player>:
  6044. executable by: console
  6045. trigger:
  6046. remove "mineplex.trainee" from arg-1's permissions
  6047. remove "mineplex.legend" from arg-1's permissions
  6048. remove "mineplex.titan" from arg-1's permissions
  6049. remove "mineplex.mod" from arg-1's permissions
  6050. remove "mineplex.srmod" from arg-1's permissions
  6051. remove "mineplex.admin" from arg-1's permissions
  6052. remove "mineplex.leader" from arg-1's permissions
  6053. remove "mineplex.owner" from arg-1's permissions
  6054. remove "mineplex.jrdev" from arg-1's permissions
  6055. remove "mineplex.2fa" from arg-1's permissions
  6056. remove "mineplex.dev" from arg-1's permissions
  6057. remove "mineplex.twitch" from arg-1's permissions
  6058. remove "mineplex.youtube" from arg-1's permissions
  6059. remove "mineplex.builder" from arg-1's permissions
  6060.  
  6061. function rawreport(arg1: player , arg2: player , arg3: text , arg4: text , arg5: text) :: string:
  6062. if {_arg3} is "Hacking":
  6063. set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
  6064. set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
  6065. set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
  6066. set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
  6067. set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
  6068. set {mineplex.report.open.%{mineplex.report.id}%} to true
  6069. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
  6070. else if {_arg3} is "Chat-Abuse":
  6071. set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
  6072. set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
  6073. set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
  6074. set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
  6075. set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
  6076. set {mineplex.report.open.%{mineplex.report.id}%} to true
  6077. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
  6078. else if {_arg3} is "Gameplay":
  6079. set {mineplex.report.player.%{mineplex.report.id}%} to {_arg1}
  6080. set {mineplex.report.reporter.%{mineplex.report.id}%} to {_arg2}
  6081. set {mineplex.report.type.%{mineplex.report.id}%} to {_arg3}
  6082. set {mineplex.report.server.%{mineplex.report.id}%} to {_arg4}
  6083. set {mineplex.report.reason.%{mineplex.report.id}%} to {_arg5}
  6084. set {mineplex.report.open.%{mineplex.report.id}%} to true
  6085. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to {_arg2}
  6086. else:
  6087. stop
  6088. loop all players:
  6089. if loop-player has permission "mineplex.trainee":
  6090. if {mineplex.pref.report.%loop-player%} is true:
  6091. send "&9[Report ##%{mineplex.report.id}%] &7%{_arg2}% has reported %{_arg1}% for a &e%{_arg3}% &7offence with reason &e%{_arg5}%&7!" to loop-player
  6092. add 1 to {mineplex.report.id}
  6093.  
  6094. command /report [<offline player>] [<text>]:
  6095. permission: mineplex.titan
  6096. permission message: &9Report> &cThe report feature is currently in a trial phase for Titan players
  6097. trigger:
  6098. if arg-2 is set:
  6099. if arg-1 is player:
  6100. send "&9Report> &cYou cannot report yourself."
  6101. stop
  6102. open chest with 3 rows named "Report %arg-1%" to player
  6103. 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)]
  6104. 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)]
  6105. 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)]
  6106. else:
  6107. send "&9Report> &cInvalid Usage: &e/report <player> <reason>"
  6108.  
  6109. command /reporthandle [<string>] [<string>]:
  6110. aliases: /rh
  6111. permission: mineplex.mod
  6112. permission message: &9Permissions> &7You do not have permission to do that.
  6113. trigger:
  6114. if arg 1 is not set:
  6115. send "&9Report> &7Corect Usage: &e/reporthandle <report id>"
  6116. else:
  6117. set {_id} to arg-1 parsed as a number
  6118. if {_id} is a number:
  6119. if {mineplex.report.open.%{_id}%} is true:
  6120. if {mineplex.report.hand.%{_id}%} is not set:
  6121. set {mineplex.report.hand.%{_id}%} to player
  6122. set {_sus} to {mineplex.report.player.%{_id}%} parsed as an offline player
  6123. set {_ip} to ip address of {_sus}
  6124. loop {mineplex.totalaccounts.%{_ip}%::*}:
  6125. add 1 to {_accounts}
  6126. if {_accounts} is not set:
  6127. set {_accounts} to 1
  6128. send ""
  6129. send "&9Report ##%{_id}%> &bReport Overview"
  6130. send "&9Report ##%{_id}%> &bSuspect - &6%{mineplex.report.player.%{_id}%}%"
  6131. send "&9Report ##%{_id}%> &bType - &6%{mineplex.report.type.%{_id}%}%"
  6132. send "&9Report ##%{_id}%> &bTeam - &6None"
  6133. send "&9Report ##%{_id}%>"
  6134. send "&9Report ##%{_id}%> &6SoonTM &btotal reports"
  6135. send "&9Report ##%{_id}%>"
  6136. send "&9Report ##%{_id}%> &7(1) &6%{mineplex.report.reporter.%{_id}%}% ##1 &7- ""&b%{mineplex.report.reason.%{_id}%}%&7"""
  6137. send "&9Report ##%{_id}%>"
  6138. send "&9Report ##%{_id}%> &bView chat log"
  6139. mcrjson("%player%", "&9Report ##%{_id}%> ||&bClose this report||ttp:&bClick to close this report||cmd:/reportclose %{_id}% undetermined")
  6140. loop all players:
  6141. if loop-player has permission "mineplex.trainee":
  6142. if {mineplex.pref.report.%loop-player%} is true:
  6143. send "&9[Report %{_id}%] &e%player% &7is handling this report." to loop-player
  6144. else:
  6145. send "&9Report> &7This report is already being handling!"
  6146. else:
  6147. send "&9Report> &7This report has already been closed or does not exsit!"
  6148. else:
  6149. send "&9Report> &cYour arguments are inappropriate for this command!"
  6150. send "&9Report> &e/reporthandle (id)"
  6151.  
  6152. command /reportclose [<string>] [<string>] [<string>]:
  6153. aliases: /rc
  6154. permission: mineplex.mod
  6155. permission message: &9Permissions> &7You do not have permission to do that.
  6156. trigger:
  6157. if arg 1 is not set:
  6158. send "&9Report> &7Corect Usage: &e/reportclose (report id)"
  6159. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  6160. stop
  6161. if arg 2 is not set:
  6162. send "&9Report> &7Corect Usage: &e/reportclose (report id)"
  6163. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  6164. stop
  6165. else:
  6166. set {_id} to arg-1 parsed as a number
  6167. if {mineplex.report.hand.%{_id}%} is not player:
  6168. send "&9Report> &cYou can only close your own report!"
  6169. stop
  6170. if {_id} is a number:
  6171. if {mineplex.report.open.%{_id}%} is true:
  6172. if arg 2 is "UNDETERMINED":
  6173. set {_r} to "&f&lCould not determine"
  6174. set {mineplex.report.open.%{_id}%} to false
  6175. loop all players:
  6176. if loop-player has permission "mineplex.trainee":
  6177. if {mineplex.pref.report.%loop-player%} is true:
  6178. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  6179. else if arg 2 is "MUTED":
  6180. set {_r} to "&e&lMuted"
  6181. set {mineplex.report.open.%{_id}%} to false
  6182. loop all players:
  6183. if loop-player has permission "mineplex.trainee":
  6184. if {mineplex.pref.report.%loop-player%} is true:
  6185. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  6186. else if arg 2 is "BANNED":
  6187. set {_r} to "&c&lBanned"
  6188. set {mineplex.report.open.%{_id}%} to false
  6189. loop all players:
  6190. if loop-player has permission "mineplex.trainee":
  6191. if {mineplex.pref.report.%loop-player%} is true:
  6192. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  6193. else if arg 2 is "ABUSE":
  6194. set {_r} to "&4&lAbuse of report system"
  6195. set {mineplex.report.open.%{_id}%} to false
  6196. loop all players:
  6197. if loop-player has permission "mineplex.trainee":
  6198. if {mineplex.pref.report.%loop-player%} is true:
  6199. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  6200. else:
  6201. send "&9Report> &cInvalid report reason!"
  6202. else:
  6203. send "&9Report> &7This report has already been closed or does not exsit!"
  6204. else:
  6205. send "&9Report> &cYour arguments are inappropriate for this command!"
  6206. send "&9Report> &e/reportclose (report id) (reason)"
  6207. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  6208.  
  6209. command /s [<text>]:
  6210. permission: mineplex.mod
  6211. permission message: &9Permissions> &7You do not have permission to do that.
  6212. trigger:
  6213. if {mineplex.disguise.%player%} is set:
  6214. set {_p} to {mineplex.disguise.%player%}
  6215. else:
  6216. set {_p} to player
  6217. if argument 1 is set:
  6218. broadcast "&f&l%{_p}% &b%arg-1%"
  6219. else:
  6220. send "&9Broadcast> &7Corect Usage: /s <message>."
  6221.  
  6222. command /gm [<player>]:
  6223. permission: mineplex.builder
  6224. permission message: &9Permissions> &7You do not have permission to do that.
  6225. trigger:
  6226. if {mineplex.disguise.%player%} is set:
  6227. set {_p} to {mineplex.disguise.%player%}
  6228. else:
  6229. set {_p} to player
  6230. if argument 1 is not set:
  6231. if player's gamemode is survival:
  6232. set the player's gamemode to creative
  6233. send "&9Game Mode> &7%{_p}% Creative Mode: &aTrue"
  6234. else:
  6235. set the player's gamemode to survival
  6236. send "&9Game Mode> &7%{_p}% Creative Mode: &cFalse"
  6237. else:
  6238. if player has permission "mineplex.admin":
  6239. if arg-1's gamemode is survival:
  6240. set the arg-1's gamemode to creative
  6241. send "&9Game Mode> &7%arg-1% Creative Mode: &aTrue"
  6242. else:
  6243. set the arg-1's gamemode to survival
  6244. send "&9Game Mode> &7%arg-1% Creative Mode: &cFalse"
  6245. else:
  6246. send "&9Permissions> &7You do not have permission to do that."
  6247.  
  6248. command /ignore [<offline player>] [<string>]:
  6249. trigger:
  6250. if arg 1 is not set:
  6251. if {mineplex.ignorelist.%player%::*} is not set:
  6252. send "&b&m=====================[&f&lIgnoring&b&m]======================"
  6253. send ""
  6254. send "&fWelcome to your Ignore List!"
  6255. send ""
  6256. send "&fTo ignore people, type &a/ignore <Player Name>"
  6257. send ""
  6258. send "&fType &a/ignore &fat any time to view the ignored!"
  6259. send ""
  6260. send "&b&m====================================================="
  6261. else:
  6262. send "&b&m=====================[&f&lIgnoring&b&m]======================"
  6263. loop {mineplex.ignorelist.%player%::*}:
  6264. mcrjson("%player%", "&7Ignoring %loop-value% &f - ||&c&lUnignore||ttp:&fStop ignoring %loop-value%||cmd:/unignore %loop-value%||")
  6265. send "&b&m====================================================="
  6266. else:
  6267. loop {mineplex.ignorelist.%player%::*}:
  6268. if loop-value is "%arg-1%":
  6269. set {_pre} to true
  6270. if {_pre} is true:
  6271. send "&9Ignore> &a%arg-1% &7has already been ignored."
  6272. else:
  6273. add "%arg-1%" to {mineplex.ignorelist.%player%::*}
  6274. send "&9Ignore> &7Now ignoring &a%arg-1%"
  6275.  
  6276. command /unignore [<offline player>] [<string>]:
  6277. trigger:
  6278. if arg 1 is set:
  6279. send "&9Ignore> &7No longer ignoring &a%arg-1%"
  6280. remove "%arg-1%" from {mineplex.ignorelist.%player%::*}
  6281.  
  6282. command /message [<player>] [<text>]:
  6283. aliases: /tell, /m, /w, /msg, /whisper
  6284. trigger:
  6285. if {mineplex.disguise.%player%} is set:
  6286. set {_p} to {mineplex.disguise.%player%}
  6287. else:
  6288. set {_p} to player
  6289. set {_get} to getPlayerdata(player, "muted")
  6290. if {_get} is "yes":
  6291. if {muted::%player%::type} is "perm":
  6292. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  6293. stop
  6294. if {muted::%player%::type} is "temp":
  6295. set {_waited} to difference between {muted::%player%::when} and now
  6296. if {_waited} is less than {muted::%player%::time}:
  6297. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  6298. stop
  6299. if argument 1 is set:
  6300. if argument 2 is set:
  6301. if {mineplex.pref.pm.%arg-1%} is false:
  6302. send "&d%arg-1% has private messaging disabled."
  6303. stop
  6304. loop {mineplex.ignorelist.%player%::*}:
  6305. if loop-value is "%arg-1%":
  6306. send "&9Ignore> &7You are ignoring that player"
  6307. stop
  6308. loop {mineplex.ignorelist.%arg-1%::*}:
  6309. if loop-value is "%player%":
  6310. send "&9Ignore> &7That player is ignoring you"
  6311. stop
  6312. send "&6&l%{_p}% > %arg-1% &e&l%arg-2%"
  6313. send "&6&l%{_p}% > %arg-1% &e&l%arg-2%" to arg-1
  6314. play "NOTE_PLING" to player at volume 0.5
  6315. play "NOTE_PLING" to arg-1 at volume 0.5
  6316. set {mineplex.lastm.%player%} to "%arg-1%" parsed as player
  6317. if {mineplex.rank.%arg-1%} is "&4&lDEV ":
  6318. send "&d%arg-1% is often AFK or minimized, due to plugin development."
  6319. send "&dPlease be patient if they do not reply instantly."
  6320. else:
  6321. send "&9Message> &cErr...something went wrong?"
  6322. else:
  6323. send "&9Message> &cErr...something went wrong?"
  6324.  
  6325. command /ping:
  6326. trigger:
  6327. send "&9Chat> &7PONG!"
  6328.  
  6329. on command:
  6330. command is "minecraft:me":
  6331. send "&9Chat> &7Nope, not allowed!"
  6332. cancel event
  6333.  
  6334. command /me [<string>]:
  6335. aliases: /minecraft:me
  6336. trigger:
  6337. if arg 1 is not set:
  6338. send "&cUsage: /me <action...>"
  6339. else:
  6340. send "&9Chat> &7Nope, not allowed!"
  6341.  
  6342. command /newsconfirm <number>:
  6343. permission: mineplex.admin
  6344. permission message: &9Permissions> &7You do not have permission to do that.
  6345. trigger:
  6346. mcrjson("%player%", "&9Hub Manager>|| &a[CONFIRM]||ttp:Are you absolutely sure???||cmd:/news delete %arg-1%|| &6News Entry %arg-1% &7deletion?")
  6347.  
  6348. command /news [<string>] [<string>] [<string>]:
  6349. permission: mineplex.admin
  6350. permission message: &9Permissions> &7You do not have permission to do that.
  6351. trigger:
  6352. if arg 1 is not set:
  6353. send "&9News Manager> &7Available news arguments for this command:"
  6354. send "&6/news list &7Lists (numbered) stored news messages from database. &4Admin"
  6355. send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &4Admin"
  6356. send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &4Admin"
  6357. send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &4Admin"
  6358. send "&4*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &4Admin"
  6359. else:
  6360. if arg 1 is "list":
  6361. send "&9Hub Manager> &7Current server news messages:"
  6362. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 1 : %{mineplex.news.line1}%||cmd:/newsconfirm 1|| &6News 1 &7: &f%{mineplex.news.line1}%")
  6363. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 2 : %{mineplex.news.line2}%||cmd:/newsconfirm 2|| &6News 2 &7: &f%{mineplex.news.line2}%")
  6364. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 3 : %{mineplex.news.line3}%||cmd:/newsconfirm 3|| &6News 3 &7: &f%{mineplex.news.line3}%")
  6365. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 4 : %{mineplex.news.line4}%||cmd:/newsconfirm 4|| &6News 4 &7: &f%{mineplex.news.line4}%")
  6366. else if arg 1 is "add":
  6367. if arg 2 is set:
  6368. set {_news} to arg-2
  6369. if arg 3 is set:
  6370. set {_news} to "%arg-2% %arg-3%"
  6371. replace all "&" with "§" in {_news}
  6372. if {mineplex.news.line1}'s length is 0:
  6373. if {mineplex.mode} is "sql":
  6374. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '1'"
  6375. set {mineplex.news.line1} to {_news}
  6376. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  6377. else if {mineplex.news.line2}'s length is 0:
  6378. if {mineplex.mode} is "sql":
  6379. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '2'"
  6380. set {mineplex.news.line2} to {_news}
  6381. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  6382. else if {mineplex.news.line3}'s length is 0:
  6383. if {mineplex.mode} is "sql":
  6384. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '3'"
  6385. set {mineplex.news.line3} to {_news}
  6386. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  6387. else if {mineplex.news.line4}'s length is 0:
  6388. if {mineplex.mode} is "sql":
  6389. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '4'"
  6390. set {mineplex.news.line4} to {_news}
  6391. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  6392. else:
  6393. send "&9Hub Manager> &c&lNo free news slots!"
  6394. else:
  6395. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  6396. else if arg 1 is "delete":
  6397. if arg 2 is set:
  6398. if arg 2 is "1":
  6399. set {mineplex.news.line1} to ""
  6400. if {mineplex.mode} is "sql":
  6401. update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '1'"
  6402. send "&9Hub Manager> &7The news entry at position &61 &7has been deleted!"
  6403. else if arg 2 is "2":
  6404. if {mineplex.mode} is "sql":
  6405. update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '2'"
  6406. set {mineplex.news.line2} to ""
  6407. send "&9Hub Manager> &7The news entry at position &62 &7has been deleted!"
  6408. else if arg 2 is "3":
  6409. if {mineplex.mode} is "sql":
  6410. update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '3'"
  6411. set {mineplex.news.line3} to ""
  6412. send "&9Hub Manager> &7The news entry at position &63 &7has been deleted!"
  6413. else if arg 2 is "4":
  6414. if {mineplex.mode} is "sql":
  6415. update "UPDATE `newslist` SET `newsString` = ' ' WHERE newsPosition = '4'"
  6416. set {mineplex.news.line4} to ""
  6417. send "&9Hub Manager> &7The news entry at position &64 &7has been deleted!"
  6418. else:
  6419. send "&9Hub Manager> &cThe specified new position is invalid!"
  6420. else:
  6421. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  6422. else if arg 1 is "set":
  6423. if arg 2 is set:
  6424. if arg 3 is set:
  6425. set {_news} to arg 3
  6426. replace all "&" with "§" in {_news}
  6427. if arg 2 is "1":
  6428. if {mineplex.mode} is "sql":
  6429. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '1'"
  6430. set {mineplex.news.line1} to {_news}
  6431. send "&9Hub Manager> &7The news entry at position &61 &7has been updated to: %{_news}%"
  6432. else if arg 2 is "2":
  6433. if {mineplex.mode} is "sql":
  6434. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '2'"
  6435. set {mineplex.news.line2} to {_news}
  6436. send "&9Hub Manager> &7The news entry at position &62 &7has been updated to: %{_news}%"
  6437. else if arg 2 is "3":
  6438. if {mineplex.mode} is "sql":
  6439. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '3'"
  6440. set {mineplex.news.line3} to {_news}
  6441. send "&9Hub Manager> &7The news entry at position &63 &7has been updated to: %{_news}%"
  6442. else if arg 2 is "4":
  6443. if {mineplex.mode} is "sql":
  6444. update "UPDATE `newslist` SET `newsString` = '%{_news}%' WHERE newsPosition = '4'"
  6445. set {mineplex.news.line4} to {_news}
  6446. send "&9Hub Manager> &7The news entry at position &64 &7has been updated to: %{_news}%"
  6447. else:
  6448. send "&9Hub Manager> &cThe specified new position is invalid!"
  6449. else:
  6450. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  6451. else:
  6452. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  6453. else:
  6454. send "&9News Manager> &7Available news arguments for this command:"
  6455. send "&6/news list &7Lists (numbered) stored news messages from database. &cAdmin"
  6456. send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &cAdmin"
  6457. send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &cAdmin"
  6458. send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &cAdmin"
  6459. send "&c*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &cAdmin"
  6460.  
  6461. command /r [<text>]:
  6462. aliases: /reply
  6463. trigger:
  6464. if {mineplex.disguise.%player%} is set:
  6465. set {_p} to {mineplex.disguise.%player%}
  6466. else:
  6467. set {_p} to player
  6468. if {mineplex.lastm.%player%} is set:
  6469. if argument 1 is set:
  6470. if {mineplex.lastm.%player%} is online:
  6471. send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%"
  6472. send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%" to {mineplex.lastm.%player%}
  6473. else:
  6474. send "&9Message> &e%{mineplex.lastm.%player%}% &7is no longer online!"
  6475. else:
  6476. send "&9Message> &cErr...something went wrong?"
  6477. else:
  6478. send "&9Message> &7You have not messaged anyone recently."
  6479.  
  6480. command /party [<string>] [<player>]:
  6481. aliases: /z
  6482. trigger:
  6483. if argument 1 is not set:
  6484. send "&9Party> &7Listing Party Commands:"
  6485. send "&f/party <Player>: &eJoin/Create/Invite Player"
  6486. send "&f/party leave: &eLeave your current party"
  6487. send "&f/party kick <Player>: &eKick player from your Party"
  6488. send "&f/party info: &eDisplays info on the current Party."
  6489. else:
  6490. if argument 1 is "kick":
  6491. if {party.%player%} is not set:
  6492. message "&9Party> &7You don't have a party"
  6493. else:
  6494. if {party.%player%} is not player:
  6495. message "&9Party> &7You have to be a party leader to do this"
  6496. stop
  6497. if player arg is not set:
  6498. message "&9Party> &7Player needed. /party kick <player>"
  6499. else:
  6500. if {party.%player%::*} doesn't contain player arg:
  6501. message "&9Party> &7The player needs to be in your party"
  6502. stop
  6503. message "&9Party> &7You kicked %player arg% from the party"
  6504. message "&9Party> &7You've been kicked by %player% from his party" to player arg
  6505. loop {party.%player%::*}:
  6506. if loop-value = player arg:
  6507. delete {party.%player%::%loop-index%}
  6508. delete {party.%player arg%}
  6509. delete {party.%player arg%.chat}
  6510. else if arg 1 is "leave":
  6511. if {party.%player%} is not set:
  6512. message "&9Party> &7You don't have a party"
  6513. else:
  6514. if {party.%player%} is player:
  6515. message "&9Party> &7You can't leave if you are the leader. Do /party disband"
  6516. stop
  6517. message "&9Party> &7You left your party"
  6518. message "&9Party> &7%player% left your party" to {party.%player%}
  6519. set {party.%player%.chat} to false
  6520. loop {party.%{party.%player%}%::*}:
  6521. if loop-value = player:
  6522. delete {party.%{party.%player%}%::%loop-index%}
  6523. delete {party.%player%}
  6524. delete {party.%player%.chat}
  6525. else if arg 1 is "disband":
  6526. if {party.%player%} is not set:
  6527. message "&9Party> &cYou don't have a party"
  6528. else:
  6529. if {party.%player%} is not player:
  6530. message "&9Party> &7You have to be a party leader to do this"
  6531. stop
  6532. message "&9Party> &7You disband your party"
  6533. loop {party.%player%::*}:
  6534. loop-value is not player:
  6535. message "&9Party> &7Your party has been disbanded" to loop-value
  6536. delete {party.%loop-value%.chat}
  6537. delete {party.%loop-value%}
  6538. delete {party.%player%}
  6539. delete {party.%player%.chat}
  6540. delete {party.%player%::*}
  6541. else if arg 1 is "info":
  6542. if {party.%player%} is not set:
  6543. message "&9Party> &7You don't have a party"
  6544. else:
  6545. message "&9Party> &7Party Details:"
  6546. message "Party Leader: &7%{party.%player%}%"
  6547. set {_partyMember} to ""
  6548. loop {party.%{party.%player%}%::*}:
  6549. set {_partyMember} to "%{_partyMember}% %loop-value%"
  6550. message "Your Party: &7%{_partyMember}%"
  6551. else:
  6552. set {_mineplex.last.party} to arg-1 parsed as player
  6553. if {_mineplex.last.party} is online:
  6554. if {party.%player%} is set:
  6555. add {_mineplex.last.party} to {party.%player%::*}
  6556. set {party.%player%.chat} to true
  6557. set {party.%arg-1%.chat} to true
  6558. set {party.%{_mineplex.last.party}%} to player
  6559. message "&9Party> &7You invited %{_mineplex.last.party}% to the party."
  6560. else:
  6561. set {party.%player%} to player
  6562. message "&9Party> &7Created a party."
  6563. add player to {party.%player%::*}
  6564. make player execute command "/party %arg-1%"
  6565. else:
  6566. send "&9Party> &7That player is not online."
  6567.  
  6568. command /announce [<text>]:
  6569. permission: mineplex.admin
  6570. permission message: &9Permissions> &7You do not have permission to do that.
  6571. trigger:
  6572. if argument 1 is set:
  6573. send all players title "&eAnnouncement" with subtitle "&f%arg-1%" for 10 seconds
  6574. broadcast "&9Announcement> &b%arg-1%"
  6575. else:
  6576. send "&9Message> &cErr...something went wrong?"
  6577.  
  6578. command /global [<text>]:
  6579. permission: mineplex.jrdev
  6580. permission message: &9Permissions> &7You do not have permission to do that.
  6581. trigger:
  6582. if arg 1 is not set:
  6583. send "&9Message> &cErr...something went wrong?"
  6584. else:
  6585. broadcast "&9Announcement> &b%arg-1%"
  6586.  
  6587. every 3 seconds:
  6588. set {mineplex.lag.avg.1} to tps
  6589. wait 1 second
  6590. set {mineplex.lag.avg.2} to tps
  6591. wait 1 second
  6592. set {mineplex.lag.avg.3} to tps
  6593.  
  6594. command /lag:
  6595. trigger:
  6596. if player has permission "mineplex.jrdev":
  6597. set {_avg} to {mineplex.lag.avg.1} + {mineplex.lag.avg.2} + {mineplex.lag.avg.3}
  6598. set {_avg} to {_avg} / 3
  6599. set {_tps} to tps
  6600. set {_f} to free ram
  6601. set {_m} to max ram
  6602. send "&9LagMeter> &7Live-------&e%{_tps}%"
  6603. send "&9LagMeter> &7Avg--------&e%{_avg}%"
  6604. send "&9LagMeter> &eMEM (RAM)"
  6605. send "&9LagMeter> &7Free-------&e%{_f}%MB"
  6606. send "&9LagMeter> &7Max--------&e%{_m}%MB"
  6607. else:
  6608. send "&9Chat> &7PONG!"
  6609.  
  6610. #Punish Systems/Commands
  6611.  
  6612. function punishWarn(s: player , p: offline player , r: text) :: player:
  6613. send "&9Punish> &7%{_s}% issued a friendly warning to you." to {_p}
  6614. send "&9Punish> &7&lReason: &7%{_r}%" to {_p}
  6615. add 1 to {mineplex.punish.past.warn.%{_p}%}
  6616. loop all players:
  6617. if loop-player has permission "mineplex.trainee":
  6618. send "&9Punish> &7%{_s}% issued a friendly warning to %{_p}%." to loop-player
  6619.  
  6620. function punishReportBan(s: player , p: offline player , r: text) :: player:
  6621. set {banned::%{_p}%} to true
  6622. set {banned::%{_p}%::type} to "report"
  6623. set {banned::%{_p}%::reason} to {_r}
  6624. set {banned::%{_p}%::staff} to {_s}
  6625. set {banned::%{_p}%::now} to now
  6626. setPlayerdata({_p}, "banned", "yes")
  6627. 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}%"
  6628. add 1 to {mineplex.punish.past.reportban.%{_p}%}
  6629. loop all players:
  6630. if loop-player has permission "mineplex.trainee":
  6631. send "&9Punish> &7%{_s}% report banned %{_p}% for Permanent." to loop-player
  6632.  
  6633. function punishBan(s: player , p: offline player , r: text) :: player:
  6634. set {banned::%{_p}%} to true
  6635. set {banned::%{_p}%::type} to "perm"
  6636. set {banned::%{_p}%::reason} to {_r}
  6637. set {banned::%{_p}%::staff} to {_s}
  6638. set {banned::%{_p}%::now} to now
  6639. setPlayerdata({_p}, "banned", "yes")
  6640. 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}%"
  6641. add 1 to {mineplex.punish.past.permban.%{_p}%}
  6642. loop all players:
  6643. if loop-player has permission "mineplex.trainee":
  6644. send "&9Punish> &7%{_s}% banned %{_p}% for Permanent." to loop-player
  6645.  
  6646. function punishDTempBan(s: player , p: offline player, r: text, d: number) :: player:
  6647. set {_duration} to "%{_d}% days" parsed as timespan
  6648. set {banned::%{_p}%} to true
  6649. set {banned::%{_p}%::type} to "temp"
  6650. set {banned::%{_p}%::time} to {_duration}
  6651. set {banned::%{_p}%::reason} to {_r}
  6652. set {banned::%{_p}%::staff} to {_s}
  6653. set {banned::%{_p}%::when} to now
  6654. add 1 to {mineplex.punish.past.tempban.%{_p}%}
  6655. setPlayerdata({_p}, "banned", "yes")
  6656. 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}%"
  6657. loop all players:
  6658. if loop-player has permission "mineplex.trainee":
  6659. send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
  6660.  
  6661. function punishHTempBan(s: player , p: offline player, r: text, d: number) :: player:
  6662. set {_duration} to "%{_d}% hours" parsed as timespan
  6663. set {banned::%{_p}%} to true
  6664. set {banned::%{_p}%::type} to "temp"
  6665. set {banned::%{_p}%::time} to {_duration}
  6666. set {banned::%{_p}%::reason} to {_r}
  6667. set {banned::%{_p}%::staff} to {_s}
  6668. set {banned::%{_p}%::when} to now
  6669. setPlayerdata({_p}, "banned", "yes")
  6670. 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}%"
  6671. add 1 to {mineplex.punish.past.tempban.%{_p}%}
  6672. loop all players:
  6673. if loop-player has permission "mineplex.trainee":
  6674. send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
  6675.  
  6676. function punishMute(s: player, p: offline player, r: text) :: player:
  6677. set {muted::%{_p}%} to true
  6678. set {muted::%{_p}%::type} to "perm"
  6679. set {muted::%{_p}%::reason} to {_r}
  6680. set {muted::%{_p}%::by} to {_s}
  6681. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  6682. setPlayerdata({_p}, "muted", "yes")
  6683. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  6684. send "&9Punish> &7%{muted::%{_p}%::by}% muted %{_p}% for Permanent." to {_p}
  6685. loop all players:
  6686. if loop-player has permission "mineplex.trainee":
  6687. send "&9Punish> &7%{_s}% muted %{_p}% for Permanent." to loop-player
  6688.  
  6689. function punishHTempMute(s: player, p: offline player, r: text, d: number) :: player:
  6690. set {_duration} to "%{_d}% hours" parsed as timespan
  6691. set {muted::%{_p}%} to true
  6692. set {muted::%{_p}%::type} to "temp"
  6693. set {muted::%{_p}%::reason} to {_r}
  6694. set {muted::%{_p}%::time} to {_duration}
  6695. set {muted::%{_p}%::by} to {_s}
  6696. set {muted::%{_p}%::when} to now
  6697. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  6698. setPlayerdata({_p}, "muted", "yes")
  6699. send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
  6700. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  6701. loop all players:
  6702. if loop-player has permission "mineplex.trainee":
  6703. send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
  6704.  
  6705. function punishDTempMute(s: player, p: offline player, r: text, d: number) :: player:
  6706. set {_duration} to "%{_d}% days" parsed as timespan
  6707. set {muted::%{_p}%} to true
  6708. set {muted::%{_p}%::type} to "temp"
  6709. set {muted::%{_p}%::reason} to {_r}
  6710. set {muted::%{_p}%::time} to {_duration}
  6711. set {muted::%{_p}%::by} to {_s}
  6712. set {muted::%{_p}%::when} to now
  6713. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  6714. setPlayerdata({_p}, "muted", "yes")
  6715. send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
  6716. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  6717. loop all players:
  6718. if loop-player has permission "mineplex.trainee":
  6719. send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
  6720.  
  6721. function punishUnban(s: string, p: string) :: player:
  6722. delete {banned::%{_p}%}
  6723. delete {banned::%{_p}%::*}
  6724. setPlayerdata({_p}, "banned", "no")
  6725.  
  6726. function punishUnmute(s: player, p: string) :: player:
  6727. delete {muted::%{_p}%}
  6728. delete {muted::%{_p}%::*}
  6729. setPlayerdata({_p}, "muted", "no")
  6730. loop all players:
  6731. if loop-player has permission "mineplex.trainee":
  6732. send "&9Punish> &7%{_s}% unmuted %{_p}%" to loop-player
  6733.  
  6734. on connect:
  6735. set {_get} to getPlayerdata(player, "banned")
  6736. if {_get} is "yes":
  6737. if player has permission "mineplex.admin":
  6738. if {mineplex.config.unbanadmin} is "true":
  6739. punishUnban("Expired", "%player%")
  6740. stop
  6741. if {banned::%player%::type} is "perm":
  6742. kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  6743. stop
  6744. if {banned::%player%::type} is "report":
  6745. kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  6746. stop
  6747. if {banned::%player%::type} is "temp":
  6748. set {_waited} to difference between {banned::%player%::when} and now
  6749. if {_waited} is less than {banned::%player%::time}:
  6750. 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}%"
  6751. else:
  6752. punishUnban("Expired", "%player%")
  6753.  
  6754. on inventory click:
  6755. if inventory name of player's current inventory is " Punish":
  6756. cancel event
  6757. clicked slot >= 45
  6758. set {_clickedslot.%player%} to (clicked slot - 44)
  6759. if {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} is set:
  6760. if "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}%" contains "&eRemoved by: ":
  6761. send "" to console
  6762. else:
  6763. set {_reasonchanger.%player%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}% ||||&eRemoved by: &f%player%||&eRemove Reason: &f%{punishgui.%player%::2}%"
  6764. set {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} to "%{_reasonchanger.%player%}%"
  6765. close player's inventory
  6766. delete {p.%{punishgui.%player%::1}%::history::*}
  6767. set {_slot} to 0
  6768. loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
  6769. add 1 to {_slot}
  6770. set {_reversedslot} to 1
  6771. loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
  6772. set {p.%{punishgui.%player%::1}%::history::%{_reversedslot}%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_slot}%}%"
  6773. remove 1 from {_slot}
  6774. add 1 to {_reversedslot}
  6775. if "%{_reasonchanger.%player%}%" contains "ChatOffense":
  6776. punishUnmute(player, {punishgui.%player%::1})
  6777. if "%{_reasonchanger.%player%}%" contains "Hacking" or "Exploiting" or "Other":
  6778. punishUnban("memes", {punishgui.%player%::1})
  6779. if "%{_reasonchanger.%player%}%" contains "Warning":
  6780. stop
  6781.  
  6782. command /p [<offline player>] [<text>]:
  6783. aliases: /punish
  6784. permission: mineplex.trainee
  6785. permission message: &9Permissions> &7You do not have permission to do that.
  6786. trigger:
  6787. if arg-2 is not set:
  6788. send "&9Punish> &7Commands List:"
  6789. send "&6/punish &7<player> <reason> &6Mod"
  6790. if arg-2 is set:
  6791. if {p.%arg-1%::Chat1} is not set:
  6792. set {p.%arg-1%::Client3} to "__mp__tempban__ %arg-1% %player% 30"
  6793. set {p.%arg-1%::ClientL3} to "&fBan Duration: &e30.0 Days"
  6794. set {p.%arg-1%::Client2} to "__mp__tempban__ %arg-1% %player% 30"
  6795. set {p.%arg-1%::ClientL2} to "&fBan Duration: &e30.0 Days"
  6796. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e1.0 Days"
  6797. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 1"
  6798. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% 4 %player%"
  6799. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e4.0 Hours"
  6800. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 2 %player%"
  6801. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.0 Hours"
  6802. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 1 %player%"
  6803. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e1.0 Days"
  6804. set {p.%arg-1%::Chat3} to "__mp__tempmute__ %arg-1% 30 %player%"
  6805. set {p.%arg-1%::ChatL3} to "&fMute Duration: &e30.0 Days"
  6806. if {p.%arg-1%::pOffences.Chat1} is 1:
  6807. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 4 %player%"
  6808. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e4.0 Hours"
  6809. if {p.%arg-1%::pOffences.Chat1} is 2:
  6810. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 10 %player%"
  6811. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e10.0 Hours"
  6812. if {p.%arg-1%::pOffences.Chat1} is 3:
  6813. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
  6814. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.0 Days"
  6815. if {p.%arg-1%::pOffences.Chat1} is 4:
  6816. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
  6817. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.4 Days"
  6818. if {p.%arg-1%::pOffences.Chat1} is 5:
  6819. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 3 %player%"
  6820. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.8 Days"
  6821. if {p.%arg-1%::pOffences.Chat1} is 6:
  6822. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 7 %player%"
  6823. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e7.0 Days"
  6824. if {p.%arg-1%::pOffences.Chat1} is 7:
  6825. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 14 %player%"
  6826. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e14.0 Days"
  6827. if {p.%arg-1%::pOffences.Chat1} is 8:
  6828. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 30 %player%"
  6829. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e30.0 Days"
  6830. if {p.%arg-1%::pOffences.Chat1} is 9:
  6831. set {p.%arg-1%::Chat1} to "__mp__mute__ %arg-1% %player%"
  6832. set {p.%arg-1%::ChatL1} to "&fMute Duration: &ePermanent"
  6833. if {p.%arg-1%::pOffences.Chat2} is 1:
  6834. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 2 %player%"
  6835. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e2.0 Days"
  6836. if {p.%arg-1%::pOffences.Chat2} is 2:
  6837. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 4 %player%"
  6838. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e4.0 Days"
  6839. if {p.%arg-1%::pOffences.Chat2} is 3:
  6840. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 7 %player%"
  6841. set {p.%arg-1%::ChatL2} to "__mp__tempmute__ %arg-1% 7 %player%"
  6842. if {p.%arg-1%::pOffences.Chat2} is 4:
  6843. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 14 %player%"
  6844. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e14.0 Days"
  6845. if {p.%arg-1%::pOffences.Chat2} is 5:
  6846. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 30 %player%"
  6847. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e30.0 Days"
  6848. if {p.%arg-1%::pOffences.Chat2} is 6:
  6849. set {p.%arg-1%::Chat2} to "__mp__mute__ %arg-1% %player%"
  6850. set {p.%arg-1%::ChatL2} to "&fMute Duration: &ePermanent"
  6851. if {p.%arg-1%::pOffences.Chat3} is 1:
  6852. set {p.%arg-1%::Chat3} to "__mp__mute__ %arg-1% %player%"
  6853. set {p.%arg-1%::ChatL3} to "&fMute Duration: &ePermanent"
  6854. if {p.%arg-1%::pOffences.General} is 1:
  6855. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 8"
  6856. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e8.0 Hours"
  6857. if {p.%arg-1%::pOffences.General} is 2:
  6858. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 16"
  6859. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e16.0 Hours"
  6860. if {p.%arg-1%::pOffences.General} is 3:
  6861. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 1"
  6862. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e1.4 Days"
  6863. if {p.%arg-1%::pOffences.General} is 4:
  6864. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 3"
  6865. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e3.0 Days"
  6866. if {p.%arg-1%::pOffences.General} is 5:
  6867. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 7"
  6868. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e7.0 Days"
  6869. if {p.%arg-1%::pOffences.General} is 6:
  6870. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 14"
  6871. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e14.0 Days"
  6872. if {p.%arg-1%::pOffences.General} is 7:
  6873. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 30"
  6874. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e30.0 Days"
  6875. if {p.%arg-1%::pOffences.General} is 8:
  6876. set {p.%arg-1%::General} to "__mp__ban__ %arg-1% %player%"
  6877. set {p.%arg-1%::GeneralL} to "&fBan Duration: &ePermanent"
  6878.  
  6879. if {p.%arg-1%::pOffences.Client1} is 1:
  6880. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 2"
  6881. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e2.0 Days"
  6882. if {p.%arg-1%::pOffences.Client1} is 2:
  6883. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 4"
  6884. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e4.0 Days"
  6885. if {p.%arg-1%::pOffences.Client1} is 3:
  6886. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 7"
  6887. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e7.0 Days"
  6888. if {p.%arg-1%::pOffences.Client1} is 4:
  6889. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 16"
  6890. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e16.0 Days"
  6891. if {p.%arg-1%::pOffences.Client1} is 5:
  6892. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 30"
  6893. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e30.0 Days"
  6894. if {p.%arg-1%::pOffences.Client1} is 6:
  6895. set {p.%arg-1%::Client1} to "__mp__ban__ %arg-1% %player%"
  6896. set {p.%arg-1%::ClientL1} to "&fBan Duration: &ePermanent"
  6897. if {p.%arg-1%::pOffences.Client2} is 1:
  6898. set {p.%arg-1%::Client2} to "__mp__ban__ %arg-1% %player%"
  6899. set {p.%arg-1%::ClientL2} to "&fBan Duration: &ePermanent"
  6900. if {p.%arg-1%::pOffences.Client3} is 1:
  6901. set {p.%arg-1%::Client3} to "__mp__ban__ %arg-1% %player%"
  6902. set {p.%arg-1%::ClientL3} to "&fBan Duration: &ePermanent"
  6903. if {p.%arg-1%::pOffences.Chat1} is not set:
  6904. set {p.%arg-1%::pOffences.Chat1} to 0
  6905. set {p.%arg-1%::pOffences.Chat2} to 0
  6906. set {p.%arg-1%::pOffences.Chat3} to 0
  6907. set {p.%arg-1%::pOffences.General} to 0
  6908. set {p.%arg-1%::pOffences.Client1} to 0
  6909. set {p.%arg-1%::pOffences.Client2} to 0
  6910. set {p.%arg-1%::pOffences.Client3} to 0
  6911. if player has permission "mineplex.trainee" or "mineplex.mod":
  6912. delete {reversed.p.%arg-1%::history::*}
  6913. set {_slot} to 0
  6914. loop {p.%arg-1%::history::*}:
  6915. add 1 to {_slot}
  6916. set {_reversedslot} to 1
  6917. loop {p.%arg-1%::history::*}:
  6918. set {reversed.p.%arg-1%::history::%{_reversedslot}%} to "%{p.%arg-1%::history::%{_slot}%}%"
  6919. remove 1 from {_slot}
  6920. add 1 to {_reversedslot}
  6921. open chest with 6 rows named " Punish" to player
  6922. wait 1 tick
  6923. format slot 4 of player with arg-1's skull named "&a&l%arg-1%" with lore "&r%arg-2%" to be unstealable
  6924.  
  6925. format slot 10 of player with book and quill named "&a&lChat Offense" with lore "&7Verbal Abuse, Spam, Harrassment, Trolling, etc" to be unstealable
  6926. 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}]
  6927.  
  6928. format slot 12 of player with hopper named "&a&lGeneral Offense" with lore "&7Command/Map/Class/Skill exploits, etc" to be unstealable
  6929. 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}]
  6930. 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
  6931. 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}]
  6932. 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::*}]
  6933. if player has permission "mineplex.mod": #Access all punishments!
  6934. 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}]
  6935. 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}]
  6936.  
  6937. 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}]
  6938. 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}]
  6939.  
  6940. 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::*}]
  6941. 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::*}]
  6942. 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::*}]
  6943. set {_banned} to getPlayerdata(arg-1, "banned")
  6944. set {_muted} to getPlayerdata(arg-1, "muted")
  6945. set {_slot} to 45
  6946. loop {reversed.p.%arg-1%::history::*}:
  6947. set {punishgui.%player%::*} to "%arg 1%"
  6948. add arg 2 to {punishgui.%player%::*}
  6949. if "%loop-value%" contains "&ePunishment Type: &fChatOffense":
  6950. if {_muted} is true:
  6951. if "%loop-value%" does not contain "&eRemoved by: ":
  6952. set slot {_slot} of player's current inventory to shiny book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6953. add 1 to {_slot}
  6954. else:
  6955. set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6956. add 1 to {_slot}
  6957. else:
  6958. set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6959. add 1 to {_slot}
  6960. if "%loop-value%" contains "&ePunishment Type: &fHacking":
  6961. if {_banned} is true:
  6962. if "%loop-value%" does not contain "&eRemoved by: ":
  6963. set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6964. add 1 to {_slot}
  6965. else:
  6966. set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6967. add 1 to {_slot}
  6968. else:
  6969. set slot {_slot} of player's current inventory to iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6970. add 1 to {_slot}
  6971. if "%loop-value%" contains "&ePunishment Type: &fExploiting":
  6972. if {_banned} is true:
  6973. if "%loop-value%" does not contain "&eRemoved by: ":
  6974. set slot {_slot} of player's current inventory to shiny hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6975. add 1 to {_slot}
  6976. else:
  6977. set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6978. add 1 to {_slot}
  6979. else:
  6980. set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6981. add 1 to {_slot}
  6982. if "%loop-value%" contains "&ePunishment Type: &fWarning":
  6983. set slot {_slot} of player's current inventory to paper named "&a&lWarning" with lore "%loop-value%"
  6984. add 1 to {_slot}
  6985. if "%loop-value%" contains "&ePunishment Type: &fOther":
  6986. if {_banned} is true:
  6987. if "%loop-value%" does not contain "&eRemoved by: ":
  6988. set slot {_slot} of player's current inventory to shiny redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6989. add 1 to {_slot}
  6990. else:
  6991. set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6992. add 1 to {_slot}
  6993. else:
  6994. set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6995. add 1 to {_slot}
  6996. if "%loop-value%" contains "&ePunishment Type: &rOther":
  6997. set slot {_slot} of player's current inventory to enchanted book named "&a&lPermanent Report Ban" with lore "%loop-value%"
  6998. add 1 to {_slot}
  6999. if {_slot} = 54:
  7000. exit loop
  7001. if {mineplex.rank.%player%} is "&6&LJR.DEV " or "&4&lDEV ":
  7002. 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
  7003.  
  7004. #Prefs System
  7005.  
  7006. function prefsSystem(p: player , t: number) :: number:
  7007. if {_t} is 1:
  7008. if {mineplex.pref.hg.%{_p}%} is true:
  7009. set {mineplex.pref.hg.%{_p}%} to false
  7010. else:
  7011. set {mineplex.pref.hg.%{_p}%} to true
  7012. else if {_t} is 2:
  7013. if {mineplex.pref.hpv.%{_p}%} is true:
  7014. set {mineplex.pref.hpv.%{_p}%} to false
  7015. hide all players from {_p}
  7016. else:
  7017. set {mineplex.pref.hpv.%{_p}%} to true
  7018. reveal all players from {_p}
  7019. loop all players:
  7020. if {mineplex.vanish.%loop-player%} is true:
  7021. add loop-player to {%{_p}%.vanishlist::*}
  7022. loop all players:
  7023. if loop-player does not have permission "mineplex.admin":
  7024. hide {%{_p}%.vanishlist::*} from all players
  7025. delete {%{_p}%.vanishlist::*}
  7026. else if {_t} is 3:
  7027. if {mineplex.pref.pc.%{_p}%} is true:
  7028. set {mineplex.pref.pc.%{_p}%} to false
  7029. else:
  7030. set {mineplex.pref.pc.%{_p}%} to true
  7031. else if {_t} is 4:
  7032. if {mineplex.pref.pm.%{_p}%} is true:
  7033. set {mineplex.pref.pm.%{_p}%} to false
  7034. else:
  7035. set {mineplex.pref.pm.%{_p}%} to true
  7036. else if {_t} is 5:
  7037. if {mineplex.pref.gwen.%{_p}%} is true:
  7038. set {mineplex.pref.gwen.%{_p}%} to false
  7039. else:
  7040. set {mineplex.pref.gwen.%{_p}%} to true
  7041. else if {_t} is 6:
  7042. if {mineplex.pref.report.%{_p}%} is true:
  7043. set {mineplex.pref.report.%{_p}%} to false
  7044. else:
  7045. set {mineplex.pref.report.%{_p}%} to true
  7046. else if {_t} is 7:
  7047. if {mineplex.pref.ff.%{_p}%} is true:
  7048. set {mineplex.pref.ff.%{_p}%} to false
  7049. else:
  7050. set {mineplex.pref.ff.%{_p}%} to true
  7051. else if {_t} is 8:
  7052. if {mineplex.ff.%{_p}%} is true:
  7053. set {mineplex.ff.%{_p}%} to false
  7054. delete {mineplex.ff.list::%{_p}%}
  7055. else:
  7056. set {mineplex.ff.%{_p}%} to true
  7057. set {mineplex.ff.list::%{_p}%} to true
  7058. else if {_t} is 9:
  7059. if {mineplex.pref.rm.%{_p}%} is true:
  7060. set {mineplex.pref.rm.%{_p}%} to false
  7061. else:
  7062. set {mineplex.pref.rm.%{_p}%} to true
  7063. else if {_t} is 10:
  7064. if {mineplex.pref.aj.%{_p}%} is true:
  7065. set {mineplex.pref.aj.%{_p}%} to false
  7066. else:
  7067. set {mineplex.pref.aj.%{_p}%} to true
  7068. else if {_t} is 11:
  7069. if {mineplex.pref.daw.%{_p}%} is true:
  7070. set {mineplex.pref.daw.%{_p}%} to false
  7071. else:
  7072. set {mineplex.pref.daw.%{_p}%} to true
  7073. else if {_t} is 12:
  7074. if {mineplex.pref.cj.%{_p}%} is true:
  7075. set {mineplex.pref.cj.%{_p}%} to false
  7076. else:
  7077. set {mineplex.pref.cj.%{_p}%} to true
  7078. else if {_t} is 13:
  7079. if {mineplex.pref.sct.%{_p}%} is true:
  7080. set {mineplex.pref.sct.%{_p}%} to false
  7081. else:
  7082. set {mineplex.pref.sct.%{_p}%} to true
  7083. else if {_t} is 14:
  7084. if {mineplex.pref.hm.%{_p}%} is true:
  7085. set {mineplex.pref.hm.%{_p}%} to false
  7086. else:
  7087. set {mineplex.pref.hm.%{_p}%} to true
  7088. else if {_t} is 15:
  7089. if {mineplex.pref.pr.%{_p}%} is true:
  7090. set {mineplex.pref.pr.%{_p}%} to false
  7091. else:
  7092. set {mineplex.pref.pr.%{_p}%} to true
  7093. else if {_t} is 16:
  7094. if {mineplex.pref.spfr.%{_p}%} is true:
  7095. set {mineplex.pref.spfr.%{_p}%} to false
  7096. else:
  7097. set {mineplex.pref.spfr.%{_p}%} to true
  7098. else if {_t} is 17:
  7099. if {mineplex.pref.dfg.%{_p}%} is true:
  7100. set {mineplex.pref.dfg.%{_p}%} to false
  7101. else:
  7102. set {mineplex.pref.dfg.%{_p}%} to true
  7103. else if {_t} is 18:
  7104. if {mineplex.pref.sci.%{_p}%} is true:
  7105. set {mineplex.pref.sci.%{_p}%} to false
  7106. else:
  7107. set {mineplex.pref.sci.%{_p}%} to true
  7108. else if {_t} is 19:
  7109. if {mineplex.pref.dpg.%{_p}%} is true:
  7110. set {mineplex.pref.dpg.%{_p}%} to false
  7111. else:
  7112. set {mineplex.pref.dpg.%{_p}%} to true
  7113. else if {_t} is 20:
  7114. if {mineplex.pref.hif.%{_p}%} is true:
  7115. set {mineplex.pref.hif.%{_p}%} to false
  7116. else:
  7117. set {mineplex.pref.hif.%{_p}%} to true
  7118.  
  7119. function profile_system(arg1: text , arg2: text , p: player, p2: player) :: number:
  7120. set {_wither} to "MHF_WSkeleton" parsed as a player
  7121. if {_arg1} is "menu":
  7122. if {_arg2} is "profile":
  7123. wait 2 ticks
  7124. open chest with 3 rows named "My Profile" to {_p}
  7125. wait 4 ticks
  7126. 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})]
  7127. 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})]
  7128. 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
  7129. if {_arg2} is "prefs":
  7130. if {_p} has permission "mineplex.trainee":
  7131. open chest with 6 rows named "My Preferences" to {_p}
  7132. wait 3 tick
  7133. format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7134. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7135. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7136. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7137. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7138. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7139. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7140. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7141. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7142. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7143. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7144. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7145. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7146. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7147. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7148. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7149. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7150. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7151. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7152. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7153. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7154. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7155. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7156. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7157. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7158. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7159. format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
  7160. format slot 21 of {_p} with diamond named "&eExclusive Preferences" to run [profile_system("menu", "staff", {_p}, {_p2})]
  7161. format slot 23 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
  7162. format slot 25 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
  7163. format slot 31 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
  7164. else:
  7165. open chest with 5 rows named "My Preferences" to {_p}
  7166. wait 3 tick
  7167. format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7168. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7169. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7170. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7171. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7172. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7173. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7174. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7175. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7176. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7177. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7178. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7179. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7180. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7181. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7182. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7183. format slot 37 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7184. format slot 38 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7185. format slot 39 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7186. format slot 40 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7187. format slot 41 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7188. format slot 42 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7189. format slot 43 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7190. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7191. format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
  7192. format slot 21 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
  7193. format slot 23 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
  7194. format slot 25 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
  7195. if {_arg2} is "user":
  7196. open chest with 6 rows named "User Preferences" to {_p}
  7197. wait 3 tick
  7198. format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  7199. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7200. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7201. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7202. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7203. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7204. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7205. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7206. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7207. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7208. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7209. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7210. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7211. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7212. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7213. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7214. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7215. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7216. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7217. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7218. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7219. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7220. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7221. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7222. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7223. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7224. if {mineplex.pref.hg.%{_p}%} is true:
  7225. 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})]
  7226. 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})]
  7227. else:
  7228. 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})]
  7229. 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})]
  7230. if {mineplex.pref.hpv.%{_p}%} is true:
  7231. 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})]
  7232. 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})]
  7233. else:
  7234. 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})]
  7235. 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})]
  7236. if {mineplex.pref.pc.%{_p}%} is true:
  7237. 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})]
  7238. 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})]
  7239. else:
  7240. 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})]
  7241. 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})]
  7242. if {mineplex.pref.pm.%{_p}%} is true:
  7243. 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})]
  7244. 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})]
  7245. else:
  7246. 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})]
  7247. 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})]
  7248. if {mineplex.pref.rm.%{_p}%} is true:
  7249. 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})]
  7250. 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})]
  7251. else:
  7252. 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})]
  7253. 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})]
  7254. if {_arg2} is "game":
  7255. open chest with 6 rows named "Game Mechanic Preference" to {_p}
  7256. wait 3 tick
  7257. format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  7258. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7259. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7260. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7261. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7262. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7263. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7264. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7265. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7266. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7267. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7268. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7269. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7270. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7271. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7272. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7273. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7274. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7275. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7276. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7277. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7278. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7279. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7280. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7281. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7282. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7283. if {mineplex.pref.aj.%{_p}%} is true:
  7284. 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})]
  7285. 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})]
  7286. else:
  7287. 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})]
  7288. 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})]
  7289. if {mineplex.pref.daw.%{_p}%} is true:
  7290. 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})]
  7291. 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})]
  7292. else:
  7293. 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})]
  7294. 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})]
  7295. if {mineplex.pref.cj.%{_p}%} is true:
  7296. 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})]
  7297. 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})]
  7298. else:
  7299. 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})]
  7300. 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})]
  7301. if {_arg2} is "misc":
  7302. open chest with 6 rows named "Miscellaneous Preference" to {_p}
  7303. wait 3 tick
  7304. format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  7305. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7306. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7307. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7308. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7309. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7310. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7311. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7312. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7313. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7314. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7315. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7316. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7317. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7318. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7319. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7320. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7321. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7322. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7323. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7324. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7325. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7326. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7327. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7328. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7329. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7330. if {mineplex.pref.sct.%{_p}%} is true:
  7331. 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})]
  7332. 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})]
  7333. else:
  7334. 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})]
  7335. 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})]
  7336. if {mineplex.pref.hm.%{_p}%} is true:
  7337. 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})]
  7338. 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})]
  7339. else:
  7340. 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})]
  7341. 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})]
  7342. if {_arg2} is "social":
  7343. open chest with 6 rows named "Social Preferences" to {_p}
  7344. wait 3 tick
  7345. format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  7346. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7347. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7348. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7349. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7350. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7351. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7352. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7353. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7354. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7355. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7356. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7357. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7358. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7359. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7360. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7361. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7362. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7363. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7364. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7365. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7366. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7367. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7368. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7369. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7370. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7371. if {mineplex.pref.pr.%{_p}%} is true:
  7372. 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})]
  7373. 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})]
  7374. else:
  7375. 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})]
  7376. 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})]
  7377. if {mineplex.pref.spfr.%{_p}%} is true:
  7378. 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})]
  7379. 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})]
  7380. else:
  7381. 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})]
  7382. 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})]
  7383. if {mineplex.pref.dfg.%{_p}%} is true:
  7384. 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})]
  7385. 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})]
  7386. else:
  7387. 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})]
  7388. 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})]
  7389. if {mineplex.pref.sci.%{_p}%} is true:
  7390. 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})]
  7391. 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})]
  7392. else:
  7393. 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})]
  7394. 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})]
  7395. if {mineplex.pref.dpg.%{_p}%} is true:
  7396. 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})]
  7397. 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})]
  7398. else:
  7399. 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})]
  7400. 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})]
  7401. if {_arg2} is "staff":
  7402. open chest with 6 rows named "Exclusive Preferences" to {_p}
  7403. wait 3 tick
  7404. format slot 0 of {_p} with bed named "&7← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  7405. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7406. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7407. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7408. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7409. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7410. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7411. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7412. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7413. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7414. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7415. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7416. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7417. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7418. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7419. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7420. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7421. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7422. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7423. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7424. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7425. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7426. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7427. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7428. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7429. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  7430. if {mineplex.pref.hif.%{_p}%} is true:
  7431. 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})]
  7432. 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})]
  7433. else:
  7434. 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})]
  7435. 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})]
  7436. if {mineplex.ff.%{_p}%} is true:
  7437. 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})]
  7438. 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})]
  7439. else:
  7440. 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})]
  7441. 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})]
  7442. if {mineplex.pref.gwen.%{_p}%} is true:
  7443. 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})]
  7444. 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})]
  7445. else:
  7446. 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})]
  7447. 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})]
  7448. if {mineplex.pref.report.%{_p}%} is true:
  7449. 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})]
  7450. 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})]
  7451. else:
  7452. 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})]
  7453. 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})]
  7454. if {mineplex.pref.ff.%{_p}%} is true:
  7455. 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})]
  7456. 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})]
  7457. else:
  7458. 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})]
  7459. 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})]
  7460.  
  7461. command /prefs:
  7462. trigger:
  7463. profile_system("menu", "prefs", player, player)
  7464.  
  7465. #GWEN CODING!! (Using my old plugin Shield) (I took it down as I was ripping off json.sk but wtevr) lol
  7466.  
  7467. on damage:
  7468. if victim's name is "BeamCow" or "BeamGuar":
  7469. cancel event
  7470. on death:
  7471. if victim's name is "BeamCow" or "BeamGuar":
  7472. clear drops
  7473.  
  7474. on quit:
  7475. delete {forcefield.past.%player%}
  7476.  
  7477. function beamGo(p: player) :: number:
  7478. apply slowness 255 to {_p} for 7 seconds
  7479. set {_p2} to location 3 meters in front of {_p}
  7480. add 5 to y-coordinate of {_p2}
  7481. set {_p3} to location 3 meters behind {_p}
  7482. add 5 to y-coordinate of {_p3}
  7483. set {_p4} to location 3 meters left of {_p}
  7484. add 5 to y-coordinate of {_p4}
  7485. set {_p5} to location 3 meters right of {_p}
  7486. add 5 to y-coordinate of {_p5}
  7487. spawn a guardian at {_p2}
  7488. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  7489. set {_t2} to last spawned entity
  7490. spawn a guardian at {_p3}
  7491. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  7492. set {_t3} to last spawned entity
  7493. spawn a guardian at {_p4}
  7494. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  7495. set {_t4} to last spawned entity
  7496. spawn a guardian at {_p5}
  7497. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  7498. set {_t5} to last spawned entity
  7499. set {_player} to {_p}
  7500. set {_r} to randomize "BHWFEAEG619"
  7501. set {_s} to "Chiss" parsed as a player
  7502. setPlayerdata({_p}, "banned", "yes")
  7503. punishBan({_s} ,{_player} , "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%")
  7504. set {banned::%{_player}%} to true
  7505. set {banned::%{_player}%::type} to "perm"
  7506. set {banned::%{_player}%::reason} to "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%"
  7507. set {banned::%{_player}%::staff} to "Chiss"
  7508. set {banned::%{_player}%::when} to now
  7509. add "&ePunishment Type: &fOther||||&eReason: &f[GWEN] Token: %{_r}%||||&eStaff: &fChiss||||&eDate: &f%now%" to {p.%{_player}%::history::*}
  7510. Beam({_p}, {_t2})
  7511. Beam({_p}, {_t3})
  7512. Beam({_p}, {_t4})
  7513. Beam({_p}, {_t5})
  7514. wait 5.2 seconds
  7515. broadcast "&9GWEN> &7%{_p}% has been banned. I am always watching"
  7516. 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}%"
  7517.  
  7518. command /gwenban <player>:
  7519. permission: mineplex.admin
  7520. permission message: &9Permissions> &7You do not have permission to do that.
  7521. trigger:
  7522. beamGo(arg-1)
  7523.  
  7524. on shoot:
  7525. if projectile is an arrow:
  7526. if difference between {bow.%shooter%} and now is less than 2 ticks:
  7527. gwenAlert((shooter), ("Fast Bow"))
  7528. set {bow.%shooter%} to now
  7529.  
  7530. every 4 second :
  7531. set {autoclick.check} to true
  7532. wait 3 second
  7533. set {autoclick.check} to false
  7534. loop all players :
  7535. delete {player.click.%loop-player%}
  7536.  
  7537. on left click :
  7538. {autoclick.check} is true
  7539. add 1 to {player.click.%player%}
  7540. {player.click.%player%} > 69
  7541. gwenAlert((player), ("High CPS (%{player.click.%player%} / 3% clicks/second)"))
  7542.  
  7543. on walk on water:
  7544. set {_loc} to location of player
  7545. add 2 to y-coordinate of {_loc}
  7546. if block at {_loc} is air:
  7547. add 1 to {gwen.jesus.%player%}
  7548. if {gwen.jesus.%player%} is greater than 6:
  7549. gamemode of player is survival
  7550. gwenAlert((player), ("Jesus"))
  7551. delete {gwen.jesus.%player%}
  7552.  
  7553. on consume:
  7554. if difference between {fasteat.%player%} and now is less than 10 ticks:
  7555. cancel event
  7556. set {fasteat.%player%} to now
  7557. gwenAlert((player), ("FastEat"))
  7558. set {fasteat.%player%} to now
  7559.  
  7560. on damage:
  7561. if attacker is a player:
  7562. if victim is a player:
  7563. if attacker's gamemode is survival or adventure:
  7564. damage cause isn't thorns or a projectile:
  7565. set {_reach.%attacker%} to distance between attacker and victim
  7566. set {_ping} to attacker's ping
  7567. if {_reach.%attacker%} is greater than 5.67:
  7568. if {_ping} is greater than 350:
  7569. gwenAlert((attacker), ("Reach"))
  7570. if {_ping} is less than 350:
  7571. gwenAlert((attacker), ("Reach"))
  7572.  
  7573. on damage of a player :
  7574. block at victim is not cobweb
  7575. victim is not riding
  7576. victim is not on fire
  7577. victim's y-coordinate is greater than 5
  7578. set {_loc9} to block north east victim
  7579. set {_loc8} to block south west victim
  7580. blocks within {_loc9} to {_loc8} is air
  7581. set {_loc} to location of victim
  7582. wait 10 ticks
  7583. set {_loc2} to location of victim
  7584. distance between {_loc} and {_loc2} = 0
  7585. victim's ping < 250
  7586. gwenAlert((victim), ("Velocity"))
  7587.  
  7588. #Systems
  7589.  
  7590. on leftclick holding tnt:
  7591. if {mineplex.tntlauncher} is true:
  7592. player has 1 tnt
  7593. spawn a primed tnt 1 meter above the player
  7594. add "{Fuse:60}" to nbt of the spawned entity
  7595. push the spawned entity in direction of player at speed 0.9
  7596. push the spawned entity upwards at speed 0.2
  7597. remove 1 tnt from player
  7598.  
  7599. on rightclick holding tnt:
  7600. if {mineplex.tntlauncher} is true:
  7601. player has 1 tnt
  7602. spawn a primed tnt 1 meter above the player
  7603. add "{Fuse:60}" to nbt of the spawned entity
  7604. push the spawned entity in direction of player at speed 0.9
  7605. push the spawned entity upwards at speed 0.2
  7606. remove 1 tnt from player
  7607.  
  7608. #Modules
  7609.  
  7610. on load:
  7611. delete {mineplex::modules::*}
  7612. set {mineplex.modulesapi.online} to true
  7613.  
  7614. on unload:
  7615. delete {mineplex::modules::*}
  7616. set {mineplex.modulesapi.online} to false
  7617.  
  7618. command /modules:
  7619. trigger:
  7620. send "&9Modules> &7Modules API version 0.1"
  7621. send "&9Modules> &7Going to *attempt* to list modules."
  7622. send "&9Modules> &7This does not mean that your module is not loaded."
  7623. loop {mineplex::modules::*}:
  7624. send "&9Modules> &e%loop-value%"
  7625.  
  7626. #add "Bungee Module" to {mineplex::modules::*}
  7627. #remove "Bungee Module" from {mineplex::modules::*}
  7628.  
  7629. #MPS
  7630.  
  7631. #on load:
  7632. # if {wget} is not set:
  7633. # download file from "" to file "./WheezyMap.zip"
  7634.  
  7635. #command /mpsconfirm:
  7636. # permission: mineplex.op
  7637. # trigger:
  7638. # if {mineplex.mps.%player%} is not set:
  7639. # send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
  7640. # send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
  7641. # copy dir "./mps/Mineplex" to "./mps/%player%-1/"
  7642. # load world "./mps/%player%-1"
  7643. # set {mps.%player%-1} to "yes"
  7644. # wait 20 seconds
  7645. # else:
  7646. # 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."
  7647. #
  7648. #command /hostserver:
  7649. # permission: mineplex.op
  7650. # trigger:
  7651. # if {mineplex.mps.%player%} is not set:
  7652. # send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
  7653. # send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
  7654. # create folder "./mps/%player%-1"
  7655. # load world "./mps/%player%-1"
  7656. # wait 20 seconds
  7657. # teleport player to spawn of "./mps/%player%-1"
  7658. # else:
  7659. # 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."
  7660.  
  7661. #command /endserver:
  7662. # trigger:
  7663. # loop all players:
  7664. # loop-player's world is "./mps/%player%-1":
  7665. # teleport player to spawn of "%arg-1%"
  7666. # unload world "./mps/%player%-1"
  7667. # wait 2 seconds
  7668. # delete folder "./mps/%player%-1/data/"
  7669. # delete folder "./mps/%player%-1/region/"
  7670. # delete file "./mps/%player%-1/level.dat"
  7671. # delete file "./mps/%player%-1/uid.dat"
  7672. # delete file "./mps/%player%-1/session.lock"
  7673. # delete dir "./mps/%player%-1"
  7674.  
  7675. #command /tpwrd <text>:
  7676. # trigger:
  7677. # set {_w} to "world"
  7678. # teleport player to spawn of {_w}
  7679.  
  7680. #command /menu:
  7681. # trigger:
  7682. # open chest with 3 rows named "Private Server Menu" to player
  7683. # wait 1 tick
  7684. # 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"]
  7685. # format slot 13 of player with lava bucket named "&aRemove Player" with lore "||&e" to close then run [execute console command "kick Citrin_ lol"]
  7686. # format slot 15 of player with redstone comparator item named "&aGame Options" with lore "||&e" to close then run [execute console command "say xd"]
  7687. # 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"]
  7688. # 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"]
  7689. # 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"]
  7690.  
  7691.  
  7692. #skPerms by LimeGlass
  7693. #Thanks for Letting Me Bake This In!
  7694. options:
  7695. prefix: &6[&5SkPerms&6]
  7696. maincolour: &6
  7697. secondcolour: &7
  7698. command: /skperms
  7699. aliases: /perm, /permission
  7700. permission: skperms.admin
  7701.  
  7702. #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
  7703. CMDprotection: false
  7704. CMDprotectionMsg: Unknown command. Type ""/help"" for help
  7705. #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
  7706. PlayerList: {example::players::*}
  7707.  
  7708. UseChat: false #use prefix and suffix in the chat
  7709. #Chat types:
  7710. #Display - Changes the player's display name (Vault will hook if installed)
  7711. #Override - !COMING SOON
  7712. ChatType: "Display"
  7713.  
  7714. version: 1.0.5
  7715.  
  7716. on script load:
  7717. if file "plugins\SkPerms" exists:
  7718. delete {skperms::config::*}
  7719. else:
  7720. set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
  7721. set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
  7722. set {skperms::config::version} to yaml value "version" from file "plugins\SkPerms\config.yml"
  7723. set {skperms::config::useYML} to yaml value "useYML" from file "plugins\SkPerms\config.yml"
  7724. if {skperms::config::useYML} is true:
  7725. if {skperms::players::*} is not set:
  7726. stop
  7727. delete file "plugins\SkPerms\players.yml"
  7728. loop {skperms::players::*}:
  7729. loop {skperms::player::%loop-value%::permissions::*}:
  7730. add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
  7731. on script unload:
  7732. loop {skperms::groups::*}:
  7733. if {skperms::group::%loop-value%::*} is not set:
  7734. loop {skperms::group::%loop-value-1%::permissions::*}:
  7735. loop {skperms::players::*}:
  7736. remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
  7737. loop {skperms::players::*}:
  7738. remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
  7739. if {skperms::player::%loop-value-2%::groups::*} is not empty:
  7740. loop {skperms::player::%loop-value-2%::groups::*}:
  7741. loop {skperms::group::%loop-value-1%::permissions::*}:
  7742. set {_p} to "%loop-value-2%" parsed as player
  7743. add "%loop-value-4%" to {_p}'s permissions
  7744. remove "%loop-value%" from {skperms::groups::*}
  7745. command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
  7746. permission: {@permission}
  7747. aliases: {@aliases}
  7748. trigger:
  7749. if {@CMDprotection} is true:
  7750. if command sender is not console:
  7751. if {@PlayerList} doesn't contain player or "%player%":
  7752. message "{@CMDprotectionMsg}"
  7753. stop
  7754. if arg 1 is not set:
  7755. message ""
  7756. message "{@prefix} v{@version}:"
  7757. message "{@maincolour}{@command} deleteDefault"
  7758. message "{@secondcolour}Deletes default group setting (If set)"
  7759. message "{@maincolour}{@command} (d|default) (group)"
  7760. if {skperms::default} is set:
  7761. message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
  7762. else:
  7763. message "{@secondcolour}Set the default group"
  7764. message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
  7765. message "{@secondcolour}Add/remove/list a players permissions"
  7766. message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
  7767. message "{@secondcolour}Add/remove/set/list a players group"
  7768. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
  7769. message "{@secondcolour}Add/remove/list a group permission"
  7770. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
  7771. message "{@secondcolour}Add/remove/list a groups connected groups"
  7772. message "{@secondcolour}A group is created once it contains a permission"
  7773. message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
  7774. message "{@secondcolour}Set a suffix or prefix to a group"
  7775. message ""
  7776. else if arg 1 is "deleteDefault":
  7777. delete {skperms::default}
  7778. message "{@prefix} {@maincolour}Removed default group (No group set)"
  7779. else if arg 1 is "d", "setdefault" or "default":
  7780. if arg 2 is set:
  7781. set {skperms::default} to arg 2
  7782. message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
  7783. else:
  7784. message "{@prefix} {@maincolour}Error: Group not specified"
  7785. else if arg 1 is "p" or "player":
  7786. if arg 2 is not set:
  7787. message "{@prefix} {@maincolour}Error: Player not specified"
  7788. else if arg 2 is set:
  7789. if arg 3 is "a" or "add":
  7790. if arg 4 is "p", "permission" or "permissions":
  7791. if arg 5 is set:
  7792. if {skperms::groups::*} doesn't contain arg 2:
  7793. add arg 2 to {skperms::groups::*}
  7794. set {_player} to arg 2 parsed as player
  7795. add arg 5 to {_player}'s permissions
  7796. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  7797. message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
  7798. else:
  7799. message "{@prefix} {@maincolour}Error: Permission not specified"
  7800. else if arg 4 is "g", "group" or "groups":
  7801. if arg 5 is set:
  7802. if {skperms::groups::*} doesn't contain arg 2:
  7803. add arg 2 to {skperms::groups::*}
  7804. if {skperms::player::%arg 2%::groups::*} doesn't contain arg 5:
  7805. add arg 5 to {skperms::player::%arg 2%::groups::*}
  7806. else:
  7807. message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
  7808. stop
  7809. message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
  7810. if {@UseChat} is true:
  7811. if {@ChatType} is "Display" or "display":
  7812. loop all players:
  7813. if {skperms::player::%player%::groups::*} contains arg 5:
  7814. if {skperms::group::%arg 5%::prefix} is set:
  7815. if {skperms::group::%arg 5%::suffix} is set:
  7816. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7817. else:
  7818. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7819. else if {skperms::group::%arg 5%::suffix} is set:
  7820. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7821. else:
  7822. set loop-player's display name to "%player%"
  7823. loop all players:
  7824. if {skperms::player::%player%::groups::*} is not set:
  7825. set loop-player's display name to "%player%"
  7826. else:
  7827. message "{@prefix} {@maincolour}Error: Group not specified"
  7828. else:
  7829. message "{@prefix} {@maincolour}Error: Type not specified"
  7830. else if arg 3 is "s" or "set":
  7831. if arg 4 is "g", "group" or "groups":
  7832. if arg 5 is set:
  7833. if {skperms::groups::*} doesn't contain arg 2:
  7834. add arg 2 to {skperms::groups::*}
  7835. delete {skperms::player::%arg 2%::groups::*}
  7836. add arg 5 to {skperms::player::%arg 2%::groups::*}
  7837. message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
  7838. if {@UseChat} is true:
  7839. if {@ChatType} is "Display" or "display":
  7840. loop all players:
  7841. if {skperms::player::%player%::groups::*} contains arg 5:
  7842. if {skperms::group::%arg 5%::prefix} is set:
  7843. if {skperms::group::%arg 5%::suffix} is set:
  7844. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7845. else:
  7846. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7847. else if {skperms::group::%arg 5%::suffix} is set:
  7848. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7849. else:
  7850. set loop-player's display name to "%player%"
  7851. loop all players:
  7852. if {skperms::player::%player%::groups::*} is not set:
  7853. set loop-player's display name to "%player%"
  7854. else:
  7855. message "{@prefix} {@maincolour}Error: Group not specified"
  7856. else:
  7857. message "{@prefix} {@maincolour}Error: Type not specified"
  7858. else if arg 3 is "r" or "remove":
  7859. if arg 4 is "p", "permission" or "permissions":
  7860. if arg 5 is set:
  7861. set {_player} to arg 2 parsed as player
  7862. remove arg 5 from {_player}'s permissions
  7863. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  7864. message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
  7865. else:
  7866. message "{@prefix} {@maincolour}Error: Permission not specified"
  7867. else if arg 4 is "g", "group" or "groups":
  7868. if arg 5 is set:
  7869. if {skperms::player::%arg 2%::groups::*} contains arg 5:
  7870. remove arg 5 from {skperms::player::%arg 2%::groups::*}
  7871. message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
  7872. if {@UseChat} is true:
  7873. if {@ChatType} is "Display" or "display":
  7874. loop all players:
  7875. if {skperms::player::%player%::groups::*} contains arg 5:
  7876. if {skperms::group::%arg 5%::prefix} is set:
  7877. if {skperms::group::%arg 5%::suffix} is set:
  7878. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7879. else:
  7880. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7881. else if {skperms::group::%arg 5%::suffix} is set:
  7882. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7883. else:
  7884. set loop-player's display name to "%player%"
  7885. loop all players:
  7886. if {skperms::player::%player%::groups::*} is not set:
  7887. set loop-player's display name to "%player%"
  7888. else:
  7889. message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
  7890. else:
  7891. message "{@prefix} {@maincolour}Error: Group not specified"
  7892. else:
  7893. message "{@prefix} {@maincolour}Error: Type not specified"
  7894. else if arg 3 is "l" or "list":
  7895. if arg 4 is "p", "permission" or "permissions":
  7896. set {_player} to arg 2 parsed as player
  7897. message "{@prefix} {@maincolour}%{_player}'s permissions%"
  7898. else if arg 4 is "g", "group" or "groups":
  7899. message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
  7900. else:
  7901. message "{@prefix} {@maincolour}Error: Type not specified"
  7902. else if arg 1 is "g", "group" or "groups":
  7903. if arg 2 is not set:
  7904. message "{@prefix} {@maincolour}Error: Group not specified"
  7905. else if arg 2 is set:
  7906. if arg 3 is "a" or "add":
  7907. if arg 4 is "p", "permission" or "permissions":
  7908. if arg 5 is set:
  7909. if {skperms::groups::*} doesn't contain arg 2:
  7910. add arg 2 to {skperms::groups::*}
  7911. add arg 5 to {skperms::group::%arg 2%::permissions::*}
  7912. message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
  7913. loop all players:
  7914. if {skperms::player::%player%::groups::*} contains arg 2:
  7915. loop {skperms::group::%arg 2%::permissions::*}:
  7916. add "%loop-value-2%" to loop-player's permissions
  7917. else:
  7918. message "{@prefix} {@maincolour}Error: Permission not specified"
  7919. else if arg 4 is "g", "group" or "groups":
  7920. if arg 5 is set:
  7921. if {skperms::groups::*} doesn't contain arg 2:
  7922. add arg 2 to {skperms::groups::*}
  7923. loop {skperms::group::%arg 5%::permissions::*}:
  7924. add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
  7925. message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
  7926. loop all players:
  7927. if {skperms::player::%player%::groups::*} contains arg 2:
  7928. loop {skperms::group::%arg 2%::permissions::*}:
  7929. add "%loop-value-2%" to loop-player's permissions
  7930. else:
  7931. message "{@prefix} {@maincolour}Error: Group not specified"
  7932. else:
  7933. message "{@prefix} {@maincolour}Error: Type not specified"
  7934. else if arg 3 is "r" or "remove":
  7935. if arg 4 is "p", "permission" or "permissions":
  7936. if arg 5 is set:
  7937. loop all players:
  7938. if {skperms::player::%player%::groups::*} contains arg 2:
  7939. loop {skperms::group::%arg 2%::permissions::*}:
  7940. remove "%loop-value-2%" from loop-player's permissions
  7941. remove arg 5 from {skperms::group::%arg 2%::permissions::*}
  7942. message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
  7943. loop all players:
  7944. if {skperms::player::%player%::groups::*} contains arg 2:
  7945. loop {skperms::group::%arg 2%::permissions::*}:
  7946. add "%loop-value-2%" to loop-player's permissions
  7947. else:
  7948. message "{@prefix} {@maincolour}Error: Permission not specified"
  7949. else if arg 4 is "g", "group" or "groups":
  7950. if arg 5 is set:
  7951. loop all players:
  7952. if {skperms::player::%player%::groups::*} contains arg 2:
  7953. loop {skperms::group::%arg 2%::permissions::*}:
  7954. remove "%loop-value-2%" from loop-player's permissions
  7955. loop {skperms::group::%arg 5%::permissions::*}:
  7956. remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
  7957. add 1 to {_l}
  7958. message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
  7959. loop all players:
  7960. if {skperms::player::%player%::groups::*} contains arg 2:
  7961. loop {skperms::group::%arg 2%::permissions::*}:
  7962. add "%loop-value-2%" to loop-player's permissions
  7963. else:
  7964. message "{@prefix} {@maincolour}Error: Group not specified"
  7965. else:
  7966. message "{@prefix} {@maincolour}Error: Type not specified"
  7967. else if arg 3 is "l" or "list":
  7968. if arg 4 is "p", "permission" or "permissions":
  7969. message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
  7970. else:
  7971. message "{@prefix} {@maincolour}Error: Type not specified"
  7972. else if arg 3 is "prefix" or "suffix":
  7973. if arg 4 is "set":
  7974. if arg 5 is set:
  7975. set {skperms::group::%arg 2%::%arg 3%} to arg 5
  7976. message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
  7977. if {@UseChat} is true:
  7978. if {@ChatType} is "Display" or "display":
  7979. loop all players:
  7980. if {skperms::player::%player%::groups::*} contains arg 5:
  7981. if {skperms::group::%arg 5%::prefix} is set:
  7982. if {skperms::group::%arg 5%::suffix} is set:
  7983. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7984. else:
  7985. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7986. else if {skperms::group::%arg 5%::suffix} is set:
  7987. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7988. else:
  7989. set loop-player's display name to "%player%"
  7990. loop all players:
  7991. if {skperms::player::%player%::groups::*} is not set:
  7992. set loop-player's display name to "%player%"
  7993. else:
  7994. message "{@prefix} {@maincolour}Prefix/Suffix not specified"
  7995. else:
  7996. message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
  7997. #on quit:
  7998. # set {skperms::player::%player%::permissions::*} to player's permissions
  7999.  
  8000. on join:
  8001. loop 2 times:
  8002. remove "%player%" from {skperms::players::*}
  8003. add "%player%" to {skperms::players::*}
  8004. loop {skperms::groups::*}:
  8005. if player has permission "skperms.group.%loop-value%":
  8006. if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
  8007. add "%loop-value%" to {skperms::player::%player%::groups::*}
  8008. if {skperms::default} is set:
  8009. loop {skperms::group::%{skperms::default}%::permissions::*}:
  8010. add "%loop-value%" to player's permissions
  8011. loop {skperms::player::%player%::permissions::*}:
  8012. add "%loop-value%" to player's permissions
  8013. if {skperms::player::%player%::groups::*} is not empty:
  8014. loop {skperms::player::%player%::groups::*}:
  8015. loop {skperms::group::%loop-value%::permissions::*}:
  8016. add "%loop-value-2%" to player's permissions
  8017. if {@UseChat} is true:
  8018. if {@ChatType} is "Display" or "display":
  8019. if {skperms::group::%loop-index%::prefix} is set:
  8020. if {skperms::group::%loop-index%::suffix} is set:
  8021. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
  8022. else:
  8023. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
  8024. else if {skperms::group::%loop-index%::suffix} is set:
  8025. set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
  8026. else:
  8027. set player's display name to "%player%"
  8028. loop all players:
  8029. if {skperms::player::%player%::groups::*} is not set:
  8030. set loop-player's display name to "%player%"
  8031.  
  8032. on load:
  8033. set {_time} to difference between {mineplex.starttime} and now
  8034. broadcast "&9MCR> &7Mineplex Core &e{@MCRVER} &7has been loaded! (%{_time}%)"
Add Comment
Please, Sign In to add comment