Guest User

Untitled

a guest
Aug 4th, 2017
522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 396.60 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: 2.8
  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. set {pass} to "6YciP1c4f7"
  261.  
  262. on load:
  263. if {mineplex.mode} is "sql":
  264. 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;"
  265.  
  266. command /getu [<string>]:
  267. trigger:
  268. set {_p} to player
  269. set {_get} to first element out of objects in column "%arg-1%" from result of query "SELECT %arg-1% FROM `accounts` WHERE uuid = '%uuid of {_p}%'"
  270. send "&a||&b%{_get}%&a||"
  271.  
  272. function parseRank(p: player , r: text) :: string:
  273. set {_uuid} to uuid of {_p}
  274. if {mineplex.mode} is "file":
  275. set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  276. if {mineplex.mode} is "sql":
  277. set {_get} to first element out of objects in column "rank" from result of query "SELECT rank FROM `accounts` WHERE uuid = '%uuid of {_p}%'"
  278. if {_get} is "All":
  279. set {mineplex.rank.%{_p}%} to ""
  280. return "&fPlayer"
  281. if {_get} is "Ultra":
  282. set {mineplex.rank.%{_p}%} to "&b&lULTRA "
  283. return "&bUltra"
  284. if {_get} is "Hero":
  285. set {mineplex.rank.%{_p}%} to "&d&lHERO "
  286. return "&dHero"
  287. if {_get} is "Legend":
  288. set {mineplex.rank.%{_p}%} to "&a&lLEGEND "
  289. return "&aLegend"
  290. if {_get} is "Titan":
  291. set {mineplex.rank.%{_p}%} to "&c&lTITAN "
  292. return "&cTitan"
  293. if {_get} is "Trainee":
  294. set {mineplex.rank.%{_p}%} to "&6&lTRAINEE "
  295. return "&6Trainee"
  296. if {_get} is "Mod":
  297. set {mineplex.rank.%{_p}%} to "&6&lMOD "
  298. return "&6Mod"
  299. if {_get} is "SrMod":
  300. set {mineplex.rank.%{_p}%} to "&6&lSR.MOD "
  301. return "&6Sr.Mod"
  302. if {_get} is "CMod":
  303. set {mineplex.rank.%{_p}%} to "&6&lC.MOD "
  304. return "&6C.Mod"
  305. if {_get} is "Admin":
  306. set {mineplex.rank.%{_p}%} to "&4&lADMIN "
  307. return "&4Admin"
  308. if {_get} is "Leader":
  309. set {mineplex.rank.%{_p}%} to "&4&lLEADER "
  310. return "&4Leader"
  311. if {_get} is "Owner":
  312. set {mineplex.rank.%{_p}%} to "&4&lOWNER "
  313. return "&4Owner"
  314. if {_get} is "Builder":
  315. set {mineplex.rank.%{_p}%} to "&9&lBUILDER "
  316. return "&9Builder"
  317. if {_get} is "Maplead":
  318. set {mineplex.rank.%{_p}%} to "&9&lMAPLEAD "
  319. return "&9Maplead"
  320. if {_get} is "Mapper":
  321. set {mineplex.rank.%{_p}%} to "&9&lMAPPER "
  322. return "&9Mapper"
  323. if {_get} is "JrDev":
  324. set {mineplex.rank.%{_p}%} to "&6&lJR.DEV "
  325. return "&6Jr.Dev"
  326. if {_get} is "Dev":
  327. set {mineplex.rank.%{_p}%} to "&4&lDEV "
  328. return "&4Dev"
  329. if {_get} is "Twitch":
  330. set {mineplex.rank.%{_p}%} to "&5&lTWITCH "
  331. return "&5Twitch"
  332. if {_get} is "Youtube":
  333. set {mineplex.rank.%{_p}%} to "&c&lYOUTUBE "
  334. return "&cYouTube"
  335. if {_get} is "Event":
  336. set {mineplex.rank.%{_p}%} to "&f&lEVENT "
  337. return "&fEvent"
  338. if {_get} is "Yt":
  339. set {mineplex.rank.%{_p}%} to "&5&lYT "
  340. return "&5YT"
  341. if {_get} is "Eternal":
  342. set {mineplex.rank.%{_p}%} to "&3&lETERNAL "
  343. return "&3Eternal"
  344. if {_get} is "Support":
  345. set {mineplex.rank.%{_p}%} to "&9&lSUPPORT "
  346. return "&9Support"
  347. if {_get} is "Artist":
  348. set {mineplex.rank.%{_p}%} to "&9&lARTIST "
  349. return "&9Artist"
  350.  
  351. function parseRankRaw(r: text) :: string:
  352. set {_get} to {_r}
  353. if {_get} is "All":
  354. set {_rank} to ""
  355. if {_get} is "Ultra":
  356. set {_rank} to "&b&lULTRA "
  357. if {_get} is "Hero":
  358. set {_rank} to "&d&lHERO "
  359. if {_get} is "Legend":
  360. set {_rank} to "&a&lLEGEND "
  361. if {_get} is "Titan":
  362. set {_rank} to "&c&lTITAN "
  363. if {_get} is "Trainee":
  364. set {_rank} to "&6&lTRAINEE "
  365. if {_get} is "Mod":
  366. set {_rank} to "&6&lMOD "
  367. if {_get} is "SrMod":
  368. set {_rank} to "&6&lSR.MOD "
  369. if {_get} is "CMod":
  370. set {_rank} to "&6&lC.MOD "
  371. if {_get} is "Admin":
  372. set {_rank} to "&4&lADMIN "
  373. if {_get} is "Leader":
  374. set {_rank} to "&4&lLEADER "
  375. if {_get} is "Owner":
  376. set {_rank} to "&4&lOWNER "
  377. if {_get} is "Builder":
  378. set {_rank} to "&9&lBUILDER "
  379. if {_get} is "Maplead":
  380. set {_rank} to "&9&lMAPLEAD "
  381. if {_get} is "Mapper":
  382. set {_rank} to "&9&lMAPPER "
  383. if {_get} is "JrDev":
  384. set {_rank} to "&6&lJR.DEV "
  385. if {_get} is "Dev":
  386. set {_rank} to "&4&lDEV "
  387. if {_get} is "Twitch":
  388. set {_rank} to "&5&lTWITCH "
  389. if {_get} is "Youtube":
  390. set {_rank} to "&c&lYOUTUBE "
  391. if {_get} is "Event":
  392. set {_rank} to "&f&lEVENT "
  393. if {_get} is "Yt":
  394. set {_rank} to "&5&lYT "
  395. if {_get} is "Eternal":
  396. set {_rank} to "&3&lETERNAL "
  397. if {_get} is "Support":
  398. set {_rank} to "&9&lSUPPORT "
  399. if {_get} is "Artist":
  400. set {_rank} to "&9&lARTIST "
  401. if {_rank} is set:
  402. return {_rank}
  403. else:
  404. return "null"
  405.  
  406. function playerdata(p: player) :: boolean:
  407. set {_uuid} to uuid of {_p}
  408. if {mineplex.mode} is "file":
  409. if file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml" doesn't exists:
  410. create file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  411. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  412. set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  413. set "rank" to "All" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  414. set "level" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  415. set "gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  416. set "shards" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  417. set "banned" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  418. set "muted" to "no" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  419. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  420. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  421. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  422. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  423. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  424. else:
  425. set {_ver} to value "version" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  426. if {_ver} is not "{@playerdata}":
  427. if {_ver} is "1":
  428. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  429. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  430. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  431. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  432. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  433. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  434. send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
  435. if {_ver} is "2":
  436. set "stats.global.gems" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  437. set "stats.global.games" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  438. set "stats.global.dailyr" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  439. set "stats.global.voted" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  440. set "stats.global.chests" to "0" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  441. set "version" to "{@playerdata}" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  442. send "&9MCR> &7Your playdata has been updated to the latest version!" to {_p}
  443. set "player" to "%{_p}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  444. set {_get} to value "rank" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  445. parseRank({_p}, "LOL")
  446. set {_lvl} to value "level" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  447. execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
  448. set {_sh} to value "shards" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  449. set {mineplex.shards.%{_p}%} to {_sh} parsed as an number
  450. set {_ge} to value "gems" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  451. set {mineplex.gems.%{_p}%} to {_ge} parsed as an number
  452. set {_ban} to value "banned" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  453. if {_ban} is "yes":
  454. set {banned::%{_p}%} to true
  455. else:
  456. set {banned::%{_p}%} to false
  457. set {_mute} to value "muted" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  458. if {_mute} is "yes":
  459. set {muted::%{_p}%} to true
  460. else:
  461. set {muted::%{_p}%} to false
  462. else if {mineplex.mode} is "sql":
  463. if {mineplex.sqlsetup.%{_uuid}%} is not set:
  464. update "INSERT INTO `accounts` (`uuid`, `name`) VALUES ('%{_uuid}%', '%{_p}%')"
  465. set {mineplex.sqlsetup.%{_uuid}%} to now
  466. parseRank({_p}, "LOL")
  467. set {_lvl} to first element out of objects in column "level" from result of query "SELECT level FROM `accounts` WHERE uuid = '%{_uuid}%'"
  468. execute console command "/givestat %{_p}% Global.ExpEarned %{_lvl}%"
  469. set {_sh} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  470. set {mineplex.shards.%{_p}%} to {_sh}
  471. set {_ge} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  472. set {mineplex.gems.%{_p}%} to {_ge}
  473. set {_ban} to first element out of objects in column "banned" from result of query "SELECT banned FROM `accounts` WHERE uuid = '%{_uuid}%'"
  474. if {_ban} is "yes":
  475. set {banned::%{_p}%} to true
  476. else:
  477. set {banned::%{_p}%} to false
  478. set {_mute} to first element out of objects in column "muted" from result of query "SELECT muted FROM `accounts` WHERE uuid = '%{_uuid}%'"
  479. if {_mute} is "yes":
  480. set {muted::%{_p}%} to true
  481. else:
  482. set {muted::%{_p}%} to false
  483.  
  484. function getPlayerdata(p: offline player , f: text) :: string:
  485. set {_uuid} to uuid of {_p}
  486. if {mineplex.mode} is "file":
  487. set {_get} to value "%{_f}%" get of "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  488. return {_get}
  489. else if {mineplex.mode} is "sql":
  490. set {_get} to first element out of objects in column "%{_f}%" from result of query "SELECT %{_f}% FROM `accounts` WHERE uuid = '%{_uuid}%'"
  491. return {_get}
  492.  
  493. function setPlayerdata(p: offline player , f: text , v: text) :: boolean:
  494. set {_uuid} to uuid of {_p}
  495. if {mineplex.mode} is "file":
  496. set "%{_f}%" to "%{_v}%" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  497. return true
  498. playerdata({_p})
  499. else if {mineplex.mode} is "sql":
  500. update "UPDATE `accounts` SET `%{_f}%` = '%{_v}%' WHERE uuid = '%{_uuid}%';"
  501. return true
  502. set {_s} to getPlayerdata({_p}, "shards")
  503. set {_g} to getPlayerdata({_p}, "gems")
  504. broadcast "shard: %{_s}% -gem: %{_g}%"
  505. playerdata({_p})
  506.  
  507. function addShards(p: offline player , a: number) :: boolean:
  508. set {_uuid} to uuid of {_p}
  509. if {mineplex.mode} is "file":
  510. set {_get} to getPlayerdata({_p}, "shards")
  511. set {_cur} to {_get} parsed as a number
  512. add {_a} to {_cur}
  513. setPlayerdata({_p}, "shards", "%{_cur}%")
  514. else if {mineplex.mode} is "sql":
  515. set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  516. add {_a} to {_get}
  517. setPlayerdata({_p}, "shards", "%{_get}%")
  518.  
  519. function delShards(p: offline player , a: number) :: boolean:
  520. set {_uuid} to uuid of {_p}
  521. if {mineplex.mode} is "file":
  522. set {_get} to getPlayerdata({_p}, "shards")
  523. set {_cur} to {_get} parsed as a number
  524. remove {_a} from {_cur}
  525. setPlayerdata({_p}, "shards", "%{_cur}%")
  526. else if {mineplex.mode} is "sql":
  527. set {_get} to first element out of objects in column "shards" from result of query "SELECT shards FROM `accounts` WHERE uuid = '%{_uuid}%'"
  528. remove {_a} from {_get}
  529. setPlayerdata({_p}, "shards", "%{_get}%")
  530.  
  531. function addGems(p: offline player , a: number) :: boolean:
  532. set {_uuid} to uuid of {_p}
  533. if {mineplex.mode} is "file":
  534. set {_get} to getPlayerdata({_p}, "gems")
  535. set {_cur} to {_get} parsed as a number
  536. add {_a} to {_cur}
  537. setPlayerdata({_p}, "gems", "%{_cur}%")
  538. else if {mineplex.mode} is "sql":
  539. set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  540. add {_a} to {_get}
  541. setPlayerdata({_p}, "gems", "%{_get}%")
  542.  
  543. function delGems(p: offline player , a: number) :: boolean:
  544. set {_uuid} to uuid of {_p}
  545. if {mineplex.mode} is "file":
  546. set {_get} to getPlayerdata({_p}, "gems")
  547. set {_cur} to {_get} parsed as a number
  548. remove {_a} from {_cur}
  549. setPlayerdata({_p}, "gems", "%{_cur}%")
  550. else if {mineplex.mode} is "sql":
  551. set {_get} to first element out of objects in column "gems" from result of query "SELECT gems FROM `accounts` WHERE uuid = '%{_uuid}%'"
  552. remove {_a} from {_get}
  553. setPlayerdata({_p}, "gems", "%{_get}%")
  554.  
  555. on quit:
  556. delete {mineplex.rank.%player%}
  557. delete {mineplex.level.%player%}
  558. delete {mineplex.gems.%player%}
  559. delete {mineplex.shards.%player%}
  560. delete {banned::%player%}
  561. delete {muted::%player%}
  562.  
  563. on connect:
  564. set {_uuid} to uuid of {_p}
  565. playerdata(player)
  566. send "§9MCR> §e%player% (%uuid of player%) has been loaded from playerdata!" to the console
  567.  
  568. function Beam(e1: entity , e2: entity):
  569. spawn a squid at location 0 meter behind {_e1}'s head
  570. set {_el} to last spawned entity
  571. set target of {_el} to {_e2}
  572. apply invisibility to the last spawned entity
  573. add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1, NoAI:1}" to nbt of last spawned entity
  574. set {_targLoc} to location of {_e2}
  575.  
  576. loop 100 times:
  577. teleport {_el} to location 0 meter behind {_e1}'s head
  578. set target of {_el} to {_e2}
  579. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_el}
  580. if "%{_e2}'s name%" is "BeamCow":
  581. teleport {_e2} to {_targLoc}
  582. add "{Motion:[0.0,0.0,0.0]}" to nbt of {_e2}
  583. wait 1 tick
  584.  
  585. create a safe explosion with force 2 at {_e1}
  586. loop entities in radius 3 of {_e2}:
  587. make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_e2}))
  588. teleport {_el} 300 blocks below {_el}
  589. teleport {_e2} 300 blocks below {_e2}
  590. kill {_el}
  591. kill {_e2}
  592.  
  593. function ClientBeam(e1: entity , e3: entity , e2: entity):
  594. spawn a cow at location of {_e2}
  595. set {_c} to last spawned entity
  596. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  597. spawn a guardian at location 1 meter behind {_e1}'s head
  598. set {_el} to last spawned entity
  599. set target of {_el} to {_e2}
  600. loop all players:
  601. protocol hide {_e1} from loop-player
  602. protocol hide {_e2} from loop-player
  603. protocol show {_e1} to {_e3}
  604. protocol show {_e2} to {_e3}
  605. apply invisibility to {_c}
  606. apply invisibility to the last spawned entity
  607. add "{CustomName:""BeamGuar"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  608. set {_targLoc} to location of {_e2}
  609.  
  610. loop 100 times:
  611. teleport {_el} to location 1 meter behind {_e1}'s head
  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 {_e2}
  619. loop entities in radius 3 of {_c}:
  620. make {_e1} damage loop-entity by (3 - (distance between loop-entity and {_c}))
  621. teleport {_el} 300 blocks below {_el}
  622. teleport {_e2} 300 blocks below {_e2}
  623. kill {_el}
  624. kill {_c}
  625.  
  626. function configRefresh(n: number) :: number:
  627. set {mineplex.config.config} to value "config" get of "plugins/Mineplex-Core-Remake/config.yml"
  628. set {mineplex.config.servername} to value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
  629. set {mineplex.config.website} to value "website" get of "plugins/Mineplex-Core-Remake/config.yml"
  630. set {mineplex.config.appealwebsite} to value "appealwebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
  631. set {mineplex.config.ruleswebsite} to value "ruleswebsite" get of "plugins/Mineplex-Core-Remake/config.yml"
  632. set {mineplex.config.youtube} to value "youtube" get of "plugins/Mineplex-Core-Remake/config.yml"
  633. set {mineplex.config.twitter} to value "twitter" get of "plugins/Mineplex-Core-Remake/config.yml"
  634. set {mineplex.config.shoplink} to value "shoplink" get of "plugins/Mineplex-Core-Remake/config.yml"
  635. set {mineplex.config.world} to value "worldname" get of "plugins/Mineplex-Core-Remake/config.yml"
  636. set {mineplex.config.doublejump} to value "doublejump" get of "plugins/Mineplex-Core-Remake/config.yml"
  637. set {mineplex.config.autoop} to value "autoop" get of "plugins/Mineplex-Core-Remake/config.yml"
  638. set {mineplex.config.unbanadmin} to value "unbanadmin" get of "plugins/Mineplex-Core-Remake/config.yml"
  639.  
  640. function configPopulate(n: number) :: number:
  641. create file "plugins/Mineplex-Core-Remake/config.yml"
  642. set "config" to "{@configver}" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  643. set "servername" to "MINEPLEX" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  644. set "website" to "www.mineplex.com" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  645. set "appealwebsite" to "www.mineplex.com/appeals" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  646. set "ruleswebsite" to "www.mineplex.com/rules" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  647. set "youtube" to "http://youtube.com/mineplexgamesofficial" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  648. set "twitter" to "http://twitter.com/mineplex" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  649. set "shoplink" to "www.mineplex.com/shop" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  650. set "worldname" to "world" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  651. set "doublejump" to "true" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  652. set "autoop" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  653. set "unbanadmin" to "false" in yaml file "plugins/Mineplex-Core-Remake/config.yml"
  654.  
  655. function updateRankAPI(p: player) :: player:
  656. wait 5 ticks
  657. if {mineplex.rank.%{_p}%} is not set:
  658. set {mineplex.rank.%{_p}%} to ""
  659. if {mineplex.disguise.%{_p}%} is set:
  660. set {_br} to uncolored {mineplex.rank.%{_p}%}
  661. set {_dr} to uncolored {mineplex.rank.%{mineplex.disguise.%{_p}%}%}
  662. if {mineplex.rank.%{mineplex.disguise.%{_p}%}%} is set:
  663. make all players see {_p}'s prefix as "%{mineplex.rank.%{mineplex.disguise.%{_p}%}%}%&r&e"
  664. else:
  665. make all players see {_p}'s prefix as "&e"
  666. set {_br} to convert string "%{_br}%" to lowercase
  667. set {_br} to 1st char in each word of "%{_br}%" to caps
  668. set {_dr} to convert string "%{_dr}%" to lowercase
  669. set {_dr} to 1st char in each word of "%{_dr}%" to caps
  670. replace all " " in {_br} with ""
  671. replace all " " in {_dr} with ""
  672. if {_dr} is "":
  673. set {_dr} to "No Rank"
  674. if {_br} contains "mod":
  675. replace all "mod" with "Mod" in {_br}
  676. if {_dr} contains "mod":
  677. replace all "mod" with "Mod" in {_dr}
  678. if {_br} contains "dev":
  679. replace all "dev" with "Dev" in {_br}
  680. if {_dr} contains "dev":
  681. replace all "dev" with "Dev" in {_dr}
  682. if {_dr} contains "lead":
  683. replace all "lead" with "Lead" in {_dr}
  684. if {_br} contains "lead":
  685. replace all "lead" with "Lead" in {_br}
  686. if {_br} is "":
  687. set {_br} to "No Rank"
  688. if {_br} contains "mod":
  689. replace all "mod" with "Mod" in {_br}
  690. if {_br} contains "dev":
  691. replace all "dev" with "Dev" in {_br}
  692. if {_br} contains "mod":
  693. replace all "mod" with "Mod" in {_br}
  694. if {_br} contains "tube":
  695. replace all "tube" with "Tube" in {_br}
  696. set {mineplex.api.displayrank.%{_p}%} to "%{_dr}% (%{_br}%)"
  697. set {mineplex.api.displayname.%{_p}%} to "%{mineplex.disguise.%{_p}%}%"
  698. else:
  699. set {_br} to uncolored {mineplex.rank.%{_p}%}
  700. if {mineplex.rank.%{_p}%} is set:
  701. make all players see {_p}'s prefix as "%{mineplex.rank.%{_p}%}%&r&e"
  702. else:
  703. make all players see {_p}'s prefix as "&e"
  704. set {_br} to convert string "%{_br}%" to lowercase
  705. set {_br} to 1st char in each word of "%{_br}%" to caps
  706. if {_br} is "":
  707. set {_br} to "No Rank"
  708. if {_br} contains "mod":
  709. replace all "mod" with "Mod" in {_br}
  710. if {_br} contains "dev":
  711. replace all "dev" with "Dev" in {_br}
  712. if {_br} contains "mod":
  713. replace all "mod" with "Mod" in {_br}
  714. if {_br} contains "tube":
  715. replace all "tube" with "Tube" in {_br}
  716. if {_br} contains "lead":
  717. replace all "lead" with "Lead" in {_br}
  718. if {_br} contains "dev":
  719. replace all "dev" with "Dev" in {_br}
  720. set {mineplex.api.displayrank.%{_p}%} to "%{_br}%"
  721. set {mineplex.api.displayname.%{_p}%} to "%{_p}%"
  722.  
  723. function mcs(p: player , m: text) :: number:
  724. if {mineplex.overridechat} is true:
  725. if {mineplex.disguise.%{_p}%} is set:
  726. set {_player} to {mineplex.disguise.%{_p}%}
  727. else:
  728. set {_player} to {_p}
  729. set {_prerank} to getPlayerdata({_player}, "rank")
  730. set {_rank} to parseRankRaw({_prerank})
  731. if {_rank} is not set:
  732. set {_rank} to ""
  733. if {_rank} is "null":
  734. set {_rank} to ""
  735. if {mineplex.level.%{_player}%} is not set:
  736. set {mineplex.level.%{_player}%} to "&70"
  737. replace all " fuck " with "****" in {_m}
  738. replace all " bitch " with "*****" in {_m}
  739. replace all " ass " with "***" in {_m}
  740. replace all " nigger " with "***" in {_m}
  741. replace all " cunt " with "***" in {_m}
  742. replace all " f|_|ck " with "******" in {_m}
  743. replace all " shit " with "****" in {_m}
  744. if {_m} is {mineplex.lastsent.%{_p}%}:
  745. if {_p} does not have permission "mineplex.mod":
  746. send "&9Chat> &7This message is too similar to your previous message." to {_p}
  747. return -1
  748. stop
  749. if {mineplex.authlock.%{_p}%} is true:
  750. return -1
  751. stop
  752. set {mineplex.lastsent.%{_p}%} to {_m}
  753. loop all players:
  754. if {mineplex.pref.pc.%loop-player%} is true:
  755. if {mineplex.rank.%{_player}%} is set:
  756. set {_lvl} to {mineplex.level.%{_player}%}
  757. if {_player} is "WheezyGold7931":
  758. set {_lvl} to "&c101"
  759. loop {mineplex.ignorelist.%loop-player%::*}:
  760. if loop-value-2 is "%{_player}%":
  761. set {_ignore.%loop-player-1%} to true
  762. if {_ignore.%loop-player-1%} is not set:
  763. if {mineplex.rank.%{_player}%} is not "":
  764. replace all "&" with "" in {_m}
  765. set {_sanitizedm} to uncolored {_m}
  766. mcrjson("%loop-player%", "%{_lvl}%|| %{mineplex.rank.%{_player}%}%||ttp:%{mineplex.hover.%{_player}%}%||&e%{_player}% &f%{_sanitizedm}%")
  767. else:
  768. send "%{_lvl}% %{mineplex.rank.%{_player}%}%&e%{_player}% &f%{_m}%" to loop-player
  769. return -1
  770. else:
  771. stop
  772.  
  773. function caseSensitive(source: String, compareTo: String) :: boolean:
  774. if size of split {_source} at {_compareTo} is 2:
  775. return true
  776. else: #Hi Snow
  777. return false
  778.  
  779. function gwenAlert(p: player , r: text) :: number:
  780. if {mineplex.disguise.%{_p}%} is set:
  781. set {_player} to {mineplex.disguise.%{_p}%}
  782. else:
  783. set {_player} to {_p}
  784. loop all players:
  785. if loop-player has permission "mineplex.trainee":
  786. if {mineplex.pref.gwen.%loop-player%} is true:
  787. send "&b&kK&r &c&lGWEN > &6%{_player}% &esuspected of &a%{_r}%&e." to loop-player
  788.  
  789. #Config Loading
  790.  
  791. on script unload:
  792. broadcast "&9MCR> &7Mineplex Core is recompiling!"
  793.  
  794. on load:
  795. if file "plugins/Mineplex-Core-Remake/config.yml" doesn't exists:
  796. configPopulate(1)
  797. # set {mineplex.config.servername} to colored value "servername" get of "plugins/Mineplex-Core-Remake/config.yml"
  798. configRefresh(1)
  799. wait 1 second
  800. if {mineplex.config.config} is "{@configver}":
  801. broadcast "&9MCR> &7Config &e{@configver} &7is up to date!"
  802. else:
  803. broadcast "&9Mineplex Core> &7Your Config is not up to Date! Updating this shit for you!"
  804. configPopulate(1)
  805. broadcast "&9Mineplex Core> &7Config Re-Populated!"
  806. broadcast "&9Mineplex Core> &7Going to reload plugin now!"
  807. broadcast "&9Mineplex Core> &7Going to reload plugin now!"
  808. wait 1 second
  809. configRefresh(1)
  810. broadcast "&9Mineplex Core> &7Config Done!"
  811. if {mineplex.usescoreboard} is not set:
  812. set {mineplex.usescoreboard} to true
  813.  
  814. #Main Command/Toggles
  815. command /mineplex-core [<string>] [<string>] [<string>]:
  816. aliases: /mpcore
  817. permission: op
  818. permission message: &9Permissions> &7This requires Permission Rank [&9OP&7].
  819. trigger:
  820. if arg-1 is not set:
  821. send "&a"
  822. send "&9Core Settings> &7Listing Commands:"
  823. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  824. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  825. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  826. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  827. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  828. 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"
  829. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  830. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  831. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  832. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  833. send "&a"
  834. else if arg-1 is set:
  835. if arg-1 is "help":
  836. send "&a"
  837. send "&9Core Settings> &7Listing Commands:"
  838. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  839. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  840. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  841. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  842. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  843. 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"
  844. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  845. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  846. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  847. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  848. send "&a"
  849. else if arg-1 is "Chat":
  850. if arg-2 is not set:
  851. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  852. else if arg-2 is set:
  853. if arg-2 is "true":
  854. set {mineplex.overridechat} to true
  855. send "&9Core Settings> &7Now using the Mineplex Chat System (MCS)."
  856. else if arg-2 is "false":
  857. set {mineplex.overridechat} to false
  858. send "&9Core Settings> &7No longer using the Mineplex Chat System (MCS)."
  859. else:
  860. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  861. else:
  862. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  863. else if arg-1 is "Scoreboard":
  864. if arg-2 is not set:
  865. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  866. else if arg-2 is set:
  867. if arg-2 is "true":
  868. set {mineplex.usescoreboard} to true
  869. send "&9Core Settings> &7Now using the Mineplex Scoreboard System."
  870. else if arg-2 is "false":
  871. set {mineplex.usescoreboard} to false
  872. send "&9Core Settings> &7No longer using the Mineplex Scoreboard System."
  873. else:
  874. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  875. else:
  876. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  877. else if arg-1 is "ForcefieldOff":
  878. if arg-2 is not set:
  879. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  880. else:
  881. delete {mineplex.pref.ff.%arg-2%}
  882. delete {mineplex.ff.list::%arg-2%}
  883. send "&9MCR> &7Done!"
  884. else if arg-1 is "News":
  885. if arg-2 is not set:
  886. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  887. else if arg-2 is set:
  888. if arg-2 is "true":
  889. set {mineplex.news.allow} to true
  890. send "&9Core Settings> &7Now using the Mineplex News System."
  891. else if arg-2 is "false":
  892. set {mineplex.news.allow} to false
  893. send "&9Core Settings> &7No longer using the Mineplex News System."
  894. else:
  895. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  896. else:
  897. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  898. else if arg-1 is "TNT":
  899. if arg-2 is not set:
  900. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  901. else if arg-2 is set:
  902. if arg-2 is "true":
  903. set {mineplex.tntlauncher} to true
  904. send "&9Core Settings> &7Now using the Throwing TNT Mechanics."
  905. else if arg-2 is "false":
  906. set {mineplex.tntlauncher} to false
  907. send "&9Core Settings> &7No longer using the Throwing TNT Mechanics."
  908. else:
  909. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  910. else:
  911. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  912. else if arg-1 is "purgehistory":
  913. if arg 2 is not set:
  914. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  915. else:
  916. send "&9MCR> &7Purged %arg-2%'s history"
  917. delete {p.%arg-2%::*}
  918. delete {punishgui.%arg-2%::*}
  919. delete {reversed.p.%arg-2%::history::*}
  920. delete {reversed.p.%arg-2%::*}
  921. else if arg-1 is "reload":
  922. configRefresh(1)
  923. send "&9Core Settings> &7The main configuration file has been refreshed."
  924. else if arg-1 is "Carl":
  925. spawn 1 creeper at location of player
  926. set {_carl} to spawned creeper
  927. set name of last spawned entity to "&a&lCarl the Creeper"
  928. add "{NoAI:1b}" to nbt of {_carl}
  929. add "{powered:1}" to nbt of {_carl}
  930. apply slowness 255 to last spawned entity for 999 days
  931. set {kitnpc} to location of player
  932. send "&9Core Settings> &7Carl has been spawned in a fixed position at your current location."
  933. else if arg-1 is "admin":
  934. if arg-2 is set:
  935. set {mineplex.rank.%arg-2%} to "&4&lADMIN "
  936. set {_mineplex.setadmin.temp} to "%arg-2%" parsed as player
  937. execute console command "/__mp__dp__ %arg-2%"
  938. add "mineplex.trainee" to {_mineplex.setadmin.temp}'s permissions
  939. add "mineplex.mod" to {_mineplex.setadmin.temp}'s permissions
  940. add "mineplex.srmod" to {_mineplex.setadmin.temp}'s permissions
  941. add "mineplex.admin" to {_mineplex.setadmin.temp}'s permissions
  942. add "mineplex.legend" to {_mineplex.setadmin.temp}'s permissions
  943. add "mineplex.builder" to {_mineplex.setadmin.temp}'s permissions
  944. updateRankAPI({_mineplex.setadmin.temp})
  945. send "&9Core Settings> &7Temporarily added Admin permissions to %arg-2%."
  946. else:
  947. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  948. else if arg-1 is "TreasurePoint":
  949. if arg-2 is "1" or "2" or "3" or "4":
  950. set {mineplex.chestpoint.%arg-2%} to target block
  951. send "&9Core Settings> &7Treasure Point %arg-2% has been set to your targeted block."
  952. else:
  953. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  954. else if arg-1 is "TreasurePointSub":
  955. if arg-2 is "1" or "2" or "3" or "4":
  956. if arg-3 is "1" or "2" or "3" or "4" or "5" or "6" or "7" or "8":
  957. set {mineplex.chestpoint.%arg-2%.sub.%arg-3%} to target block
  958. send "&9Core Settings> &7Treasure Point Sub %arg-3% of Treasure Point %arg-2% has been set to your targeted block."
  959. else:
  960. 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"
  961. else:
  962. 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"
  963. else:
  964. send "&a"
  965. send "&9Core Settings> &7Listing Commands:"
  966. send "&4/Mineplex-Core Chat (True/False) &7Toggles the MCR Chat system to override the default chat system. &4Operator"
  967. send "&4/Mineplex-Core Admin (Player) &7Give the target administrator permissions temporarily. &4Operator"
  968. send "&4/Mineplex-Core News (True/False) &7Toggles whether the MCR News system is being used. &4Operator"
  969. send "&4/Mineplex-Core Scoreboard (True/False) &7Toggles whether the MCR Scoreboard is being used. &4Operator"
  970. send "&4/Mineplex-Core TreasurePoint (1/2/3/4) &7Sets the Treasure point to your targeted block. &4Operator"
  971. 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"
  972. send "&4/Mineplex-Core Carl &7Spawn Carl the Creeper in a fixed position at your current location. &4Operator"
  973. send "&4/Mineplex-Core TNT (True/False) &7Toggles the Throwing TNT Mechanics to be true or false. &4Operator"
  974. send "&4/Mineplex-Core purgehistory (player) &7Purges a player's punish history. &4Operator"
  975. send "&4/Mineplex-Core ForcefieldOff (Player) &7Forces a player to toggle off thier forcefield. &4Operator"
  976. send "&a"
  977.  
  978. command /help [<string>]:
  979. trigger:
  980. send "&9MCR> &7Please see &bhttps://github.com/WheezyGold7931/Mineplex-Core/wiki/Commands-and-Permissions &7for updated commands!"
  981.  
  982. command /recompile [<string>]:
  983. aliases: /rec
  984. permission: op
  985. permission message: &9Permissions> &7This requires Permission Rank [&9OP&7].
  986. trigger:
  987. if arg 1 is not set:
  988. broadcast "&9MCR> &7Mineplex Core &e{@MCRVER} &7will be recompiling in two seconds."
  989. wait 2 second
  990. player command "/sk reload Mineplex"
  991. else:
  992. if arg 1 is "-s":
  993. broadcast "&9MCR> &7Mineplex Core will be recompiling in two seconds. (Silent)"
  994. execute console command "/sk reload Mineplex"
  995.  
  996. command /rules:
  997. trigger:
  998. send "&9Rules> &7The rules can be found here: &a%{mineplex.config.ruleswebsite}%"
  999.  
  1000. #CarlBae
  1001.  
  1002. on load:
  1003. if {poll.id.last} is not set:
  1004. set {poll.id.last} to 0
  1005.  
  1006. on join:
  1007. set {_player} to "%player%"
  1008. replace all "s" in {_player} with "sssss"
  1009. send "&2&lCarl the Creeper> &aHey %{_player}%! I have sssome amazing rewardsss for you! Come sssee me!"
  1010. if {spintickets.%player%} is not set:
  1011. set {spintickets.%player%} to 0
  1012. if {mineplex.polltaken.0.%player%} is not set:
  1013. set {mineplex.polltaken.0.%player%} to true
  1014. if {mineplex.thankrewards.%player%} is not set:
  1015. set {mineplex.thankrewards.%player%} to 0
  1016.  
  1017. command /thank [<offline player>]:
  1018. trigger:
  1019. if arg 1 is set:
  1020. if arg 1 is player:
  1021. send "&9Thank> &7You cannot thank yourself!"
  1022. else:
  1023. if arg 1 is online:
  1024. if {mineplex.thank.last.%player%} is not set:
  1025. set {_good} to true
  1026. else:
  1027. set {_t} to difference between {mineplex.thank.last.%player%} and now
  1028. set {_tc} to "24 hours" parsed as a timespan
  1029. if {_t} is more than {_tc}:
  1030. set {_good} to true
  1031. if {_good} is true:
  1032. send "&9Thank> &7You thanked &e%arg-1% &7and earned &b5 Treasure Shards&7!"
  1033. 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
  1034. addShards(player, 5)
  1035. add 5 to {mineplex.thankrewards.%arg-1%}
  1036. set {mineplex.thank.last.%player%} to now
  1037. else:
  1038. send "&9Thank> &7You can only /thank once per day!"
  1039. stop
  1040. else:
  1041. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  1042. else:
  1043. send "&9Thank> &7Usage: &e/thank <player>"
  1044.  
  1045. function carlSpin(p: player) :: number:
  1046. if {spintickets.%{_p}%} >= 1:
  1047. remove 1 from {spintickets.%{_p}%}
  1048. wait 5 ticks
  1049. open chest with 3 rows named "Carl's Spinner" to {_p}
  1050. set {opener.%{_p}%} to true
  1051. loop 30 times:
  1052. inventory name of {_p}'s current inventory is "Carl's Spinner"
  1053. play "NOTE_PLING" to {_p} at volume 0.5
  1054. format slot 0 of {_p} with white stained glass pane to be unstealable
  1055. format slot 1 of {_p} with white glass to be unstealable
  1056. format slot 2 of {_p} with white glass to be unstealable
  1057. format slot 3 of {_p} with white glass to be unstealable
  1058. format slot 4 of {_p} with hopper to be unstealable
  1059. format slot 5 of {_p} with white glass to be unstealable
  1060. format slot 6 of {_p} with white glass to be unstealable
  1061. format slot 7 of {_p} with white glass to be unstealable
  1062. format slot 8 of {_p} with white stained glass pane to be unstealable
  1063. set {_randomint1.%{_p}%} to random integer between 95 and 375
  1064. format slot 9 of {_p} with prismarine shard named "&b%{_randomint1.%{_p}%}% Shards" to be unstealable
  1065. format slot 8 of {_p} with white stained glass pane to be unstealable
  1066. set {_randomint2.%{_p}%} to random integer between 95 and 375
  1067. format slot 10 of {_p} with prismarine shard named "&b%{_randomint2.%{_p}%}% Shards" to be unstealable
  1068. format slot 8 of {_p} with white stained glass pane to be unstealable
  1069. set {_randomint3.%{_p}%} to random integer between 95 and 375
  1070. format slot 11 of {_p} with prismarine shard named "&b%{_randomint3.%{_p}%}% Shards" to be unstealable
  1071. format slot 8 of {_p} with white stained glass pane to be unstealable
  1072. set {_randomint4.%{_p}%} to random integer between 95 and 375
  1073. format slot 12 of {_p} with prismarine shard named "&b%{_randomint4.%{_p}%}% Shards" to be unstealable
  1074. format slot 8 of {_p} with white stained glass pane to be unstealable
  1075. set {_randomint5.%{_p}%} to random integer between 95 and 375
  1076. format slot 13 of {_p} with prismarine shard named "&b%{_randomint5.%{_p}%}% Shards" to be unstealable
  1077. format slot 8 of {_p} with white stained glass pane to be unstealable
  1078. set {_randomint6.%{_p}%} to random integer between 95 and 375
  1079. format slot 14 of {_p} with prismarine shard named "&b%{_randomint6.%{_p}%}% Shards" to be unstealable
  1080. format slot 8 of {_p} with white stained glass pane to be unstealable
  1081. set {_randomint7.%{_p}%} to random integer between 95 and 375
  1082. format slot 15 of {_p} with prismarine shard named "&b%{_randomint7.%{_p}%}% Shards" to be unstealable
  1083. format slot 8 of {_p} with white stained glass pane to be unstealable
  1084. set {_randomint8.%{_p}%} to random integer between 95 and 375
  1085. format slot 16 of {_p} with prismarine shard named "&b%{_randomint8.%{_p}%}% Shards" to be unstealable
  1086. format slot 8 of {_p} with white stained glass pane to be unstealable
  1087. set {_randomint9.%{_p}%} to random integer between 95 and 375
  1088. format slot 17 of {_p} with prismarine shard named "&b%{_randomint9.%{_p}%}% Shards" to be unstealable
  1089. format slot 18 of {_p} with white stained glass pane to be unstealable
  1090. format slot 19 of {_p} with white glass to be unstealable
  1091. format slot 20 of {_p} with white glass to be unstealable
  1092. format slot 21 of {_p} with white glass to be unstealable
  1093. format slot 22 of {_p} with white glass to be unstealable
  1094. format slot 23 of {_p} with white glass to be unstealable
  1095. format slot 24 of {_p} with white glass to be unstealable
  1096. format slot 25 of {_p} with white glass to be unstealable
  1097. format slot 26 of {_p} with white stained glass pane to be unstealable
  1098. delete {_randomint1.%{_p}%}
  1099. delete {_randomint2.%{_p}%}
  1100. delete {_randomint3.%{_p}%}
  1101. delete {_randomint4.%{_p}%}
  1102. delete {_randomint6.%{_p}%}
  1103. delete {_randomint7.%{_p}%}
  1104. delete {_randomint8.%{_p}%}
  1105. delete {_randomint9.%{_p}%}
  1106. wait 0.2 seconds
  1107. send "&9Carl> &7You won &b%{_randomint5.%{_p}%}% Shards!" to {_p}
  1108. addShards({_p}, {_randomint5.%{_p}%})
  1109. wait 3 ticks
  1110. delete {_randomint5.%{_p}%}
  1111. delete {opener.%{_p}%}
  1112. wait 1 second
  1113. close {_p}'s inventory
  1114. else:
  1115. send "&9Carl's Spinner> &7You don't have a Carl Spinner Ticket!" to {_p}
  1116.  
  1117. function ytad(p: player) :: number:
  1118. message "&6&m=====================================" to {_p}
  1119. message "&b &f" to {_p}
  1120. message " &f&lClick to Open in Web Browser and claim your Reward!" to {_p}
  1121. message " &a&nhttps://www.youtube.com/channel/UCjQh27pdwqpWf4KqAFEacoA" to {_p}
  1122. message "&b &f" to {_p}
  1123. message "&6&m=====================================" to {_p}
  1124.  
  1125. function ytlink(p: player) :: number:
  1126. set {_t} to difference between {carl.ytr.%{_p}%} and now
  1127. set {_tc} to "1 day" parsed as a timespan
  1128. if {_t} is less than {_tc}:
  1129. message "&6&m=====================================" to {_p}
  1130. message "&b &f" to {_p}
  1131. message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
  1132. message " &a%{mineplex.config.youtube}%" to {_p}
  1133. message "&b &f" to {_p}
  1134. message "&6&m=====================================" to {_p}
  1135. stop
  1136. else:
  1137. set {carl.ytr.%{_p}%} to now
  1138. addShards({_p}, 250)
  1139. message "&6&m=====================================" to {_p}
  1140. message "&b &f" to {_p}
  1141. message " &f&lClick to Open in Web Browser and visit our YouTube page" to {_p}
  1142. message " &a%{mineplex.config.youtube}%" to {_p}
  1143. message "&b &f" to {_p}
  1144. message "&6&m=====================================" to {_p}
  1145. wait 60 seconds
  1146. message "&9Carl> &7Rewarded 250 Shards for watching the YouTube Video" to {_p}
  1147.  
  1148. function tlink(p: player) :: number:
  1149. message "&6&m=====================================" to {_p}
  1150. message "&b &f" to {_p}
  1151. message " &f&lClick to Open in Web Browser" to {_p}
  1152. message " &a%{mineplex.config.twitter}%" to {_p}
  1153. message "&b &f" to {_p}
  1154. message "&6&m=====================================" to {_p}
  1155.  
  1156. function dailyr(p: player) :: number:
  1157. set {_t} to difference between {carl.dr.%{_p}%} and now
  1158. set {_tc} to "20 hours" parsed as a timespan
  1159. if {_t} is less than {_tc}:
  1160. message "&9Carl> &7Come back in another 24 hours." to {_p}
  1161. stop
  1162. else:
  1163. message "&9Carl> &7Rewarded &e100 Treasure Shards" to {_p}
  1164. message "&9Carl> &7Rewarded &e100 Gems" to {_p}
  1165. message "&9Carl> &7Rewarded &e250 Experience" to {_p}
  1166. set {carl.dr.%{_p}%} to now
  1167. addShards({_p}, 100)
  1168. addGems({_p}, 100)
  1169. set {_cur} to getPlayerdata({_p}, "stats.global.dailyr") parsed as a number
  1170. add 1 to {_cur}
  1171. setPlayerdata({_p}, "stats.global.dailyr", "%{_cur}%")
  1172.  
  1173. function rawVote(p: player , v: number) :: number:
  1174. add 1 to {mineplex.poll.results.%{_v}%.%{poll.id.last}%}
  1175. set {mineplex.polltaken.%{poll.id.last}%.%{_p}%} to true
  1176. addGems({_p}, {mineplex.poll.gems.%{poll.id.last}%})
  1177. message "&9Carl> &7Rewarded &a%{mineplex.poll.gems.%{poll.id.last}%}% Gems&7." to {_p}
  1178.  
  1179. function pollVote(p: player) :: number:
  1180. open chest with 3 rows named "Carl's Spinner" to {_p}
  1181. wait 2 ticks
  1182. format slot 13 of {_p} with book and quill named "&a&lVote on Poll" with lore "&eOuestion:||&b%{mineplex.poll.question.%{poll.id.last}%}%|| ||&e&lReward: &f%{mineplex.poll.gems.%{poll.id.last}%}% Gems" to be unstealable
  1183. format slot 19 of {_p} with book named "&b&lOption 1" with lore "&eAnswer 1:||&f%{mineplex.poll.a1.%{poll.id.last}%}%" to close then run [rawVote({_p}, 1)]
  1184. format slot 21 of {_p} with book named "&b&lOption 2" with lore "&eAnswer 2:||&f%{mineplex.poll.a2.%{poll.id.last}%}%" to close then run [rawVote({_p}, 2)]
  1185. format slot 23 of {_p} with book named "&b&lOption 3" with lore "&eAnswer 3:||&f%{mineplex.poll.a3.%{poll.id.last}%}%" to close then run [rawVote({_p}, 3)]
  1186. format slot 25 of {_p} with book named "&b&lOption 4" with lore "&eAnswer 4:||&f%{mineplex.poll.a4.%{poll.id.last}%}%" to close then run [rawVote({_p}, 4)]
  1187.  
  1188. function claimThank(p: player) :: number:
  1189. set {_am} to {mineplex.thankrewards.%{_p}%}
  1190. set {_tp} to {_am} / 5
  1191. send "&9Carl> &7You collected &b%{_am}% Treasure Shards &7from &e%{_tp}% &7players!" to {_p}
  1192. set {mineplex.thankrewards.%{_p}%} to 0
  1193. set {_get} to getPlayerdata({_p}, "shards")
  1194. set {_cur} to {_get} parsed as a number
  1195. add {_am} to {_cur}
  1196. setPlayerdata({_p}, "shards", "%{_cur}%")
  1197.  
  1198. function carlGUI(p: player) :: number:
  1199. open chest with 5 rows named "%{_p}%'s Bonuses" to {_p}
  1200. wait 2 ticks
  1201. format slot 10 of {_p} with redstone block named "&cRank Monthly Bonus" with lore "||&7Players with a Rank get a Monthly Bonus!||&bUltra recieves absolutely nothing||&dHero recieves absolutely nothing||&aLegend recieves absolutely nothing||&cTitan recieves absolutely nothing||&fPurchase a Rank at;||&f%{mineplex.config.shoplink}%" to close
  1202. set {_t} to difference between {carl.dr.%{_p}%} and now
  1203. set {_tc} to "20 hours" parsed as a timespan
  1204. set {_mc} to {_tc} - {_t}
  1205. set {_st} to "%{_t}%"
  1206. set {_args::*} to {_st} split at " "
  1207. set {_num1} to "%{_args::1}%" parsed as an int
  1208. set {_num2} to 1200
  1209. set {_num3} to {_num2} - {_num1}
  1210. set {_hourconvert} to {_num3} / 60
  1211. set {_finalwait} to "%{_hourconvert}% hours"
  1212. if {_t} is less than {_tc}:
  1213. 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: 0||&eStreak Bonus: 5||&7||&eHighest Streak: &f1||&eStreak Reset: &f1.3 Days" to close
  1214. else:
  1215. 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})]
  1216. if {mineplex.polltaken.%{poll.id.last}%.%{_p}%} is set:
  1217. format slot 28 of {_p} with redstone block named "&cVote on Poll" with lore "||&fYou voted on all of the polls!" to close
  1218. else:
  1219. format slot 28 of {_p} with book and quill named "&a&lVote on Poll" with lore "&fClick to Vote || ||&eOuestion:||&b%{mineplex.poll.question.%{poll.id.last}%}%|| ||&e&lReward: &a%{mineplex.poll.gems.%{poll.id.last}%}% Gems" to run [pollVote({_p})]
  1220. if {mineplex.thankrewards.%{_p}%} is greater than 0:
  1221. 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})]
  1222. else:
  1223. 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
  1224. format slot 20 of {_p} with water bucket named "&e&lVisit us on Facebook" with lore "||&fWe don't have a facebook!" to close
  1225. 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
  1226. format slot 24 of {_p} with apple named "&a&lVisit our featured creator &6&lMCR" with lore "&eClaim a Daily Reward||&fby checking out the latest Video||&fby &6MCR&f!||||&fBe sure and Subscribe if you||&fenjoy their videos!||||&aClick to visit &6MCR &aon YouTube!" to close then run [ytad({_p})]
  1227. 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%{spintickets.%{_p}%}%" to close then run [carlSpin({_p})]
  1228. set {_t} to difference between {carl.ytr.%{_p}%} and now
  1229. set {_tc} to "1 day" parsed as a timespan
  1230. if {_t} is less than {_tc}:
  1231. format slot 22 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})]
  1232. else:
  1233. format slot 22 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})]
  1234. 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&lMake sure to have your AdBlocker disabled!||||&aClick to watch the Ad now!" to be unstealable
  1235. format slot 34 of {_p} with egg named "&a&lVisit us on Twitter" with lore "&fCheck out and follow Mineplex on||&fTwitter for Giveaways, Announcements,||&fTeasers, and Tips!||&b||&aClick to visit us on Twitter" to close then run [tlink({_p})]
  1236.  
  1237. command /poll [<text>] [<text>] [<text>] [<text>] [<text>] [<text>] [<integer>] [<string>]:
  1238. permission: mineplex.admin
  1239. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  1240. trigger:
  1241. if arg 1 is set:
  1242. if arg 1 is "create":
  1243. if arg 2 is set:
  1244. if arg 3 is set:
  1245. if arg 4 is set:
  1246. if arg 5 is set:
  1247. if arg 6 is set:
  1248. if arg 7 is set:
  1249. add 1 to {poll.id.last}
  1250. send "&9Poll> &7Rolling out poll with id &e%{poll.id.last}%&7!"
  1251. wait 1 second
  1252. set {_arg1} to arg 2
  1253. set {_arg2} to arg 3
  1254. set {_arg3} to arg 4
  1255. set {_arg4} to arg 5
  1256. set {_arg5} to arg 6
  1257. set {mineplex.poll.gems.%{poll.id.last}%} to "%arg 7%" parsed as an integer
  1258. replace every "_" with " " in {_arg1}
  1259. replace every "_" with " " in {_arg2}
  1260. replace every "_" with " " in {_arg3}
  1261. replace every "_" with " " in {_arg4}
  1262. replace every "_" with " " in {_arg5}
  1263. broadcast "&9Poll> &7A new poll is available! Vote in Carl!"
  1264. wait 0.5 seconds
  1265. send "&9Poll> &7The poll has been rolled out successfully!"
  1266. set {mineplex.poll.question.%{poll.id.last}%} to {_arg1}
  1267. set {mineplex.poll.a1.%{poll.id.last}%} to {_arg2}
  1268. set {mineplex.poll.a2.%{poll.id.last}%} to {_arg3}
  1269. set {mineplex.poll.a3.%{poll.id.last}%} to {_arg4}
  1270. set {mineplex.poll.a4.%{poll.id.last}%} to {_arg5}
  1271. set {mineplex.poll.results.1.%{poll.id.last}%} to 0
  1272. set {mineplex.poll.results.2.%{poll.id.last}%} to 0
  1273. set {mineplex.poll.results.3.%{poll.id.last}%} to 0
  1274. set {mineplex.poll.results.4.%{poll.id.last}%} to 0
  1275. else:
  1276. send "&9Poll> &7Correct Usage:"
  1277. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1278. send "&4/poll results [(id)] Admin"
  1279. send ""
  1280. send "&9Poll> &7Example:"
  1281. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111 Admin"
  1282. else:
  1283. send "&9Poll> &7Correct Usage:"
  1284. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1285. send "&4/poll results [(id)] Admin"
  1286. send ""
  1287. send "&9Poll> &7Example:"
  1288. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1289. else:
  1290. send "&9Poll> &7Correct Usage:"
  1291. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1292. send "&4/poll results [(id)] Admin"
  1293. send ""
  1294. send "&9Poll> &7Example:"
  1295. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1296. else:
  1297. send "&9Poll> &7Correct Usage:"
  1298. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1299. send "&4/poll results [(id)] Admin"
  1300. send ""
  1301. send "&9Poll> &7Example:"
  1302. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1303. else:
  1304. send "&9Poll> &7Correct Usage:"
  1305. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1306. send "&4/poll results [(id)] Admin"
  1307. send ""
  1308. send "&9Poll> &7Example:"
  1309. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1310. else:
  1311. send "&9Poll> &7Correct Usage:"
  1312. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4) (Gem Reward) Admin"
  1313. send "&4/poll results [(id)] Admin"
  1314. send ""
  1315. send "&9Poll> &7Example:"
  1316. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1317. else if arg 1 is "results":
  1318. if player has permission "mineplex.admin":
  1319. if arg 2 is not set:
  1320. open chest with 5 row named "Poll Results" to player
  1321. 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
  1322. 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
  1323. 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
  1324. 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
  1325. 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
  1326. 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
  1327. 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
  1328. 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
  1329. 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
  1330. else:
  1331. set {_id} to arg-2 parsed as a number
  1332. if {_id} is 0:
  1333. send "&9Poll> &cInvalid Poll ID!"
  1334. stop
  1335. if {_id} is greater than {poll.id.last}:
  1336. send "&9Poll> &cInvalid Poll ID!"
  1337. stop
  1338. if {_id} is not set:
  1339. send "&9Poll> &cInvalid Poll ID!"
  1340. stop
  1341. open chest with 5 row named "Poll Results" to player
  1342. 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
  1343. format slot 19 of player with book named "&b&lOption 1" with lore "&eAnswer 1:|| &f%{mineplex.poll.a1.%{_id}%}%" to be unstealable
  1344. format slot 21 of player with book named "&b&lOption 2" with lore "&eAnswer 2:|| &f%{mineplex.poll.a2.%{_id}%}%" to be unstealable
  1345. format slot 23 of player with book named "&b&lOption 3" with lore "&eAnswer 3:|| &f%{mineplex.poll.a3.%{_id}%}%" to be unstealable
  1346. format slot 25 of player with book named "&b&lOption 4" with lore "&eAnswer 4:|| &f%{mineplex.poll.a4.%{_id}%}%" to be unstealable
  1347. 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
  1348. 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
  1349. 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
  1350. 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
  1351. else:
  1352. send "&9Permissions> &7This requires Permission Rank [&9ADMIN&7]."
  1353. else:
  1354. send "&9Poll> &7Correct Usage:"
  1355. send "&4/poll create (Question) (Opt.1) (Opt.2) (Opt.3) (Opt.4 (Gem Reward) Admin"
  1356. send "&4/poll results [(id)] Admin"
  1357. send ""
  1358. send "&9Poll> &7Example:"
  1359. send "/poll create Is_Wheezy_Da_Best? Yes No He_Could_Be Ur_Funny 111"
  1360.  
  1361. command /animation:
  1362. permission: mineplex.dev
  1363. permission message: &9Permissions> &7This requires Permission Rank [&9DEV&7].
  1364. trigger:
  1365. loop all entities:
  1366. if name of loop-entity is "&a&lCarl the Creeper":
  1367. set {_e1} to loop-entity
  1368. exit loop
  1369. set {_loc} to location of {_e1}
  1370. add "{Fuse:999}" to nbt of {_e1}
  1371. add "{ignited:1}" to nbt of {_e1}
  1372. wait 1 second
  1373. loop all players:
  1374. show 1 "Explosion Huge" particles at {_loc} for loop-player
  1375. play raw sound "random.explode1" at {_e1} with pitch 1 volume 10
  1376. play raw sound "random.explode" at {_e1} with pitch 1 volume 10
  1377. wait 0.7 seconds
  1378. spawn 1 creeper at location of {_e1}
  1379. teleport {_e1} 100 blocks below {_e1}
  1380. kill {_e1}
  1381. set {_carl} to spawned creeper
  1382. set name of last spawned entity to "&a&lCarl the Creeper"
  1383. add "{NoAI:1b}" to nbt of {_carl}
  1384. add "{powered:1}" to nbt of {_carl}
  1385. apply slowness 255 to last spawned entity for 999 days
  1386.  
  1387. every 2 minutes:
  1388. execute console command "/animation" #Sue me
  1389.  
  1390. command /ticket [<offline player>] [<string>] [<string>]:
  1391. permission: mineplex.admin
  1392. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  1393. trigger:
  1394. if arg-1 is set:
  1395. if arg-2 is set:
  1396. set {_int} to arg-2 parsed as an int
  1397. if {_int} is an int:
  1398. send "&9Tickets> &7You gave &e%arg-2% &7Carl spin tickets to &e%arg-1%" to sender
  1399. send "&9Tickets> &7You recieved &e%arg 2% &7Carl spin tickets" to arg 1
  1400. add {_int} to {spintickets.%arg-1%}
  1401. else:
  1402. send "&9Tickets> &7Listing Commands"
  1403. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1404. else:
  1405. send "&9Tickets> &7Listing Commands"
  1406. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1407. else:
  1408. send "&9Tickets> &7Listing Commands"
  1409. send "&4/ticket <player> <amount> &7Give a player spin tickets &4Admin"
  1410.  
  1411. on inventory close:
  1412. if {opener.%player%} is true:
  1413. wait 2 ticks
  1414. open chest with 3 rows named "Carl's Spinner" to player
  1415.  
  1416. every second:
  1417. loop all entities:
  1418. name of loop-entity contains "&a&lCarl the Creeper"
  1419. teleport loop-entity to {kitnpc}
  1420.  
  1421. on damage:
  1422. name of victim contains "&a&lCarl the Creeper"
  1423. cancel event
  1424.  
  1425. on right click on entity:
  1426. if player is holding chest:
  1427. if name of player's tool is "&aCosmetic Menu":
  1428. stop
  1429. else:
  1430. send "&9MCR> &e##BlameWheezy"
  1431. else:
  1432. name of clicked entity contains "&a&lCarl the Creeper"
  1433. if {nospam.%player%} is true:
  1434. stop
  1435. else:
  1436. set {nospam.%player%} to true
  1437. carlGUI(player)
  1438. wait 1 second
  1439. set {nospam.%player%} to false
  1440.  
  1441. on death:
  1442. set {nospam.%victim%} to false
  1443.  
  1444. on join:
  1445. set {nospam.%player%} to false
  1446.  
  1447. #Broadcast System
  1448.  
  1449. every 10 seconds:
  1450. set {_check} to line 1 from url "https://pastebin.com/raw/8YXXWuiA"
  1451. if {mineplex.globalannounce.%{_check}%} is not set:
  1452. set {mineplex.globalannounce.%{_check}%} to true
  1453. set {_message} to line 1 from url "https://pastebin.com/raw/fGAUXi37"
  1454. send all players title "&eMCR Announcement" with subtitle "&f%{_message}%" for 10 seconds
  1455. broadcast "&9MCR Announcement> &b%{_message}%"
  1456.  
  1457. #Cosmetics
  1458. on join:
  1459. message "&9Cosmetics> &7You enabled all Previously enabled Cosmetics" to player
  1460.  
  1461. command /chestmeup:
  1462. trigger:
  1463. give player chest named "&aCosmetic Menu"
  1464.  
  1465. function cosmetic_system(arg1: text , arg2: text , p: player) :: number:
  1466. set {_wither} to "MHF_WSkeleton" parsed as a player
  1467. if {_arg1} is "menu":
  1468. if {_arg2} is "gadgets":
  1469. if {mineplex.%{_p}%.cosmetics.gadgets.pearl} is not set:
  1470. set {mineplex.%{_p}%.cosmetics.gadgets.pearl} to 0
  1471. if {mineplex.%{_p}%.cosmetics.gadgets.firework} is not set:
  1472. set {mineplex.%{_p}%.cosmetics.gadgets.firework} to 0
  1473. if {mineplex.%{_p}%.cosmetics.gadgets.coal} is not set:
  1474. set {mineplex.%{_p}%.cosmetics.gadgets.coal} to 0
  1475. if {mineplex.%{_p}%.cosmetics.gadgets.tnt} is not set:
  1476. set {mineplex.%{_p}%.cosmetics.gadgets.tnt} to 0
  1477. if {mineplex.%{_p}%.cosmetics.gadgets.snowball} is not set:
  1478. set {mineplex.%{_p}%.cosmetics.gadgets.snowball} to 0
  1479. wait 2 ticks
  1480. open chest with 6 rows named "Inventory" to {_p}
  1481. wait 4 ticks
  1482. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1483. 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})]
  1484. if {mineplex.gadget.selected.%{_p}%} is "pearl":
  1485. 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})]
  1486.  
  1487. 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})]
  1488. if {mineplex.gadget.selected.%{_p}%} is "firework":
  1489. 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})]
  1490. 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})]
  1491. if {mineplex.gadget.selected.%{_p}%} is "Snowball":
  1492. 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})]
  1493. if {mineplex.gadget.selected.%{_p}%} is "tnt":
  1494. 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})]
  1495. 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})]
  1496. if {mineplex.gadget.selected.%{_p}%} is "coal":
  1497. 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})]
  1498. if {_arg2} is "main":
  1499. if {mineplex.%{_p}%.cosmetics.morphs} is not set:
  1500. set {mineplex.%{_p}%.cosmetics.morphs} to 0
  1501. if {mineplex.%{_p}%.cosmetics.hats} is not set:
  1502. set {mineplex.%{_p}%.cosmetics.hats} to 0
  1503. wait 2 ticks
  1504. open chest with 6 rows named "Inventory" to {_p}
  1505. wait 4 ticks
  1506. format slot 9 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})]
  1507. format slot 11 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
  1508. format slot 13 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
  1509. format slot 15 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
  1510. format slot 4 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
  1511. format slot 17 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})]
  1512. format slot 27 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})]
  1513. format slot 29 of {_p} with iron horse armour 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 0/15 ||||&fActive: &eNone ||&aLeft-click to view category" to be unstealable
  1514. format slot 31 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})]
  1515. format slot 33 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})]
  1516. format slot 35 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
  1517. format slot 45 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
  1518. format slot 47 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
  1519. format slot 49 of {_p} with cake 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
  1520. format slot 51 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
  1521. format slot 53 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
  1522. if {_arg2} is "pets":
  1523. if {mineplex.%{_p}%.cosmetics.pets.ocelot} is not set:
  1524. set {mineplex.%{_p}%.cosmetics.pets.ocelot} to 0
  1525. if {mineplex.%{_p}%.cosmetics.pets.wolf} is not set:
  1526. set {mineplex.%{_p}%.cosmetics.pets.wolf} to 0
  1527. if {mineplex.%{_p}%.cosmetics.pets.chicken} is not set:
  1528. set {mineplex.%{_p}%.cosmetics.pets.chicken} to 0
  1529. wait 2 ticks
  1530. open chest with 6 rows named "Inventory" to {_p}
  1531. wait 4 ticks
  1532. format slot 4 of {_p} with bed item named "&7? Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1533. 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})]
  1534. 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})]
  1535. 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})]
  1536. 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})]
  1537. if {_arg2} is "morphs":
  1538. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not set:
  1539. set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 0
  1540. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not set:
  1541. set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 0
  1542. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not set:
  1543. set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 0
  1544. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not set:
  1545. set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 0
  1546. wait 2 ticks
  1547. open chest with 6 rows named "Inventory" to {_p}
  1548. wait 4 ticks
  1549. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1550. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 0:
  1551. 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})]
  1552. else:
  1553. 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})]
  1554. if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
  1555. 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})]
  1556. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 0:
  1557. 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})]
  1558. else:
  1559. 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})]
  1560. if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
  1561. 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})]
  1562. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 0:
  1563. 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})]
  1564. else:
  1565. 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})]
  1566. if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
  1567. 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})]
  1568. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 0:
  1569. format slot 13 of {_p} with gray dye named "&c&lCow Morph" with lore "||&7Moooo!||||&f&lCOST: &b6000 Treasure Shards" to close then run [cosmetic_system("buy", "morph_cow", {_p})]
  1570. else:
  1571. format slot 13 of {_p} with steak named "&a&lCow Morph" with lore "||&7Moooo!||||&aClick to enable." to close then run [cosmetic_system("use", "morph_cow", {_p})]
  1572. if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
  1573. 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})]
  1574. if {_p} has permission "mineplex.legend":
  1575. 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})]
  1576. if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
  1577. 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})]
  1578. else:
  1579. 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
  1580.  
  1581. if {_arg2} is "hats":
  1582. wait 2 ticks
  1583. open chest with 6 rows named "Inventory" to {_p}
  1584. wait 4 ticks
  1585. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1586. if {mineplex.hat.%{_p}%.owned.compCube} is not set:
  1587. set {mineplex.hat.%{_p}%.owned.compCube} to 0
  1588. if {mineplex.hat.%{_p}%.owned.present} is not set:
  1589. set {mineplex.hat.%{_p}%.owned.present} to 0
  1590. if {mineplex.hat.%{_p}%.owned.compCube} is 0:
  1591. 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
  1592. else:
  1593. 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})]
  1594. if {mineplex.hat.selected.%{_p}%} is "compCube":
  1595. 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})]
  1596. if {mineplex.hat.%{_p}%.owned.present} is 0:
  1597. 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
  1598. else:
  1599. 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})]
  1600. if {mineplex.hat.selected.%{_p}%} is "present":
  1601. 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})]
  1602. if {_arg2} is "particles":
  1603. wait 2 ticks
  1604. open chest with 6 rows named "Inventory" to {_p}
  1605. wait 4 ticks
  1606. format slot 4 of {_p} with bed item named "&7⇽ Go Back" to close then run [cosmetic_system("menu", "main", {_p})]
  1607. if {mineplex.particle.%{_p}%.owned.shadow} is not set:
  1608. set {mineplex.particle.%{_p}%.owned.shadow} to 0
  1609. if {mineplex.particle.%{_p}%.owned.shadow} is 0:
  1610. 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
  1611. else:
  1612. 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})]
  1613. if {mineplex.particle.selected.%{_p}%} is "shadow":
  1614. 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})]
  1615. if {mineplex.particle.%{_p}%.owned.flame} is 0:
  1616. 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
  1617. else:
  1618. 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})]
  1619. if {mineplex.particle.selected.%{_p}%} is "flame":
  1620. 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})]
  1621. if {_arg1} is "use":
  1622. if {_arg2} is "hat_compCube":
  1623. if {mineplex.hat.selected.%{_p}%} is "compCube":
  1624. wait 1 tick
  1625. message "&9Gadget> &7You unequipped &eCompanion Cube" to {_p}
  1626. set {mineplex.hat.selected.%{_p}%} to "none"
  1627. execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
  1628. cosmetic_system("menu", "hats", {_p})
  1629. stop
  1630. if {mineplex.hat.%{_p}%.owned.compCube} is 1:
  1631. wait 1 tick
  1632. 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==}]}}}"
  1633. message "&9Gadget> &7You equipped &eCompanion Cube" to {_p}
  1634. set {mineplex.hat.selected.%{_p}%} to "compCube"
  1635. cosmetic_system("menu", "hats", {_p})
  1636. if {_arg1} is "use":
  1637. if {_arg2} is "hat_present":
  1638. if {mineplex.hat.selected.%{_p}%} is "present":
  1639. message "&9Gadget> &7You unequipped &ePresent" to {_p}
  1640. set {mineplex.hat.selected.%{_p}%} to "none"
  1641. execute console command "/replaceitem entity %{_p}% slot.armor.head air 1 0"
  1642. cosmetic_system("menu", "hats", {_p})
  1643. stop
  1644. if {mineplex.hat.%{_p}%.owned.compCube} is 1:
  1645. 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=}]}}}"
  1646. message "&9Gadget> &7You equipped &ePresent" to {_p}
  1647. set {mineplex.hat.selected.%{_p}%} to "present"
  1648. cosmetic_system("menu", "hats", {_p})
  1649. if {_arg1} is "use":
  1650. if {_arg2} is "particle_shadow":
  1651. if {mineplex.particle.selected.%{_p}%} is "shadow":
  1652. message "&9Gadget> &7You unequipped &eShadow Walk" to {_p}
  1653. set {mineplex.particle.selected.%{_p}%} to "none"
  1654. cosmetic_system("menu", "particles", {_p})
  1655. stop
  1656. if {mineplex.particle.%{_p}%.owned.shadow} is 1:
  1657. message "&9Gadget> &7You equipped &eShadow Walk" to {_p}
  1658. set {mineplex.particle.selected.%{_p}%} to "shadow"
  1659. cosmetic_system("menu", "particles", {_p})
  1660. if {_arg2} is "particle_flame":
  1661. if {mineplex.particle.selected.%{_p}%} is "flame":
  1662. message "&9Gadget> &7You unequipped &eFlame Rings" to {_p}
  1663. set {mineplex.particle.selected.%{_p}%} to "none"
  1664. cosmetic_system("menu", "particles", {_p})
  1665. stop
  1666. if {mineplex.particle.%{_p}%.owned.flame} is 1:
  1667. message "&9Gadget> &7You equipped &eFlame Rings" to {_p}
  1668. set {mineplex.particle.selected.%{_p}%} to "flame"
  1669. cosmetic_system("menu", "particles", {_p})
  1670. if {_arg1} is "use":
  1671. if {_arg2} is "ocelot":
  1672. if {mineplex.pets.ocelot.active.%{_p}%} is not set:
  1673. set {mineplex.pets.ocelot.active.%{_p}%} to false
  1674. if {mineplex.pets.ocelot.active.%{_p}%} is false:
  1675. spawn a ocelot at {_p}
  1676. set {_ocelotpet} to the last spawned entity
  1677. add "{CustomName:&a%{_p}%'s&c Pet Cat}" to nbt of last spawned entity
  1678. add "{Silent:1}" to nbt of last spawned entity
  1679. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1680. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1681. tame {_ocelotpet} to {_p}
  1682. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  1683. set {mineplex.pets.ocelot.active.%{_p}%} to true
  1684. while {pet::%{_p}%} is alive:
  1685. wait 15 ticks
  1686. {_p} is online
  1687. if distance between {pet::%{_p}%} and {_p} is less than 5:
  1688. make {pet::%{_p}%} pathfind to {_p} with speed 1
  1689. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  1690. teleport {pet::%{_p}%} to {_p}
  1691. else:
  1692. make {pet::%{_p}%} pathfind to {_p} with speed 2
  1693. else:
  1694. if {mineplex.pets.ocelot.active.%{_p}%} is true:
  1695. kill {pet::%{_p}%}
  1696. delete {pet::%{_p}%}
  1697. set {mineplex.pets.ocelot.active.%{_p}%} to false
  1698. if {_arg1} is "use":
  1699. if {_arg2} is "wolf":
  1700. if {mineplex.pets.wolf.active.%{_p}%} is not set:
  1701. set {mineplex.pets.wolf.active.%{_p}%} to false
  1702. if {mineplex.pets.wolf.active.%{_p}%} is false:
  1703. spawn a wolf at {_p}
  1704. set {_ocelotpet} to the last spawned entity
  1705. add "{CustomName:&a%{_p}%'s&c Pet Wolf}" to nbt of last spawned entity
  1706. add "{Silent:1}" to nbt of last spawned entity
  1707. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1708. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1709. tame {_ocelotpet} to {_p}
  1710. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  1711. set {mineplex.pets.wolf.active.%{_p}%} to true
  1712. while {pet::%{_p}%} is alive:
  1713. wait 15 ticks
  1714. {_p} is online
  1715. if distance between {pet::%{_p}%} and {_p} is less than 5:
  1716. make {pet::%{_p}%} pathfind to {_p} with speed 1
  1717. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  1718. teleport {pet::%{_p}%} to {_p}
  1719. else:
  1720. make {pet::%{_p}%} pathfind to {_p} with speed 2
  1721. else:
  1722. if {mineplex.pets.wolf.active.%{_p}%} is true:
  1723. kill {pet::%{_p}%}
  1724. delete {pet::%{_p}%}
  1725. set {mineplex.pets.wolf.active.%{_p}%} to false
  1726. if {_arg1} is "use":
  1727. if {_arg2} is "chicken":
  1728. if {mineplex.pets.chicken.active.%{_p}%} is not set:
  1729. set {mineplex.pets.chicken.active.%{_p}%} to false
  1730. if {mineplex.pets.chicken.active.%{_p}%} is false:
  1731. spawn a chicken at {_p}
  1732. set {_ocelotpet} to the last spawned entity
  1733. add "{CustomName:&a%{_p}%'s&c Pet Chicken}" to nbt of last spawned entity
  1734. add "{Silent:1}" to nbt of last spawned entity
  1735. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1736. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1737. tame {_ocelotpet} to {_p}
  1738. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  1739. set {mineplex.pets.chicken.active.%{_p}%} to true
  1740. while {pet::%{_p}%} is alive:
  1741. wait 15 ticks
  1742. {_p} is online
  1743. if distance between {pet::%{_p}%} and {_p} is less than 5:
  1744. make {pet::%{_p}%} pathfind to {_p} with speed 1
  1745. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  1746. teleport {pet::%{_p}%} to {_p}
  1747. else:
  1748. make {pet::%{_p}%} pathfind to {_p} with speed 2
  1749. else:
  1750. if {mineplex.pets.chicken.active.%{_p}%} is true:
  1751. kill {pet::%{_p}%}
  1752. delete {pet::%{_p}%}
  1753. set {mineplex.pets.chicken.active.%{_p}%} to false
  1754. if {_arg1} is "use":
  1755. if {_arg2} is "guardian":
  1756. if {mineplex.pets.guardian.active.%{_p}%} is not set:
  1757. set {mineplex.pets.guardian.active.%{_p}%} to false
  1758. if {mineplex.pets.guardian.active.%{_p}%} is false:
  1759. spawn a guardian at {_p}
  1760. set {_ocelotpet} to the last spawned entity
  1761. add "{CustomName:&a%{_p}%'s&c Pet Guardian}" to nbt of last spawned entity
  1762. add "{Silent:1}" to nbt of last spawned entity
  1763. add "{CustomNameVisible:1}" to nbt of last spawned entity
  1764. add "{PersistenceRequired:1}" to nbt of last spawned entity
  1765. tame {_ocelotpet} to {_p}
  1766. evaluate "set {pet::%{_p}%} to {_ocelotpet}"
  1767. set {mineplex.pets.guardian.active.%{_p}%} to true
  1768. while {pet::%{_p}%} is alive:
  1769. wait 15 ticks
  1770. {_p} is online
  1771. if distance between {pet::%{_p}%} and {_p} is less than 5:
  1772. make {pet::%{_p}%} pathfind to {_p} with speed 1
  1773. else if distance between {pet::%{_p}%} and {_p} is more than 15:
  1774. teleport {pet::%{_p}%} to {_p}
  1775. else:
  1776. make {pet::%{_p}%} pathfind to {_p} with speed 2
  1777. else:
  1778. if {mineplex.pets.guardian.active.%{_p}%} is true:
  1779. kill {pet::%{_p}%}
  1780. delete {pet::%{_p}%}
  1781. set {mineplex.pets.guardian.active.%{_p}%} to false
  1782. if {_arg1} is "use":
  1783. if {_arg2} is "coal":
  1784. if {mineplex.gadget.selected.%{_p}%} is "coal":
  1785. message "&9Gadget> &7You unequipped &eCoal" to {_p}
  1786. set {mineplex.gadget.selected.%{_p}%} to "none"
  1787. set slot 3 of {_p} to air with name "lolz"
  1788. cosmetic_system("menu", "gadgets", {_p})
  1789. stop
  1790. message "&9Gadget> &7You equipped &eCoal" to {_p}
  1791. set {mineplex.gadget.selected.%{_p}%} to "coal"
  1792. set slot 3 of {_p} to coal with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.coal}% Coal"
  1793. cosmetic_system("menu", "gadgets", {_p})
  1794. stop
  1795. if {_arg1} is "buy":
  1796. wait 2 ticks
  1797. open chest with 6 rows named " Confirmation" to {_p}
  1798. wait 2 ticks
  1799. 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
  1800. format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
  1801. format slot 27 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1802. format slot 28 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1803. format slot 29 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1804. format slot 36 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1805. format slot 37 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1806. format slot 38 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1807. format slot 45 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1808. format slot 46 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1809. format slot 47 of {_p} with emerald block named "&aOK" with lore "" to close then run [cosmetic_system("confirm", {_arg2}, {_p})]
  1810. format slot 33 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1811. format slot 34 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1812. format slot 35 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1813. format slot 42 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1814. format slot 43 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1815. format slot 44 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1816. format slot 51 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1817. format slot 52 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1818. format slot 53 of {_p} with redstone block named "&cCANCEL" with lore "" to close then run [cosmetic_system("menu", "main", {_p})]
  1819. #Morphs
  1820. if {_arg2} is "morph_creeper":
  1821. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  1822. message "&9Gadget> &7You allready own this morph!" to {_p}
  1823. else:
  1824. format slot 22 of {_p} with gunpowder named "&fCreeper Morph" with lore "&fHissssss!" to be unstealable
  1825. 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
  1826. if {_arg2} is "morph_cow":
  1827. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  1828. message "&9Gadget> &7You allready own this morph!" to {_p}
  1829. else:
  1830. 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
  1831. format slot 22 of {_p} with steak named "&fCow Morph" with lore "&fMooooo!" to be unstealable
  1832. if {_arg2} is "morph_slime":
  1833. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
  1834. message "&9Gadget> &7You allready own this morph!" to {_p}
  1835. else:
  1836. 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
  1837. format slot 22 of {_p} with slimeball named "&fSlime Morph" with lore "&fSplat Splat!" to be unstealable
  1838. if {_arg2} is "morph_villager":
  1839. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
  1840. message "&9Gadget> &7You allready own this morph!" to {_p}
  1841. else:
  1842. 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
  1843. format slot 22 of {_p} with emerald named "&fVillager Morph" with lore "&fMURRR! HURR MURRR!" to be unstealable
  1844. #Gadgets
  1845. if {_arg2} is "pearl":
  1846. 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
  1847. format slot 22 of {_p} with ender pearl named "&fEthereal Pearl" with lore "&fThese Pearls are stolen from||&fsleeping Endermen!" to be unstealable
  1848. if {_arg2} is "firework":
  1849. 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
  1850. format slot 22 of {_p} with firework rocket named "&fFirework" with lore "&fNeed to celebrate? These||&fFireworks should do the trick!" to be unstealable
  1851. if {_arg2} is "tnt":
  1852. 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
  1853. format slot 22 of {_p} with tnt named "&fTNT" with lore "&fThowing tnt at %{mineplex.config.servername}%||&fStaff is highly encouraged!" to be unstealable
  1854. if {_arg1} is "confirm":
  1855. if {_arg2} is "morph_creeper":
  1856. if {mineplex.shards.%{_p}%} is bigger than 9999:
  1857. set {mineplex.proc.slot} to 45
  1858. wait 2 ticks
  1859. open chest with 6 rows named " Confirmation" to {_p}
  1860. loop 9 times:
  1861. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  1862. wait 1 tick
  1863. add 1 to {mineplex.proc.slot}
  1864. if {mineplex.proc.slot} is 54:
  1865. message "&9Cosmetics> &7Purchased &eCreeper Morph" to {mineplex.chest.buyplayer.%{_p}%}
  1866. set {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} to 1
  1867. delShards({_p}, 10000)
  1868. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  1869. set {mineplex.error.slot} to 0
  1870. loop 54 times:
  1871. 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})]
  1872. add 1 to {mineplex.error.slot}
  1873. wait 2 ticks
  1874. stop
  1875. if {mineplex.shards.%{_p}%} is not bigger than 9999:
  1876. wait 2 ticks
  1877. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  1878. set {mineplex.error.slot} to 0
  1879. loop 54 times:
  1880. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  1881. add 1 to {mineplex.error.slot}
  1882. if {_arg1} is "use":
  1883. if {_arg2} is "morph_creeper":
  1884. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is not 1:
  1885. message "&9Gadget> &7You dont own this morph." to {_p}
  1886. stop
  1887. if {mineplex.%{_p}%.cosmetics.morphs.owned.creeper} is 1:
  1888. if {mineplex.currentmorph.%{_p}%} is not set:
  1889. set {mineplex.currentmorph.%{_p}%} to "None"
  1890. if {mineplex.currentmorph.%{_p}%} is not "Creeper Morph":
  1891. if {mineplex.currentmorph.%{_p}%} is not "None":
  1892. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1893. message "&9Gadget> &7You morphed into &eCreeper Morph" to {_p}
  1894. set {mineplex.currentmorph.%{_p}%} to "Creeper Morph"
  1895. execute console command "odisguise %{_p}% creeper"
  1896. cosmetic_system("menu", "morphs", {_p})
  1897. stop
  1898. if {mineplex.currentmorph.%{_p}%} is "Creeper Morph":
  1899. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1900. set {mineplex.currentmorph.%{_p}%} to "None"
  1901. execute console command "undisguise %{_p}%"
  1902. cosmetic_system("menu", "morphs", {_p})
  1903. stop
  1904. if {_arg1} is "use":
  1905. if {_arg2} is "morph_wither":
  1906. if {_p} has permission "mineplex.legend":
  1907. if {mineplex.currentmorph.%{_p}%} is not set:
  1908. set {mineplex.currentmorph.%{_p}%} to "None"
  1909. if {mineplex.currentmorph.%{_p}%} is not "Wither Morph":
  1910. if {mineplex.currentmorph.%{_p}%} is not "None":
  1911. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1912. message "&9Gadget> &7You morphed into &eWither Morph" to {_p}
  1913. set {mineplex.currentmorph.%{_p}%} to "Wither Morph"
  1914. execute console command "odisguise %{_p}% wither"
  1915. set {mineplex.dj.%{_p}%} to 0
  1916. set {_p}'s flight state to true
  1917. cosmetic_system("menu", "morphs", {_p})
  1918. stop
  1919. if {mineplex.currentmorph.%{_p}%} is "Wither Morph":
  1920. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1921. set {mineplex.currentmorph.%{_p}%} to "None"
  1922. execute console command "undisguise %{_p}%"
  1923. set {mineplex.dj.%{_p}%} to 1
  1924. set {_p}'s flight state to false
  1925. cosmetic_system("menu", "morphs", {_p})
  1926. stop
  1927. else:
  1928. message "&9Gadget> &7You dont own this Morph" to {_p}
  1929. if {_arg1} is "confirm":
  1930. if {_arg2} is "morph_cow":
  1931. if {mineplex.shards.%{_p}%} is bigger than 5999:
  1932. set {mineplex.proc.slot} to 45
  1933. wait 2 ticks
  1934. open chest with 6 rows named " Confirmation" to {_p}
  1935. loop 9 times:
  1936. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  1937. wait 1 tick
  1938. add 1 to {mineplex.proc.slot}
  1939. if {mineplex.proc.slot} is 54:
  1940. message "&9Cosmetics> &7Purchased &eCow Morph" to {mineplex.chest.buyplayer.%{_p}%}
  1941. set {mineplex.%{_p}%.cosmetics.morphs.owned.cow} to 1
  1942. delShards({_p}, 6000)
  1943. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  1944. set {mineplex.error.slot} to 0
  1945. loop 54 times:
  1946. 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})]
  1947. add 1 to {mineplex.error.slot}
  1948. wait 2 ticks
  1949. stop
  1950. if {mineplex.shards.%{_p}%} is not bigger than 9999:
  1951. wait 2 ticks
  1952. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  1953. set {mineplex.error.slot} to 0
  1954. loop 54 times:
  1955. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  1956. add 1 to {mineplex.error.slot}
  1957. if {_arg1} is "use":
  1958. if {_arg2} is "morph_cow":
  1959. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is not 1:
  1960. message "&9Gadget> &7You dont own this morph." to {_p}
  1961. stop
  1962. if {mineplex.%{_p}%.cosmetics.morphs.owned.cow} is 1:
  1963. if {mineplex.currentmorph.%{_p}%} is not set:
  1964. set {mineplex.currentmorph.%{_p}%} to "None"
  1965. if {mineplex.currentmorph.%{_p}%} is not "Cow Morph":
  1966. if {mineplex.currentmorph.%{_p}%} is not "None":
  1967. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1968. message "&9Gadget> &7You morphed into &eCow Morph" to {_p}
  1969. set {mineplex.currentmorph.%{_p}%} to "Cow Morph"
  1970. execute console command "odisguise %{_p}% cow"
  1971. cosmetic_system("menu", "morphs", {_p})
  1972. stop
  1973. if {mineplex.currentmorph.%{_p}%} is "Cow Morph":
  1974. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  1975. set {mineplex.currentmorph.%{_p}%} to "None"
  1976. execute console command "undisguise %{_p}%"
  1977. cosmetic_system("menu", "morphs", {_p})
  1978. stop
  1979. if {_arg1} is "confirm":
  1980. if {_arg2} is "morph_slime":
  1981. if {mineplex.shards.%{_p}%} is bigger than 19999:
  1982. set {mineplex.proc.slot} to 45
  1983. wait 2 ticks
  1984. open chest with 6 rows named " Confirmation" to {_p}
  1985. loop 9 times:
  1986. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  1987. wait 1 tick
  1988. add 1 to {mineplex.proc.slot}
  1989. if {mineplex.proc.slot} is 54:
  1990. message "&9Cosmetics> &7Purchased &eSlime Morph" to {mineplex.chest.buyplayer.%{_p}%}
  1991. set {mineplex.%{_p}%.cosmetics.morphs.owned.slime} to 1
  1992. delShards({_p}, 20000)
  1993. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  1994. set {mineplex.error.slot} to 0
  1995. loop 54 times:
  1996. 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})]
  1997. add 1 to {mineplex.error.slot}
  1998. wait 2 ticks
  1999. stop
  2000. if {mineplex.shards.%{_p}%} is not bigger than 19999:
  2001. wait 2 ticks
  2002. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2003. set {mineplex.error.slot} to 0
  2004. loop 54 times:
  2005. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2006. add 1 to {mineplex.error.slot}
  2007. if {_arg1} is "use":
  2008. if {_arg2} is "morph_slime":
  2009. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is not 1:
  2010. message "&9Gadget> &7You dont own this morph." to {_p}
  2011. stop
  2012. if {mineplex.%{_p}%.cosmetics.morphs.owned.slime} is 1:
  2013. if {mineplex.currentmorph.%{_p}%} is not set:
  2014. set {mineplex.currentmorph.%{_p}%} to "None"
  2015. if {mineplex.currentmorph.%{_p}%} is not "Slime Morph":
  2016. if {mineplex.currentmorph.%{_p}%} is not "None":
  2017. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2018. message "&9Gadget> &7You morphed into &eSlime Morph" to {_p}
  2019. set {mineplex.currentmorph.%{_p}%} to "Slime Morph"
  2020. execute console command "odisguise %{_p}% slime"
  2021. cosmetic_system("menu", "morphs", {_p})
  2022. stop
  2023. if {mineplex.currentmorph.%{_p}%} is "Slime Morph":
  2024. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2025. set {mineplex.currentmorph.%{_p}%} to "None"
  2026. execute console command "undisguise %{_p}%"
  2027. cosmetic_system("menu", "morphs", {_p})
  2028. stop
  2029. if {_arg1} is "confirm":
  2030. if {_arg2} is "morph_villager":
  2031. if {mineplex.shards.%{_p}%} is bigger than 11999:
  2032. set {mineplex.proc.slot} to 45
  2033. wait 2 ticks
  2034. open chest with 6 rows named " Confirmation" to {_p}
  2035. loop 9 times:
  2036. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2037. wait 1 tick
  2038. add 1 to {mineplex.proc.slot}
  2039. if {mineplex.proc.slot} is 54:
  2040. message "&9Cosmetics> &7Purchased &eVillager Morph" to {mineplex.chest.buyplayer.%{_p}%}
  2041. set {mineplex.%{_p}%.cosmetics.morphs.owned.villager} to 1
  2042. delShards({_p}, 12000)
  2043. add 1 to {mineplex.%{_p}%.cosmetics.morphs}
  2044. set {mineplex.error.slot} to 0
  2045. loop 54 times:
  2046. 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})]
  2047. add 1 to {mineplex.error.slot}
  2048. wait 2 ticks
  2049. stop
  2050. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2051. wait 3 ticks
  2052. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2053. wait 2 ticks
  2054. set {mineplex.error.slot} to 0
  2055. loop 54 times:
  2056. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "morphs", {_p})]
  2057. add 1 to {mineplex.error.slot}
  2058. if {_arg1} is "use":
  2059. if {_arg2} is "morph_villager":
  2060. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is not 1:
  2061. message "&9Gadget> &7You dont own this morph." to {_p}
  2062. stop
  2063. if {mineplex.%{_p}%.cosmetics.morphs.owned.villager} is 1:
  2064. if {mineplex.currentmorph.%{_p}%} is not set:
  2065. set {mineplex.currentmorph.%{_p}%} to "None"
  2066. if {mineplex.currentmorph.%{_p}%} is not "villager Morph":
  2067. if {mineplex.currentmorph.%{_p}%} is not "None":
  2068. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2069. message "&9Gadget> &7You morphed into &eVillager Morph" to {_p}
  2070. set {mineplex.currentmorph.%{_p}%} to "Villager Morph"
  2071. execute console command "odisguise %{_p}% villager"
  2072. cosmetic_system("menu", "morphs", {_p})
  2073. stop
  2074. if {mineplex.currentmorph.%{_p}%} is "Villager Morph":
  2075. message "&9Gadget> &7You unmorphed from &e%{mineplex.currentmorph.%{_p}%}%" to {_p}
  2076. set {mineplex.currentmorph.%{_p}%} to "None"
  2077. execute console command "undisguise %{_p}%"
  2078. cosmetic_system("menu", "morphs", {_p})
  2079. stop
  2080. if {_arg1} is "use":
  2081. if {_arg2} is "pearl":
  2082. if {mineplex.gadget.selected.%{_p}%} is "Ethereal Pearl":
  2083. message "&9Gadget> &7You unequipped &eEthereal Pearl" to {_p}
  2084. set {mineplex.gadget.selected.%{_p}%} to "None"
  2085. set slot 3 of {_p} to air with name "lolz"
  2086. cosmetic_system("menu", "gadgets", {_p})
  2087. stop
  2088. message "&9Cosmetics> &7You equipped &eEthereal Pearl" to {_p}
  2089. set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.pearl}% &5Ethereal Pearls"
  2090. set {mineplex.gadget.selected.%{_p}%} to "Ethereal Pearl"
  2091. cosmetic_system("menu", "gadgets", {_p})
  2092. stop
  2093. if {_arg1} is "confirm":
  2094. if {_arg2} is "pearl":
  2095. if {mineplex.shards.%{_p}%} is bigger than 499:
  2096. set {mineplex.proc.slot} to 45
  2097. wait 2 ticks
  2098. open chest with 6 rows named " Confirmation" to {_p}
  2099. loop 9 times:
  2100. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2101. wait 1 tick
  2102. add 1 to {mineplex.proc.slot}
  2103. if {mineplex.proc.slot} is 54:
  2104. message "&9Cosmetics> &7Purchased 50x &eEthereal Pearl" to {mineplex.chest.buyplayer.%{_p}%}
  2105. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.pearl}
  2106. delShards({_p}, 50)
  2107. set {mineplex.error.slot} to 0
  2108. loop 54 times:
  2109. 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})]
  2110. add 1 to {mineplex.error.slot}
  2111. wait 2 ticks
  2112. stop
  2113. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2114. wait 2 ticks
  2115. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2116. set {mineplex.error.slot} to 0
  2117. loop 54 times:
  2118. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2119. add 1 to {mineplex.error.slot}
  2120. if {_arg1} is "use":
  2121. if {_arg2} is "firework":
  2122. if {mineplex.gadget.selected.%{_p}%} is "Fireworks":
  2123. message "&9Gadget> &7You unequipped &eFireworks" to {_p}
  2124. set {mineplex.gadget.selected.%{_p}%} to "None"
  2125. set slot 3 of {_p} to air with name "lolz"
  2126. cosmetic_system("menu", "gadgets", {_p})
  2127. stop
  2128. message "&9Gadget> &7You equipped &eFireworks" to {_p}
  2129. set slot 3 of {_p} to ender pearl with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.firework}% &eFireworks"
  2130. set {mineplex.gadget.selected.%{_p}%} to "Fireworks"
  2131. cosmetic_system("menu", "gadgets", {_p})
  2132. stop
  2133. if {_arg1} is "use":
  2134. if {_arg2} is "tnt":
  2135. if {mineplex.gadget.selected.%{_p}%} is "TNT":
  2136. message "&9Gadget> &7You unequipped &eTNT" to {_p}
  2137. set {mineplex.gadget.selected.%{_p}%} to "None"
  2138. set slot 3 of {_p} to air with name "lolz"
  2139. cosmetic_system("menu", "gadgets", {_p})
  2140. stop
  2141. message "&9Gadget> &7You equipped &eTNT" to {_p}
  2142. set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.tnt}% &eTNT"
  2143. set {mineplex.gadget.selected.%{_p}%} to "TNT"
  2144. cosmetic_system("menu", "gadgets", {_p})
  2145. if {_arg1} is "use":
  2146. if {_arg2} is "snowball":
  2147. if {mineplex.gadget.selected.%{_p}%} is "Snowball":
  2148. message "&9Gadget> &7You unequipped &eSnowball" to {_p}
  2149. set {mineplex.gadget.selected.%{_p}%} to "None"
  2150. set slot 3 of {_p} to air with name "lolz"
  2151. cosmetic_system("menu", "gadgets", {_p})
  2152. stop
  2153. message "&9Gadget> &7You equipped &eSnowball" to {_p}
  2154. set slot 3 of {_p} to tnt with name "&e%{mineplex.%{_p}%.cosmetics.gadgets.snowball}% &eSnowballs"
  2155. set {mineplex.gadget.selected.%{_p}%} to "Snowball"
  2156. cosmetic_system("menu", "gadgets", {_p})
  2157. if {_arg1} is "confirm":
  2158. if {_arg2} is "firework":
  2159. if {mineplex.shards.%{_p}%} is bigger than 499:
  2160. set {mineplex.proc.slot} to 45
  2161. wait 2 ticks
  2162. open chest with 6 rows named " Confirmation" to {_p}
  2163. loop 9 times:
  2164. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2165. wait 1 tick
  2166. add 1 to {mineplex.proc.slot}
  2167. if {mineplex.proc.slot} is 54:
  2168. message "&9Cosmetics> &7Purchased 50x &eFireworks" to {_p}
  2169. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.firework}
  2170. delShards({_p}, 500)
  2171. set {mineplex.error.slot} to 0
  2172. loop 54 times:
  2173. 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})]
  2174. add 1 to {mineplex.error.slot}
  2175. wait 2 ticks
  2176. stop
  2177. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2178. wait 2 ticks
  2179. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2180. set {mineplex.error.slot} to 0
  2181. loop 54 times:
  2182. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2183. add 1 to {mineplex.error.slot}
  2184. if {_arg1} is "confirm":
  2185. if {_arg2} is "tnt":
  2186. if {mineplex.shards.%{_p}%} is bigger than 499:
  2187. set {mineplex.proc.slot} to 45
  2188. wait 2 ticks
  2189. open chest with 6 rows named " Confirmation" to {_p}
  2190. loop 9 times:
  2191. format slot {mineplex.proc.slot} of {_p} with lapis block named "&9Processing" with lore "" to close
  2192. wait 1 tick
  2193. add 1 to {mineplex.proc.slot}
  2194. if {mineplex.proc.slot} is 54:
  2195. message "&9Cosmetics> &7Purchased 50x &eTNT" to {_p}
  2196. add 50 to {mineplex.%{_p}%.cosmetics.gadgets.tnt}
  2197. delShards({_p}, 500)
  2198. set {mineplex.error.slot} to 0
  2199. loop 54 times:
  2200. 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})]
  2201. add 1 to {mineplex.error.slot}
  2202. wait 2 ticks
  2203. stop
  2204. if {mineplex.shards.%{_p}%} is not bigger than 499:
  2205. wait 2 ticks
  2206. open chest with 6 rows named " Confirmation" to {mineplex.chest.buyplayer.%{_p}%}
  2207. set {mineplex.error.slot} to 0
  2208. loop 54 times:
  2209. format slot {mineplex.error.slot} of {_p} with redstone block named "&cPurchase Failed" with lore "" to close then run [cosmetic_system("menu", "gadgets", {_p})]
  2210. add 1 to {mineplex.error.slot}
  2211.  
  2212. on right click:
  2213. if player is holding chest:
  2214. if name of player's tool is "&aCosmetic Menu":
  2215. cancel event
  2216. cosmetic_system("menu", "main", player)
  2217.  
  2218. on left click:
  2219. if player is holding chest:
  2220. if name of player's tool is "&aCosmetic Menu":
  2221. cancel event
  2222. cosmetic_system("menu", "main", player)
  2223.  
  2224. on damage:
  2225. victim's name contains "Pet"
  2226. cancel event
  2227.  
  2228. on any move:
  2229. if {mineplex.particle.selected.%player%} is "shadow":
  2230. loop all players:
  2231. show 1 "footstep" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
  2232. if {mineplex.particle.selected.%player%} is "flame":
  2233. loop all players:
  2234. show 1 "flame" particles at location of player for loop-player offset by 0.4, 0.7, 0.4
  2235.  
  2236. command /giveitem <player> <number> <text>:
  2237. permission: mineplex.admin
  2238. permission message: &9Permissions> &7This requires permission rank [&9ADMIN&7].
  2239. trigger:
  2240. if arg 3 is "hat_compCube":
  2241. if {mineplex.hat.%arg 1%.owned.compCube} is 1:
  2242. message "&9Cosmetics> &e%arg 1% &7allready owns &eCompanion Cube"
  2243. stop
  2244. set {mineplex.hat.%arg 1%.owned.compCube} to 1
  2245. add 1 to {mineplex.%arg 1%.cosmetics.hats}
  2246. message "&9Cosmetics> &7You gave &e%arg 1% Companion Cube" to player
  2247. message "&9Cosmetics> &7You recieved the &eCompanion Cube &7from &e%player%" to arg 1
  2248. stop
  2249. if arg 3 is "hat_present":
  2250. if {mineplex.hat.%arg 1%.owned.present} is 1:
  2251. message "&9Cosmetics> &e%arg 1% &7allready owns &ePresent"
  2252. stop
  2253. set {mineplex.hat.%arg 1%.owned.present} to 1
  2254. add 1 to {mineplex.%arg 1%.cosmetics.hats}
  2255. message "&9Cosmetics> &7You gave &e%arg 1% Present" to player
  2256. message "&9Cosmetics> &7You recieved the &ePresent &7from &e%player%" to arg 1
  2257. stop
  2258. if arg 3 is "particle_shadow":
  2259. if {mineplex.particle.%arg 1%.owned.shadow} is 1:
  2260. message "&9Cosmetics> &e%arg 1% &7allready owns &eShadow Walk"
  2261. stop
  2262. set {mineplex.particle.%arg 1%.owned.shadow} to 1
  2263. add 1 to {mineplex.%arg 1%.cosmetics.particles}
  2264. message "&9Cosmetics> &7You gave &e%arg 1% Shadow Walk" to player
  2265. message "&9Cosmetics> &7You recieved the &eShadow Walk &7from &e%player%" to arg 1
  2266. stop
  2267. if arg 3 is "particle_flame":
  2268. if {mineplex.particle.%arg 1%.owned.flame} is 1:
  2269. message "&9Cosmetics> &e%arg 1% &7allready owns &eShadow Walk"
  2270. stop
  2271. set {mineplex.particle.%arg 1%.owned.flame} to 1
  2272. add 1 to {mineplex.%arg 1%.cosmetics.particles}
  2273. message "&9Cosmetics> &7You gave &e%arg 1% Flame Rings" to player
  2274. message "&9Cosmetics> &7You recieved the &eFlame Rings &7from &e%player%" to arg 1
  2275. stop
  2276. if arg 3 is "take:hat_compCube":
  2277. if {mineplex.hat.%arg 1%.owned.compCube} is 0:
  2278. message "&9Cosmetics> &e%arg 1% &7doesnt own &eCompanion Cube"
  2279. stop
  2280. set {mineplex.hat.%arg 1%.owned.compCube} to 0
  2281. remove 1 from {mineplex.%arg 1%.cosmetics.hats}
  2282. message "&9Cosmetics> &7You took &e%arg 1%'s Companion Cube" to player
  2283. message "&9Cosmetics> &e%player% &7took your &eCompanion Cube" to arg 1
  2284. stop
  2285. if arg 3 is "take:hat_present":
  2286. if {mineplex.hat.%arg 1%.owned.present} is 0:
  2287. message "&9Cosmetics> &e%arg 1% &7doesnt own &ePresent"
  2288. stop
  2289. set {mineplex.hat.%arg 1%.owned.present} to 0
  2290. remove 1 from {mineplex.%arg 1%.cosmetics.hats}
  2291. message "&9Cosmetics> &7You took &e%arg 1%'s Present" to player
  2292. message "&9Cosmetics> &e%player% &7took your &ePresent" to arg 1
  2293. stop
  2294. if arg 3 is "pearl":
  2295. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.pearl}
  2296. message "&9Item> &7You gave %arg 2% Ethereal Pearls &7to player %arg 1%" to player
  2297. message "&9Item> &e%player% &7gave you &e%arg 2% Ethereal Pearls" to arg 1
  2298. stop
  2299. if arg 3 is "fireworks":
  2300. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.firework}
  2301. message "&9Item> &7You gave %arg 2% Fireworks &7to player %arg 1%" to player
  2302. message "&9Item> &e%player% &7gave you &e%arg 2% Fireworks" to arg 1
  2303. stop
  2304. if arg 3 is "coal":
  2305. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.coal}
  2306. message "&9Item> &7You gave %arg 2% Coal &7to player %arg 1%" to player
  2307. message "&9Item> &e%player% &7gave you &e%arg 2% Coal" to arg 1
  2308. stop
  2309. if arg 3 is "tnt":
  2310. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.tnt}
  2311. message "&9Item> &7You gave %arg 2% TNT &7to player %arg 1%" to player
  2312. message "&9Item> &e%player% &7gave you &e%arg 2% TNT" to arg 1
  2313. stop
  2314. if arg 3 is "snowball":
  2315. add arg 2 to {mineplex.%arg 1%.cosmetics.gadgets.snowball}
  2316. message "&9Item> &7You gave %arg 2% Snowballs &7to player %arg 1%" to player
  2317. message "&9Item> &e%player% &7gave you &e%arg 2% Snowballs" to arg 1
  2318. stop
  2319. message "&9Cosmetics> &c&lInvalid Cosmetic."
  2320.  
  2321.  
  2322. command /gadget:
  2323. permission: mineplex.admin
  2324. permission message: &9Permissions> &7This requires permission rank [&9ADMIN&7].
  2325. trigger:
  2326. if {mineplex.cosmetics} is not set:
  2327. set {mineplex.cosmetics} to 1
  2328. if {mineplex.cosmetics} is 1:
  2329. set {mineplex.cosmetics} to 0
  2330. broadcast "&f&lGadgets/Mounts are now &c&lDisabled"
  2331. stop
  2332. if {mineplex.cosmetics} is 0:
  2333. set {mineplex.cosmetics} to 1
  2334. broadcast "&f&lGadgets/Mounts are now &a&lEnabled"
  2335. stop
  2336.  
  2337. every tick:
  2338. loop all players:
  2339. if {mineplex.cosmetics} is not set:
  2340. set {mineplex.cosmetics} to 1
  2341. if {mineplex.cosmetics} is 0:
  2342. set slot 3 of loop-player to air with name "remove"
  2343. stop
  2344. loop-player's gamemode is not creative:
  2345. if {mineplex.cosmetics.%loop-player%} is not set:
  2346. set {mineplex.cosmetics.%loop-player%} to 1
  2347. if {mineplex.gadget.selected.%loop-player%} is "Ethereal Pearl":
  2348. set slot 3 of loop-player to ender pearl with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.pearl}% Ethereal Pearl"
  2349. if {mineplex.gadget.selected.%loop-player%} is "Fireworks":
  2350. set slot 3 of loop-player to firework rocket with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.firework}% Fireworks"
  2351. if {mineplex.gadget.selected.%loop-player%} is "Coal":
  2352. set slot 3 of loop-player to coal with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.coal}% Coal"
  2353. if {mineplex.gadget.selected.%loop-player%} is "TNT":
  2354. set slot 3 of loop-player to tnt with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.tnt}% TNT"
  2355. if {mineplex.gadget.selected.%loop-player%} is "Snowball":
  2356. set slot 3 of loop-player to snowball with name "&e%{mineplex.%loop-player%.cosmetics.gadgets.snowball}% Snowballs"
  2357.  
  2358.  
  2359. on shoot:
  2360. if projectile is an enderpearl:
  2361. if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.pearl}% Ethereal Pearl":
  2362. if {mineplex.%shooter%.cosmetics.gadgets.pearl} is 0:
  2363. cancel event
  2364. cosmetic_system("buy", "pearl", shooter)
  2365. stop
  2366. if {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} is 1:
  2367. set action bar of shooter to "&f&lEthereal Pearl is recharging"
  2368. cancel event
  2369. stop
  2370. remove 1 from {mineplex.%shooter%.cosmetics.gadgets.pearl}
  2371. set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 1
  2372. message "&9Skill> &7You threw &aEthereal Pearl&7." to shooter
  2373. make shooter ride projectile
  2374. wait 3 ticks
  2375. make shooter ride projectile
  2376. wait 3 seconds
  2377. set {mineplex.%shooter%.cosmetics.gadgets.pearlCooldown} to 0
  2378. set action bar of shooter to "&a&lEthereal Pearl Recharged."
  2379. if projectile is an snowball:
  2380. if name of shooter's tool is "&e%{mineplex.%shooter%.cosmetics.gadgets.snowball}% Snowballs":
  2381. if {mineplex.%shooter%.cosmetics.gadgets.snowball} is 0:
  2382. cancel event
  2383. message "&9Gadget> &7You have no Snowballs left!" to shooter
  2384. stop
  2385. if {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} is 1:
  2386. set action bar of shooter to "&f&lSnowball is recharging"
  2387. cancel event
  2388. stop
  2389. remove 1 from {mineplex.%shooter%.cosmetics.gadgets.snowball}
  2390. set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 1
  2391. message "&9Skill> &7You threw &aSnowball&7." to shooter
  2392. wait 10 ticks
  2393. set {mineplex.%shooter%.cosmetics.gadgets.snowballCooldown} to 0
  2394. set action bar of shooter to "&a&lSnowball Recharged."
  2395.  
  2396. on right click:
  2397. if player is holding tnt:
  2398. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.tnt}% TNT":
  2399. if {mineplex.%player%.cosmetics.gadgets.tnt} is less than 1:
  2400. cosmetic_system("buy", "tnt", player)
  2401. stop
  2402. if {mineplex.%player%.cosmetics.gadgets.tntCooldown} is 1:
  2403. set action bar of player to "&f&lTNT is recharging"
  2404. stop
  2405. remove 1 from {mineplex.%player%.cosmetics.gadgets.tnt}
  2406. spawn a primed tnt 1 meter above the player
  2407. add "{Fuse:60}" to nbt of the spawned entity
  2408. push the spawned entity in direction of player at speed 0.9
  2409. push the spawned entity upwards at speed 0.2
  2410. message "&9Skill> &7You threw &aTNT&7."
  2411. set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 1
  2412. wait 3 seconds
  2413. set {mineplex.%player%.cosmetics.gadgets.tntCooldown} to 0
  2414. set action bar of player to "&a&lTNT Recharged."
  2415.  
  2416. on right click:
  2417. if player is holding firework rocket:
  2418. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.firework}% Fireworks":
  2419. if {mineplex.%player%.cosmetics.gadgets.firework} is 0:
  2420. cancel event
  2421. cosmetic_system("buy", "firework", player)
  2422. stop
  2423. if {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} is 1:
  2424. set action bar of player to "&f&lFireworks &f&lis recharging..."
  2425. cancel event
  2426. stop
  2427. remove 1 from {mineplex.%player%.cosmetics.gadgets.firework}
  2428. cancel event
  2429. set {firework} to a random integer from 1 to 15
  2430. if {firework} is 1:
  2431. launch creeper firework colored red at player timed 1
  2432. if {firework} is 2:
  2433. launch burst firework colored green at player timed 1
  2434. if {firework} is 3:
  2435. launch ball firework colored yellow at player timed 1
  2436. if {firework} is 4:
  2437. launch ball firework colored blue at player timed 1
  2438. if {firework} is 5:
  2439. launch burst firework colored red at player timed 1
  2440. if {firework} is 6:
  2441. launch creeper firework colored light green at player timed 1
  2442. if {firework} is 7:
  2443. launch burst firework colored light green at player timed 1
  2444. if {firework} is 8:
  2445. launch ball firework colored orange at player timed 1
  2446. if {firework} is 9:
  2447. launch burst firework colored orange at player timed 1
  2448. if {firework} is 10:
  2449. launch creeper firework colored pink at player timed 1
  2450. if {firework} is 11:
  2451. launch burst firework colored orange at player timed 1
  2452. if {firework} is 12:
  2453. launch burst firework colored light green at player timed 1
  2454. if {firework} is 13:
  2455. launch burst firework colored blue at player timed 1
  2456. if {firework} is 14:
  2457. launch burst firework colored blue at player timed 1
  2458. if {firework} is 15:
  2459. launch burst firework colored yellow at player timed 1
  2460. set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 1
  2461. message "&9Skill> &7You used &aFireworks&7."
  2462. wait 10 ticks
  2463. set {mineplex.%player%.cosmetics.gadgets.fireworkCooldown} to 0
  2464. set action bar of player to "&a&lFireworks Recharged."
  2465. on right click:
  2466. if player is holding coal:
  2467. if name of player's tool is "&e%{mineplex.%player%.cosmetics.gadgets.coal}% Coal":
  2468. if {mineplex.%player%.cosmetics.gadgets.coal} is 0:
  2469. message "&9Coal> &7You should go and get some coal..."
  2470. stop
  2471. if {mineplex.%player%.cosmetics.gadgets.coalCooldown} is 1:
  2472. set action bar of player to "&f&lCoal &f&lis recharging..."
  2473. cancel event
  2474. stop
  2475. message "&9Skill> &7You used &aCoal&7."
  2476. set {coalMessage} to a random integer from 1 to 10
  2477. if {coalMessage} is 1:
  2478. message "&9Coal> &7Maybe you could... eat it?"
  2479. if {coalMessage} is 2:
  2480. message "&9Coal> &7Now... if you only had a furnace."
  2481. if {coalMessage} is 3:
  2482. message "&9Coal> &7Did you know a diamond is formed from coal?"
  2483. if {coalMessage} is 4:
  2484. message "&9Coal> &7Coal is a word that sounds wierd if you say it too much."
  2485. if {coalMessage} is 5:
  2486. message "&9Coal> &7Did you know coal is used for &knothing&7!"
  2487. if {coalMessage} is 6:
  2488. message "&9Coal> &7I hope you didn't miss any diamonds."
  2489. if {coalMessage} is 7:
  2490. message "&9Coal> &7Na na na na, Na na na na, &8BLACK COAL"
  2491. if {coalMessage} is 8:
  2492. message "&9Coal> &7With 9 of these you could make a Block."
  2493. if {coalMessage} is 9:
  2494. message "&9Coal> &7Lava is hotter, but coal is quicker."
  2495. if {coalMessage} is 10:
  2496. message "&9Coal> &7For what do you even need Coal on a Minigame server?"
  2497. set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 1
  2498. wait 10 ticks
  2499. set {mineplex.%player%.cosmetics.gadgets.coalCooldown} to 0
  2500. set action bar of player to "&a&lCoal Recharged."
  2501.  
  2502. on right click on minecart:
  2503. # name of clicked entity contains "&f&l%player%'s Minecart"
  2504. make the player ride the clicked entity
  2505.  
  2506. on explode:
  2507. create a safe explosion with force 3
  2508. cancel event
  2509.  
  2510. on damage:
  2511. if damage cause is tnt:
  2512. cancel event
  2513.  
  2514. #Morph Disablers (Quit)
  2515. on quit:
  2516. if {mineplex.currentmorph.%player%} is "Creeper Morph":
  2517. cosmetic_system("use", "morph_creeper", player)
  2518. if {mineplex.currentmorph.%player%} is "Slime Morph":
  2519. cosmetic_system("use", "morph_slime", player)
  2520. if {mineplex.currentmorph.%player%} is "Cow Morph":
  2521. cosmetic_system("use", "morph_cow", player)
  2522. if {mineplex.currentmorph.%player%} is "Villager Morph":
  2523. cosmetic_system("use", "morph_villager", player)
  2524. if {mineplex.currentmorph.%player%} is "Wither Morph":
  2525. cosmetic_system("use", "morph_wither", player)
  2526.  
  2527. #Treasure System
  2528.  
  2529. function resetPoints(p: offline player, l: number) :: number:
  2530. delete {mineplex.chestbusy.%{_l}%}
  2531. delete {mineplex.inchest.%{_p}%}
  2532. delete {mineplex.chestsopened.%{_p}%}
  2533. set block at {mineplex.chestpoint.%{_l}%.sub.1} to air
  2534. set block at {mineplex.chestpoint.%{_l}%.sub.2} to air
  2535. set block at {mineplex.chestpoint.%{_l}%.sub.3} to air
  2536. set block at {mineplex.chestpoint.%{_l}%.sub.4} to air
  2537. set block at {mineplex.chestpoint.%{_l}%.sub.5} to air
  2538. set block at {mineplex.chestpoint.%{_l}%.sub.6} to air
  2539. set block at {mineplex.chestpoint.%{_l}%.sub.7} to air
  2540. set block at {mineplex.chestpoint.%{_l}%.sub.8} to air
  2541. set block at {mineplex.chestpoint.%{_l}%} to chest
  2542.  
  2543. function rewardTreasure(p: player , c: number , l: number , s: number) :: number:
  2544. set {_mineplex.chestpoint.%{_l}%.sub.%{_s}%} to {mineplex.chestpoint.%{_l}%.sub.%{_s}%}
  2545. add 0 to y-coordinate of {_mineplex.chestpoint.%{_l}%.sub.%{_s}%}
  2546. if {_c} is 3:
  2547. set {_r} to a random integer between 1 and 350
  2548. if {_r} is 50:
  2549. if {mineplex.rank.%{_p}%} is "":
  2550. set {_ra} to "ULTRA"
  2551. else if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  2552. set {_ra} to "HERO"
  2553. else if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  2554. set {_ra} to "LEGEND"
  2555. else if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  2556. set {_ra} to "TITAN"
  2557. else if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  2558. set {_ra} to "ETERNAL"
  2559. else:
  2560. set {_ra} to a random integer between 2750 and 3750
  2561. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  2562. addShards({_p}, {_ra})
  2563. wait 2.25 seconds
  2564. execute console command "/updaterank %{_p}% %{_ra}%"
  2565. broadcast "&9Treasure> &e%{_p}% &7found &cMythical %{_ra}% Rank&7."
  2566. send all players title "&eTreasure" with subtitle "&f%{_p}% has found &cMythical Rank Upgrade" for 10 seconds
  2567. else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
  2568. set {_ra} to a random integer between 1500 and 2250
  2569. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  2570. addShards({_p}, {_ra})
  2571. 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:
  2572. set {_ra} to a random integer between 1025 and 1495
  2573. broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
  2574. addShards({_p}, {_ra})
  2575. 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:
  2576. set {_ra} to a random integer between 525 and 985
  2577. send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
  2578. addShards({_p}, {_ra})
  2579. else:
  2580. set {_ra} to a random integer between 150 and 499
  2581. send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
  2582. addShards({_p}, {_ra})
  2583. else:
  2584. set {_r} to a random integer between 1 and 350
  2585. if {_r} is 50:
  2586. set {_ra} to a random integer between 2750 and 3750
  2587. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  2588. addShards({_p}, {_ra})
  2589. else if {_r} is 45 or 46 or 47 or 48 or 49 or 51 or 52 or 53 or 54 or 55:
  2590. set {_ra} to a random integer between 1500 and 2250
  2591. broadcast "&9Treasure> &e%{_p}% &7found &aLegendary %{_ra}% Shards&7."
  2592. addShards({_p}, {_ra})
  2593. wait 2.25 seconds
  2594. resetPoints({_p}, {_l})
  2595. delete {mineplex.inchest.%{_p}%}
  2596. 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:
  2597. set {_ra} to a random integer between 1025 and 1495
  2598. broadcast "&9Treasure> &e%{_p}% &7found &bSuper Rare %{_ra}% Shards&7."
  2599. addShards({_p}, {_ra})
  2600. 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:
  2601. set {_ra} to a random integer between 525 and 985
  2602. send "&9Treasure> &7You found &dRare %{_ra}% Shards&7." to {_p}
  2603. addShards({_p}, {_ra})
  2604. else:
  2605. set {_ra} to a random integer between 150 and 499
  2606. send "&9Treasure> &7You found &7Common %{_ra}% Shards&7." to {_p}
  2607. addShards({_p}, {_ra})
  2608.  
  2609. on join:
  2610. if {oldchests.%player%} is not set:
  2611. set {oldchests.%player%} to 0
  2612. if {ancientchests.%player%} is not set:
  2613. set {ancientchests.%player%} to 0
  2614. if {mythicalchests.%player%} is not set:
  2615. set {mythicalchests.%player%} to 0
  2616.  
  2617. function buyChest(p: player, n: number) :: player:
  2618. if {_n} is 1:
  2619. if {mineplex.shards.%{_p}%} >= 1000:
  2620. close {_p}'s inventory
  2621. wait 3 ticks
  2622. open chest with 6 rows named " Confirmation" to {_p}
  2623. wait 5 ticks
  2624. set {_slot} to 0
  2625. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2626. loop 44 times:
  2627. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2628. add 1 to {_slot}
  2629. loop 10 times:
  2630. wait 0.4 ticks
  2631. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2632. add 1 to {slot}
  2633. delShards({_p}, 1000)
  2634. add 1 to {oldchests.%{_p}%}
  2635. wait 10 ticks
  2636. close {_p}'s inventory
  2637. else:
  2638. close {_p}'s inventory
  2639. wait 3 ticks
  2640. open chest with 6 rows named " Confirmation" to {_p}
  2641. wait 5 ticks
  2642. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2643. set {_slot} to 0
  2644. loop 54 times:
  2645. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2646. add 1 to {_slot}
  2647. wait 10 ticks
  2648. close {_p}'s inventory
  2649. if {_n} is 2:
  2650. if {mineplex.shards.%{_p}%} >= 5000:
  2651. close {_p}'s inventory
  2652. wait 3 ticks
  2653. open chest with 6 rows named " Confirmation" to {_p}
  2654. wait 5 ticks
  2655. set {_slot} to 0
  2656. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2657. loop 44 times:
  2658. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2659. add 1 to {_slot}
  2660. loop 10 times:
  2661. wait 0.4 ticks
  2662. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2663. add 1 to {slot}
  2664. remove 5000 from {mineplex.shards.%{_p}%}
  2665. delShards({_p}, 5000)
  2666. add 1 to {ancientchests.%{_p}%}
  2667. wait 10 ticks
  2668. close {_p}'s inventory
  2669. else:
  2670. close {_p}'s inventory
  2671. wait 3 ticks
  2672. open chest with 6 rows named " Confirmation" to {_p}
  2673. wait 5 ticks
  2674. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2675. set {_slot} to 0
  2676. loop 54 times:
  2677. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2678. add 1 to {_slot}
  2679. wait 10 ticks
  2680. close {_p}'s inventory
  2681. if {_n} is 3:
  2682. if {mineplex.shards.%{_p}%} >= 10000:
  2683. close {_p}'s inventory
  2684. wait 3 ticks
  2685. open chest with 6 rows named " Confirmation" to {_p}
  2686. wait 5 ticks
  2687. set {_slot} to 0
  2688. format slot 0 of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2689. loop 44 times:
  2690. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2691. add 1 to {_slot}
  2692. loop 10 times:
  2693. wait 0.4 ticks
  2694. format slot {_slot} of {_p} with emerald block named "&aYour purchase was successfull." to be unstealable
  2695. add 1 to {slot}
  2696. delShards({_p}, 10000)
  2697. add 1 to {mythicalchests.%{_p}%}
  2698. wait 10 ticks
  2699. close {_p}'s inventory
  2700. else:
  2701. close {_p}'s inventory
  2702. wait 3 ticks
  2703. open chest with 6 rows named " Confirmation" to {_p}
  2704. wait 5 ticks
  2705. format slot 0 of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2706. set {_slot} to 0
  2707. loop 54 times:
  2708. format slot {_slot} of {_p} with redstone block named "&cYour account has insufficent funds." to be unstealable
  2709. add 1 to {_slot}
  2710. wait 10 ticks
  2711. close {_p}'s inventory
  2712.  
  2713. function openTreasure(p: player , c: number , l: number) :: number:
  2714. if {_c} is 1:
  2715. if {oldchests.%{_p}%} < 1:
  2716. close {_p}'s inventory
  2717. wait 2 ticks
  2718. open chest with 6 rows named " Confirmation" to {_p}
  2719. wait 1 tick
  2720. format slot 4 of {_p} with prismarine shard named "&b&l1000 Shards" to be unstealable
  2721. 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
  2722. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2723. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2724. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2725. format slot 33 of {_p} with redstone block named "&cNO" to close
  2726. format slot 34 of {_p} with redstone block named "&cNO" to close
  2727. format slot 35 of {_p} with redstone block named "&cNO" to close
  2728. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2729. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2730. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2731. format slot 42 of {_p} with redstone block named "&cNO" to close
  2732. format slot 43 of {_p} with redstone block named "&cNO" to close
  2733. format slot 44 of {_p} with redstone block named "&cNO" to close
  2734. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2735. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2736. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 1)]
  2737. format slot 51 of {_p} with redstone block named "&cNO" to close
  2738. format slot 52 of {_p} with redstone block named "&cNO" to close
  2739. format slot 53 of {_p} with redstone block named "&cNO" to close
  2740. if {oldchests.%{_p}%} >= 1:
  2741. remove 1 from {oldchests.%{_p}%}
  2742. set {mineplex.chestbusy.%{_l}%.} to {_p}
  2743. send {_p} title "&eOld Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  2744. set {mineplex.inchest.%{_p}%} to {_l}
  2745. set block at {mineplex.chestpoint.%{_l}%} to air
  2746. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  2747. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  2748. wait 1.2 seconds
  2749. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  2750. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  2751. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  2752. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  2753. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  2754. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  2755. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  2756. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  2757. set {_get} to getPlayerdata({_p}, "stats.global.chests")
  2758. set {_cur} to {_get} parsed as a number
  2759. add 1 to {_cur}
  2760. setPlayerdata({_p}, "stats.global.chests", "%{_cur}%")
  2761. if {_c} is 2:
  2762. if {ancientchests.%{_p}%} < 1:
  2763. close {_p}'s inventory
  2764. wait 2 ticks
  2765. open chest with 6 rows named " Confirmation" to {_p}
  2766. wait 1 tick
  2767. format slot 4 of {_p} with prismarine shard named "&b&l5000 Shards" to be unstealable
  2768. 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
  2769. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2770. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2771. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2772. format slot 33 of {_p} with redstone block named "&cNO" to close
  2773. format slot 34 of {_p} with redstone block named "&cNO" to close
  2774. format slot 35 of {_p} with redstone block named "&cNO" to close
  2775. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2776. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2777. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2778. format slot 42 of {_p} with redstone block named "&cNO" to close
  2779. format slot 43 of {_p} with redstone block named "&cNO" to close
  2780. format slot 44 of {_p} with redstone block named "&cNO" to close
  2781. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2782. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2783. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 2)]
  2784. format slot 51 of {_p} with redstone block named "&cNO" to close
  2785. format slot 52 of {_p} with redstone block named "&cNO" to close
  2786. format slot 53 of {_p} with redstone block named "&cNO" to close
  2787. if {ancientchests.%{_p}%} >= 1:
  2788. remove 1 from {ancientchests.%{_p}%}
  2789. set {mineplex.chestbusy.%{_l}%.} to {_p}
  2790. send {_p} title "&6Ancient Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  2791. set {mineplex.inchest.%{_p}%} to {_l}
  2792. set block at {mineplex.chestpoint.%{_l}%} to air
  2793. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  2794. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  2795. wait 2.5 seconds
  2796. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  2797. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  2798. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  2799. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  2800. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  2801. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  2802. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  2803. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  2804. if {_c} is 3:
  2805. if {mythicalchests.%{_p}%} < 1:
  2806. close {_p}'s inventory
  2807. wait 2 ticks
  2808. open chest with 6 rows named " Confirmation" to {_p}
  2809. wait 1 tick
  2810. format slot 4 of {_p} with prismarine shard named "&b&l10000 Shards" to be unstealable
  2811. 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
  2812. format slot 27 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2813. format slot 28 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2814. format slot 29 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2815. format slot 33 of {_p} with redstone block named "&cNO" to close
  2816. format slot 34 of {_p} with redstone block named "&cNO" to close
  2817. format slot 35 of {_p} with redstone block named "&cNO" to close
  2818. format slot 36 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2819. format slot 37 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2820. format slot 38 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2821. format slot 42 of {_p} with redstone block named "&cNO" to close
  2822. format slot 43 of {_p} with redstone block named "&cNO" to close
  2823. format slot 44 of {_p} with redstone block named "&cNO" to close
  2824. format slot 45 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2825. format slot 46 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2826. format slot 47 of {_p} with emerald block named "&aOK" to close then run [buyChest({_p}, 3)]
  2827. format slot 51 of {_p} with redstone block named "&cNO" to close
  2828. format slot 52 of {_p} with redstone block named "&cNO" to close
  2829. format slot 53 of {_p} with redstone block named "&cNO" to close
  2830. if {mythicalchests.%{_p}%} >= 1:
  2831. remove 1 from {mythicalchests.%{_p}%}
  2832. set {mineplex.chestbusy.%{_l}%.} to {_p}
  2833. send {_p} title "&cMythical Treasure" with subtitle "&fChoose 4 Chests To Open" for 8 seconds
  2834. set {mineplex.inchest.%{_p}%} to {_l}
  2835. set block at {mineplex.chestpoint.%{_l}%} to air
  2836. teleport {_p} to {mineplex.chestpoint.%{_l}%}
  2837. send "&9Treasure> &7Choose 4 chests to open" to {_p}
  2838. wait 2.5 seconds
  2839. set block at {mineplex.chestpoint.%{_l}%.sub.1} to chest
  2840. set block at {mineplex.chestpoint.%{_l}%.sub.2} to chest
  2841. set block at {mineplex.chestpoint.%{_l}%.sub.3} to chest
  2842. set block at {mineplex.chestpoint.%{_l}%.sub.4} to chest
  2843. set block at {mineplex.chestpoint.%{_l}%.sub.5} to chest
  2844. set block at {mineplex.chestpoint.%{_l}%.sub.6} to chest
  2845. set block at {mineplex.chestpoint.%{_l}%.sub.7} to chest
  2846. set block at {mineplex.chestpoint.%{_l}%.sub.8} to chest
  2847.  
  2848. on inventory click:
  2849. if inventory name of player's current inventory is " Confirmation":
  2850. cancel event
  2851. close player's inventory
  2852.  
  2853. function TreasurePage(p: player , n: number , c: number) :: player:
  2854. if {_N} is 2:
  2855. if {_C} is 1:
  2856. close {_p}'s inventory
  2857. wait 4 ticks
  2858. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  2859. wait 2 ticks
  2860. 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}]
  2861. 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}]
  2862. 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}]
  2863. 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}]
  2864. 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}]
  2865. 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}]
  2866. 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
  2867. 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}]
  2868. 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}]
  2869. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 1)]
  2870. 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
  2871. else if {_C} is 2:
  2872. close {_p}'s inventory
  2873. wait 4 ticks
  2874. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  2875. wait 2 ticks
  2876. 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}]
  2877. 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}]
  2878. 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}]
  2879. 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
  2880. 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}]
  2881. 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}]
  2882. 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}]
  2883. 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}]
  2884. 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}]
  2885. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 2)]
  2886. 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
  2887. else if {_C} is 3:
  2888. close {_p}'s inventory
  2889. wait 4 ticks
  2890. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  2891. wait 2 ticks
  2892. 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}]
  2893. 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}]
  2894. 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}]
  2895. 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
  2896. 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
  2897. 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}]
  2898. 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}]
  2899. 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}]
  2900. 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}]
  2901. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 3)]
  2902. 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
  2903. else if {_C} is 4:
  2904. close {_p}'s inventory
  2905. wait 4 ticks
  2906. open chest with 6 rows named "Open Treasure - Page 2" to {_p}
  2907. wait 2 ticks
  2908. 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
  2909. 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
  2910. 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
  2911. 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
  2912. 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}]
  2913. 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}]
  2914. 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}]
  2915. 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}]
  2916. 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}]
  2917. format slot 45 of {_p} with arrow named "&7<- Last Page" to close then run [TreasurePage({_p}, 1, 4)]
  2918. 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
  2919. if {_N} is 1:
  2920. if {_C} is 1:
  2921. wait 2 ticks
  2922. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  2923. wait 2 ticks
  2924. 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)]
  2925. 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)]
  2926. 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)]
  2927. 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}]
  2928. 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}]
  2929. 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}]
  2930. 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
  2931. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 1)]
  2932. if {_C} is 2:
  2933. wait 2 ticks
  2934. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  2935. wait 2 ticks
  2936. 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)]
  2937. 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)]
  2938. 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)]
  2939. 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}]
  2940. 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}]
  2941. 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}]
  2942. 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
  2943. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 2)]
  2944. if {_C} is 3:
  2945. wait 2 ticks
  2946. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  2947. wait 2 ticks
  2948. 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)]
  2949. 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)]
  2950. 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)]
  2951. 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}]
  2952. 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}]
  2953. 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}]
  2954. 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
  2955. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 3)]
  2956. if {_C} is 4:
  2957. wait 2 ticks
  2958. open chest with 6 rows named "Open Treasure - Page 1" to {_p}
  2959. wait 2 ticks
  2960. 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)]
  2961. 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)]
  2962. 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)]
  2963. 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}]
  2964. 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}]
  2965. 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}]
  2966. 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
  2967. format slot 53 of {_p} with arrow named "&7Next page ->" to close then run [TreasurePage({_p}, 2, 4)]
  2968.  
  2969. command /givetreasure [<string>] [<number>] [<offline player>]:
  2970. permission: mineplex.admin
  2971. permission: &9Permissions> &7This requires Permission Rank [&9ADMIN&7]
  2972. trigger:
  2973. if arg-1 is set:
  2974. if arg-2 is set:
  2975. if arg-2 is an integer:
  2976. if arg-3 is set:
  2977. if arg-1 is "Mythical":
  2978. add arg-2 to {mythicalchests.%arg-3%}
  2979. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Mythical Treasure Chests." to sender
  2980. message "&9Treasure> &7You recieved &e%arg-2% &7Mythical Treasure Chests." to arg-3
  2981. stop
  2982. else if arg-1 is "Ancient":
  2983. add arg-2 to {ancientchests.%arg-3%}
  2984. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Ancient Treasure Chests." to sender
  2985. message "&9Treasure> &7You recieved &e%arg-2% &7Ancient Treasure Chests." to arg-3
  2986. stop
  2987. else if arg-1 is "old":
  2988. add arg-2 to {oldchests.%arg-3%}
  2989. message "&9Treasure> &7You gave &e%arg-3% %arg-2% &7Old Treasure Chests." to sender
  2990. message "&9Treasure> &7You recieved &e%arg-2% &7Old Treasure Chests." to arg-3
  2991. stop
  2992. else:
  2993. send "&9Treasure> &7Unknown Treasure [&e%arg-1%&7]." to sender
  2994. stop
  2995. else:
  2996. send "&9Treasure> &7Please specify a player" to sender
  2997. stop
  2998. else if arg-2 is not an integer:
  2999. send "&9Treasure> &7Unknown Integer [&e%arg-2%&7]." to sender
  3000. stop
  3001. else:
  3002. send "&9Treasure> &7Please specify an amount." to sender
  3003. stop
  3004. else:
  3005. send "&9Treasure> &7Listing Commands:" to sender
  3006. send "&4/GiveTreasure <treasure> <amount> <name> &7Gives a player some treasure chests &4Admin" to sender
  3007. stop
  3008.  
  3009. every 5 ticks:
  3010. loop all players:
  3011. if {mineplex.inchest.%loop-player%} is set:
  3012. set {_di} to distance between {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%} and loop-player
  3013. if {_di} is greater than 3.11:
  3014. teleport loop-player to {mineplex.chestpoint.%{mineplex.inchest.%loop-player%}%}
  3015.  
  3016. every 5 ticks:
  3017. loop all players:
  3018. if {mineplex.inchest.%loop-player%} is set:
  3019. loop players in radius 4 of loop-player:
  3020. if loop-player-2 is not loop-player-1:
  3021. if {mineplex.pref.ff.%loop-player-2%} is false:
  3022. push the loop-player-2 upwards at speed 0.925
  3023. push the loop-player-2 backwards at speed 0.825
  3024. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  3025.  
  3026. on right click on chest:
  3027. if player is holding chest:
  3028. if name of player's tool is "&aCosmetic Menu":
  3029. stop
  3030. else:
  3031. send "&9MCR> &e##BlameWheezy"
  3032. else:
  3033. if event-block is {mineplex.chestpoint.1}:
  3034. cancel event
  3035. TreasurePage(player, 1, 1)
  3036. if event-block is {mineplex.chestpoint.2}:
  3037. cancel event
  3038. TreasurePage(player, 1, 2)
  3039. if event-block is {mineplex.chestpoint.3}:
  3040. cancel event
  3041. TreasurePage(player, 1, 3)
  3042. if event-block is {mineplex.chestpoint.4}:
  3043. cancel event
  3044. TreasurePage(player, 1, 4)
  3045.  
  3046. on right click on chest or ender chest:
  3047. if player is holding chest:
  3048. if name of player's tool is "&aCosmetic Menu":
  3049. stop
  3050. else:
  3051. send "&9MCR> &e##BlameWheezy"
  3052. else:
  3053. 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}:
  3054. if {mineplex.inchest.%player%} is set:
  3055. if {mineplex.chestsopened.%player%} is not set:
  3056. set {mineplex.chestsopened.%player%} to 1
  3057. cancel event
  3058. make the event-block appear open
  3059. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3060. loop all players:
  3061. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3062. stop
  3063. else if {mineplex.chestsopened.%player%} is 3:
  3064. cancel event
  3065. add 1 to {mineplex.chestsopened.%player%}
  3066. make the event-block appear open
  3067. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3068. loop all players:
  3069. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3070. wait 3 seconds
  3071. resetPoints(player, 1)
  3072. execute player command "/hub"
  3073. stop
  3074. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3075. cancel event
  3076. add 1 to {mineplex.chestsopened.%player%}
  3077. make the event-block appear open
  3078. rewardTreasure(player, {mineplex.inchest.%player%}, 1, 1)
  3079. loop all players:
  3080. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3081. stop
  3082. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3083. cancel event
  3084. else:
  3085. cancel event
  3086. 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}:
  3087. if {mineplex.inchest.%player%} is set:
  3088. if {mineplex.chestsopened.%player%} is not set:
  3089. set {mineplex.chestsopened.%player%} to 1
  3090. cancel event
  3091. make the event-block appear open
  3092. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3093. loop all players:
  3094. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3095. stop
  3096. else if {mineplex.chestsopened.%player%} is 3:
  3097. cancel event
  3098. add 1 to {mineplex.chestsopened.%player%}
  3099. make the event-block appear open
  3100. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3101. loop all players:
  3102. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3103. wait 3 seconds
  3104. resetPoints(player, 2)
  3105. execute player command "/hub"
  3106. stop
  3107. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3108. cancel event
  3109. add 1 to {mineplex.chestsopened.%player%}
  3110. make the event-block appear open
  3111. rewardTreasure(player, {mineplex.inchest.%player%}, 2, 1)
  3112. loop all players:
  3113. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3114. stop
  3115. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3116. cancel event
  3117. else:
  3118. cancel event
  3119. 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}:
  3120. if {mineplex.inchest.%player%} is set:
  3121. if {mineplex.chestsopened.%player%} is not set:
  3122. set {mineplex.chestsopened.%player%} to 1
  3123. cancel event
  3124. make the event-block appear open
  3125. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3126. loop all players:
  3127. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3128. stop
  3129. else if {mineplex.chestsopened.%player%} is 3:
  3130. cancel event
  3131. add 1 to {mineplex.chestsopened.%player%}
  3132. make the event-block appear open
  3133. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3134. loop all players:
  3135. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3136. wait 3 seconds
  3137. resetPoints(player, 3)
  3138. execute player command "/hub"
  3139. stop
  3140. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3141. cancel event
  3142. add 1 to {mineplex.chestsopened.%player%}
  3143. make the event-block appear open
  3144. rewardTreasure(player, {mineplex.inchest.%player%}, 3, 1)
  3145. loop all players:
  3146. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3147. stop
  3148. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3149. cancel event
  3150. else:
  3151. cancel event
  3152. 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}:
  3153. if {mineplex.inchest.%player%} is set:
  3154. if {mineplex.chestsopened.%player%} is not set:
  3155. set {mineplex.chestsopened.%player%} to 1
  3156. cancel event
  3157. make the event-block appear open
  3158. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3159. loop all players:
  3160. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3161. stop
  3162. else if {mineplex.chestsopened.%player%} is 3:
  3163. cancel event
  3164. add 1 to {mineplex.chestsopened.%player%}
  3165. make the event-block appear open
  3166. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3167. loop all players:
  3168. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3169. wait 3 seconds
  3170. resetPoints(player, 4)
  3171. execute player command "/hub"
  3172. stop
  3173. else if {mineplex.chestsopened.%player%} is 1 or 2:
  3174. cancel event
  3175. add 1 to {mineplex.chestsopened.%player%}
  3176. make the event-block appear open
  3177. rewardTreasure(player, {mineplex.inchest.%player%}, 4, 1)
  3178. loop all players:
  3179. show 200 "flame" particles at location 0.1 metres above event-block for loop-player
  3180. stop
  3181. else if {mineplex.chestsopened.%player%} is not 1 or 2 or 3:
  3182. cancel event
  3183. else:
  3184. cancel event
  3185.  
  3186. on quit:
  3187. set {_p} to player
  3188. if {mineplex.inchest.%{_p}%} is set:
  3189. resetPoints({_p}, {mineplex.inchest.%{_p}%})
  3190. delete {mineplex.inchest.%{_p}%}
  3191. #Scoreboard
  3192.  
  3193. every 2 seconds:
  3194. if {mineplex.usescoreboard} is false:
  3195. stop
  3196. else:
  3197. loop all players:
  3198. wipe loop-player's sidebar
  3199. set name of sidebar of loop-player to "&6&l%{mineplex.config.servername}%"
  3200. set score "&b&lServer" in sidebar of loop-player to 15
  3201. set score "&f%{mineplex.config.world}%" in sidebar of loop-player to 14
  3202. set score "&1 " in sidebar of loop-player to 13
  3203. set score "&a&lGems" in sidebar of loop-player to 12
  3204. set score "&r%{mineplex.gems.%loop-player%}%" in sidebar of loop-player to 11
  3205. set score "&2 " in sidebar of loop-player to 10
  3206. set score "&e&lShards" in sidebar of loop-player to 9
  3207. set score "&f%{mineplex.shards.%loop-player%}%" in sidebar of loop-player to 8
  3208. set score "&3 " in sidebar of loop-player to 7
  3209. set score "&6&lRank" in sidebar of loop-player to 6
  3210. set score "&f%{mineplex.api.displayrank.%loop-player%}%" in sidebar of loop-player to 5
  3211. set score "&4 " in sidebar of loop-player to 4
  3212. set score "&c&lWebsite" in sidebar of loop-player to 3
  3213. set score "&f%{mineplex.config.website}%" in sidebar of loop-player to 2
  3214. set score "&f----------------" in sidebar of loop-player to 1
  3215.  
  3216. #Rank Loader
  3217.  
  3218. function rankLoad(p: player , n: number , t: number) :: string:
  3219. if {_n} is 1:
  3220. if {mineplex.testrank.%{_p}%} is set:
  3221. if {_t} is 0:
  3222. set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
  3223. delete {mineplex.testrank.%{_p}%}
  3224. if {mineplex.rank.%{_p}%} is not set:
  3225. set {mineplex.rank.%{_p}%} to ""
  3226. if {mineplex.rank.%{_p}%} is "":
  3227. execute console command "/updaterank %{_p}% ALL"
  3228. set {_p} tab name to "&e%{_p}%"
  3229. set {mineplex.displaya.%{_p}%} to "&fPlayer"
  3230. set {mineplex.colora.%{_p}%} to "§f"
  3231. return "&fPlayer"
  3232. if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  3233. execute console command "/updaterank %{_p}% ULTRA"
  3234. set {_p} tab name to "&b&lULTRA &e%{_p}%"
  3235. set {mineplex.displaya.%{_p}%} to "&bUltra"
  3236. set {mineplex.colora.%{_p}%} to "§b"
  3237. 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}%"
  3238. return "&bUltra"
  3239. if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  3240. execute console command "/updaterank %{_p}% HERO"
  3241. set {_p} tab name to "&d&lHERO &e%{_p}%"
  3242. set {mineplex.displaya.%{_p}%} to "&dHero"
  3243. set {mineplex.colora.%{_p}%} to "§d"
  3244. 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}%"
  3245. return "&dHero"
  3246. if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  3247. execute console command "/updaterank %{_p}% LEGEND"
  3248. set {_p} tab name to "&a&lLEGEND &e%{_p}%"
  3249. set {mineplex.displaya.%{_p}%} to "&aLegend"
  3250. set {mineplex.colora.%{_p}%} to "§a"
  3251. 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}%"
  3252. return "&aLegend"
  3253. if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  3254. execute console command "/updaterank %{_p}% TITAN"
  3255. set {_p} tab name to "&c&lTITAN &e%{_p}%"
  3256. set {mineplex.displaya.%{_p}%} to "&cTitan"
  3257. set {mineplex.colora.%{_p}%} to "§c"
  3258. 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}%"
  3259. return "&cTitan"
  3260. if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
  3261. execute console command "/updaterank %{_p}% TRAINEE"
  3262. set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
  3263. set {mineplex.displaya.%{_p}%} to "&6Trainee"
  3264. set {mineplex.colora.%{_p}%} to "§6"
  3265. 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."
  3266. return "&6Trainee"
  3267. if {mineplex.rank.%{_p}%} is "&6&lMOD ":
  3268. execute console command "/updaterank %{_p}% MODERATOR"
  3269. set {_p} tab name to "&6&lMOD &e%{_p}%"
  3270. set {mineplex.displaya.%{_p}%} to "&6Mod"
  3271. set {mineplex.colora.%{_p}%} to "§6"
  3272. 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."
  3273. return "&6Mod"
  3274. if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
  3275. execute console command "/updaterank %{_p}% SNR_MODERATOR"
  3276. set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
  3277. set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
  3278. set {mineplex.colora.%{_p}%} to "§6"
  3279. 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."
  3280. return "&6Sr.Mod"
  3281. if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
  3282. execute console command "/updaterank %{_p}% CLANS_MOD"
  3283. set {_p} tab name to "&6&lC.MOD &e%{_p}%"
  3284. set {mineplex.displaya.%{_p}%} to "&6C.Mod"
  3285. set {mineplex.colora.%{_p}%} to "§6"
  3286. 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."
  3287. return "&6C.Mod"
  3288. if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
  3289. execute console command "/updaterank %{_p}% ADMIN"
  3290. set {_p} tab name to "&4&lADMIN &e%{_p}%"
  3291. set {mineplex.displaya.%{_p}%} to "&4Admin"
  3292. set {mineplex.colora.%{_p}%} to "§4"
  3293. 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."
  3294. return "&4Admin"
  3295. if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
  3296. execute console command "/updaterank %{_p}% LEADER"
  3297. set {_p} tab name to "&4&lLEADER &e%{_p}%"
  3298. set {mineplex.displaya.%{_p}%} to "&4Leader"
  3299. set {mineplex.colora.%{_p}%} to "§4"
  3300. 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."
  3301. return "&4Leader"
  3302. if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
  3303. execute console command "/updaterank %{_p}% OWNER"
  3304. set {_p} tab name to "&4&lOWNER &e%{_p}%"
  3305. set {mineplex.displaya.%{_p}%} to "&4Owner"
  3306. set {mineplex.colora.%{_p}%} to "§4"
  3307. 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."
  3308. return "&4Owner"
  3309. if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
  3310. execute console command "/updaterank %{_p}% BUILDER"
  3311. set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
  3312. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  3313. set {mineplex.colora.%{_p}%} to "§9"
  3314. 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."
  3315. return "&9Builder"
  3316. if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
  3317. execute console command "/updaterank %{_p}% MAPPER"
  3318. set {_p} tab name to "&9&lMAPPER &e%{_p}%"
  3319. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  3320. set {mineplex.colora.%{_p}%} to "§9"
  3321. 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!"
  3322. return "&9Mapper"
  3323. if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
  3324. execute console command "/updaterank %{_p}% MAPLEAD"
  3325. set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
  3326. set {mineplex.displaya.%{_p}%} to "&9MapLead"
  3327. set {mineplex.colora.%{_p}%} to "§9"
  3328. 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."
  3329. return "&9MapLead"
  3330. if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
  3331. execute console command "/updaterank %{_p}% JNR_DEV"
  3332. set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
  3333. set {mineplex.colora.%{_p}%} to "§c"
  3334. 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."
  3335. return "&6Jr.Dev"
  3336. if {mineplex.rank.%{_p}%} is "&4&lDEV ":
  3337. execute console command "/updaterank %{_p}% DEVELOPER"
  3338. set {_p} tab name to "&4&lDEV &e%{_p}%"
  3339. set {mineplex.displaya.%{_p}%} to "&4Dev"
  3340. set {mineplex.colora.%{_p}%} to "§4"
  3341. 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."
  3342. return "&4Dev"
  3343. if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
  3344. execute console command "/updaterank %{_p}% TWITCH"
  3345. set {_p} tab name to "&5&lTWITCH &e%{_p}%"
  3346. set {mineplex.displaya.%{_p}%} to "&5Twitch"
  3347. set {mineplex.colora.%{_p}%} to "§5"
  3348. set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
  3349. return "&5Twitch"
  3350. if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
  3351. execute console command "/updaterank %{_p}% YOUTUBE"
  3352. set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
  3353. set {mineplex.displaya.%{_p}%} to "&cYouTube"
  3354. set {mineplex.colora.%{_p}%} to "§c"
  3355. 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."
  3356. return "&cYouTube"
  3357. if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
  3358. execute console command "/updaterank %{_p}% EVENT"
  3359. set {_p} tab name to "&f&lEVENT &e%{_p}%"
  3360. set {mineplex.displaya.%{_p}%} to "&fEvent"
  3361. set {mineplex.colora.%{_p}%} to "§f"
  3362. set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
  3363. return "&fEvent"
  3364. if {mineplex.rank.%{_p}%} is "&5&lYT ":
  3365. execute console command "/updaterank %{_p}% YT"
  3366. set {_p} tab name to "&5&lYT &e%{_p}%"
  3367. set {mineplex.displaya.%{_p}%} to "&5YT"
  3368. set {mineplex.colora.%{_p}%} to "§5"
  3369. set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
  3370. return "&5YT"
  3371. if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
  3372. execute console command "/updaterank %{_p}% ETERNAL"
  3373. set {_p} tab name to "&3&lETERNAL &e%{_p}%"
  3374. set {mineplex.displaya.%{_p}%} to "&3Eternal"
  3375. set {mineplex.colora.%{_p}%} to "§3"
  3376. 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}%"
  3377. return "&3Eternal"
  3378. if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
  3379. execute console command "/updaterank %{_p}% SUPPORT"
  3380. set {mineplex.displaya.%{_p}%} to "&9Support"
  3381. set {mineplex.colora.%{_p}%} to "§9"
  3382. set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
  3383. return "&9Support"
  3384. if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
  3385. execute console command "/updaterank %{_p}% ARTIST"
  3386. set {mineplex.displaya.%{_p}%} to "&9Artist"
  3387. set {mineplex.colora.%{_p}%} to "§9"
  3388. 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."
  3389. return "&9Artist"
  3390. else if {_n} is 2:
  3391. if {mineplex.testrank.%{_p}%} is set:
  3392. if {_t} is 0:
  3393. set {mineplex.rank.%{_p}%} to {mineplex.testrank.%{_p}%}
  3394. delete {mineplex.testrank.%{_p}%}
  3395. if {mineplex.rank.%{_p}%} is not set:
  3396. set {mineplex.rank.%{_p}%} to ""
  3397. if {mineplex.rank.%{_p}%} is "":
  3398. set {_p} tab name to "&e%{_p}%"
  3399. set {mineplex.displaya.%{_p}%} to "&fPlayer"
  3400. set {mineplex.colora.%{_p}%} to "§f"
  3401. return "&fPlayer"
  3402. if {mineplex.rank.%{_p}%} is "&b&lULTRA ":
  3403. set {_p} tab name to "&b&lULTRA &e%{_p}%"
  3404. set {mineplex.displaya.%{_p}%} to "&bUltra"
  3405. set {mineplex.colora.%{_p}%} to "§b"
  3406. 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}%"
  3407. return "&bUltra"
  3408. if {mineplex.rank.%{_p}%} is "&d&lHERO ":
  3409. set {_p} tab name to "&d&lHERO &e%{_p}%"
  3410. set {mineplex.displaya.%{_p}%} to "&dHero"
  3411. set {mineplex.colora.%{_p}%} to "§d"
  3412. 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}%"
  3413. return "&dHero"
  3414. if {mineplex.rank.%{_p}%} is "&a&lLEGEND ":
  3415. set {_p} tab name to "&a&lLEGEND &e%{_p}%"
  3416. set {mineplex.displaya.%{_p}%} to "&aLegend"
  3417. set {mineplex.colora.%{_p}%} to "§a"
  3418. 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}%"
  3419. return "&aLegend"
  3420. if {mineplex.rank.%{_p}%} is "&c&lTITAN ":
  3421. set {_p} tab name to "&c&lTITAN &e%{_p}%"
  3422. set {mineplex.displaya.%{_p}%} to "&cTitan"
  3423. set {mineplex.colora.%{_p}%} to "§c"
  3424. 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}%"
  3425. return "&cTitan"
  3426. if {mineplex.rank.%{_p}%} is "&6&lTRAINEE ":
  3427. set {_p} tab name to "&6&lTRAINEE &e%{_p}%"
  3428. set {mineplex.displaya.%{_p}%} to "&6Trainee"
  3429. set {mineplex.colora.%{_p}%} to "§6"
  3430. 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."
  3431. return "&6Trainee"
  3432. if {mineplex.rank.%{_p}%} is "&6&lMOD ":
  3433. set {_p} tab name to "&6&lMOD &e%{_p}%"
  3434. set {mineplex.displaya.%{_p}%} to "&6Mod"
  3435. set {mineplex.colora.%{_p}%} to "§6"
  3436. 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."
  3437. return "&6Mod"
  3438. if {mineplex.rank.%{_p}%} is "&6&lSR.MOD ":
  3439. set {_p} tab name to "&6&lSR.MOD &e%{_p}%"
  3440. set {mineplex.displaya.%{_p}%} to "&6Sr.Mod"
  3441. set {mineplex.colora.%{_p}%} to "§6"
  3442. 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."
  3443. return "&6Sr.Mod"
  3444. if {mineplex.rank.%{_p}%} is "&6&lC.MOD ":
  3445. set {_p} tab name to "&6&lC.MOD &e%{_p}%"
  3446. set {mineplex.displaya.%{_p}%} to "&6C.Mod"
  3447. set {mineplex.colora.%{_p}%} to "§6"
  3448. 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."
  3449. return "&6C.Mod"
  3450. if {mineplex.rank.%{_p}%} is "&4&lADMIN ":
  3451. set {_p} tab name to "&4&lADMIN &e%{_p}%"
  3452. set {mineplex.displaya.%{_p}%} to "&4Admin"
  3453. set {mineplex.colora.%{_p}%} to "§4"
  3454. 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."
  3455. return "&4Admin"
  3456. if {mineplex.rank.%{_p}%} is "&4&lLEADER ":
  3457. set {_p} tab name to "&4&lLEADER &e%{_p}%"
  3458. set {mineplex.displaya.%{_p}%} to "&4Leader"
  3459. set {mineplex.colora.%{_p}%} to "§4"
  3460. 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."
  3461. return "&4Leader"
  3462. if {mineplex.rank.%{_p}%} is "&4&lOWNER ":
  3463. set {_p} tab name to "&4&lOWNER &e%{_p}%"
  3464. set {mineplex.displaya.%{_p}%} to "&4Owner"
  3465. set {mineplex.colora.%{_p}%} to "§4"
  3466. 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."
  3467. return "&4Owner"
  3468. if {mineplex.rank.%{_p}%} is "&9&lBUILDER ":
  3469. set {_p} tab name to "&9&lBUIDLER &e%{_p}%"
  3470. set {mineplex.displaya.%{_p}%} to "&8Builder"
  3471. set {mineplex.colora.%{_p}%} to "§9"
  3472. set {mineplex.hover.%{_p}%} to "&9&lBUILDER%nl%&fThese creative staff members help build maps for your favorite games!"
  3473. return "&9Builder"
  3474. if {mineplex.rank.%{_p}%} is "&9&lMAPLEAD ":
  3475. set {_p} tab name to "&9&lMAPLEAD &e%{_p}%"
  3476. set {mineplex.displaya.%{_p}%} to "&9MapLead"
  3477. set {mineplex.colora.%{_p}%} to "§9"
  3478. 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."
  3479. return "&9MapLead"
  3480. if {mineplex.rank.%{_p}%} is "&9&lMAPPER ":
  3481. set {_p} tab name to "&9&lMAPPER &e%{_p}%"
  3482. set {mineplex.displaya.%{_p}%} to "&9Mapper"
  3483. set {mineplex.colora.%{_p}%} to "§9"
  3484. 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!"
  3485. return "&9Mapper"
  3486. if {mineplex.rank.%{_p}%} is "&6&lJR.DEV ":
  3487. set {mineplex.displaya.%{_p}%} to "&6Jr.Dev"
  3488. set {mineplex.colora.%{_p}%} to "§c"
  3489. 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."
  3490. return "&6Jr.Dev"
  3491. if {mineplex.rank.%{_p}%} is "&4&lDEV ":
  3492. set {_p} tab name to "&4&lDEV &e%{_p}%"
  3493. set {mineplex.displaya.%{_p}%} to "&4Dev"
  3494. set {mineplex.colora.%{_p}%} to "§4"
  3495. 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."
  3496. return "&4Dev"
  3497. if {mineplex.rank.%{_p}%} is "&5&lTWITCH ":
  3498. set {_p} tab name to "&5&lTWITCH &e%{_p}%"
  3499. set {mineplex.displaya.%{_p}%} to "&5Twitch"
  3500. set {mineplex.colora.%{_p}%} to "§5"
  3501. set {mineplex.hover.%{_p}%} to "&5&lTWITCH%nl%&fA Twitch streamer who often features%nl%&fMinepex in their streams."
  3502. return "&5Twitch"
  3503. if {mineplex.rank.%{_p}%} is "&c&lYOUTUBE ":
  3504. set {_p} tab name to "&c&lYOUTUBE &e%{_p}%"
  3505. set {mineplex.displaya.%{_p}%} to "&cYouTube"
  3506. set {mineplex.colora.%{_p}%} to "§c"
  3507. 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."
  3508. return "&cYouTube"
  3509. if {mineplex.rank.%{_p}%} is "&f&lEVENT ":
  3510. set {_p} tab name to "&f&lEVENT &e%{_p}%"
  3511. set {mineplex.displaya.%{_p}%} to "&fEvent"
  3512. set {mineplex.colora.%{_p}%} to "§f"
  3513. set {mineplex.hover.%{_p}%} to "&f&lEVENT%nl%&f???"
  3514. return "&fEvent"
  3515. if {mineplex.rank.%{_p}%} is "&5&lYT ":
  3516. set {_p} tab name to "&5&lYT &e%{_p}%"
  3517. set {mineplex.displaya.%{_p}%} to "&5YT"
  3518. set {mineplex.colora.%{_p}%} to "§5"
  3519. set {mineplex.hover.%{_p}%} to "&5&lYT%nl%&fA YouTuber who creates content for%nl%&for related to Mineplex."
  3520. return "&5YT"
  3521. if {mineplex.rank.%{_p}%} is "&3&lETERNAL ":
  3522. set {_p} tab name to "&3&lETERNAL &e%{_p}%"
  3523. set {mineplex.displaya.%{_p}%} to "&3Eternal"
  3524. set {mineplex.colora.%{_p}%} to "§3"
  3525. 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}%"
  3526. return "&3Eternal"
  3527. if {mineplex.rank.%{_p}%} is "&9&lSUPPORT ":
  3528. set {mineplex.displaya.%{_p}%} to "&9Support"
  3529. set {mineplex.colora.%{_p}%} to "§9"
  3530. set {mineplex.hover.%{_p}%} to "&9&lSUPPORT%nl%&fSupport agents handle tickets and%nl%&fprovide customer service."
  3531. return "&9Support"
  3532. if {mineplex.rank.%{_p}%} is "&9&lARTIST ":
  3533. set {mineplex.displaya.%{_p}%} to "&9Artist"
  3534. set {mineplex.colora.%{_p}%} to "§9"
  3535. 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."
  3536. return "&9Artist"
  3537.  
  3538. on death of player:
  3539. if attacker is a player:
  3540. if projectile is set:
  3541. set the death message to "&9Death> &e%victim% &7killed by &e%attacker% &7with &eArchery&7."
  3542. if attacker is not a player:
  3543. if attacker is set:
  3544. set {_dm} to 1st char in each word of "%attacker%" to caps
  3545. set the death message to "&9Death> &e%victim% &7killed by &e%{_dm}%&7."
  3546.  
  3547. on join:
  3548. wait 2 ticks
  3549. rankLoad(player, 1, 0)
  3550. loop all players:
  3551. updateRankAPI(loop-player)
  3552.  
  3553. on flight toggle:
  3554. if {mineplex.config.doublejump} is "true":
  3555. if {doublejump.%uuid of player%} is set:
  3556. if player's gamemode is not creative:
  3557. cancel event
  3558. delete {doublejump.%uuid of player%}
  3559. wait 0.1 tick
  3560. set player's flight state to false
  3561. push player upward at speed 0.3
  3562. push player forward at speed 0.9
  3563. play raw sound "mob.ghast.fireball" at player with pitch 2 volume 0.99
  3564. else:
  3565. stop
  3566. else:
  3567. stop
  3568. else:
  3569. stop
  3570.  
  3571. on jump:
  3572. if player's gamemode is not creative:
  3573. if {doublejump.%uuid of player%} is not set:
  3574. if block below player is not air or water:
  3575. set player's flight state to true
  3576. set {doublejump.%uuid of player%} to true
  3577. else:
  3578. stop
  3579. else:
  3580. stop
  3581. else:
  3582. stop
  3583.  
  3584. on quit:
  3585. set {mineplex.rank.uuid.%uuid of player%} to {mineplex.rank.%player%}
  3586.  
  3587. #Chat System
  3588.  
  3589. on chat:
  3590. set {_get} to getPlayerdata(player, "muted")
  3591. if {_get} is "yes":
  3592. if {muted::%player%::type} is "perm":
  3593. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  3594. cancel event
  3595. stop
  3596. if {muted::%player%::type} is "temp":
  3597. broadcast "%{muted::%player%::when}%"
  3598. set {_waited} to difference between now and {muted::%player%::when}
  3599. broadcast "%{_waited}%"
  3600. if {_waited} is less than {muted::%player%::time}:
  3601. broadcast "time check done"
  3602. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  3603. cancel event
  3604. stop
  3605. if message contains "hack" or "hax":
  3606. cancel event
  3607. 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}%"
  3608. stop
  3609. if {mineplex.vanish.%player%} is false:
  3610. if {mineplex.chatslow} is set:
  3611. if player has permission "mineplex.mod":
  3612. set {_check} to mcs((player), (message))
  3613. if {_check} is less than 0:
  3614. cancel event
  3615. delete {_check}
  3616. else:
  3617. if difference between {lastChat::%player%} and now < {mineplex.chatslow}:
  3618. cancel event
  3619. send "&9Chat> &7Chat slow enabled. Please wait."
  3620. else:
  3621. set {lastChat::%player%} to now
  3622. set {_check} to mcs((player), (message))
  3623. if {_check} is less than 0:
  3624. cancel event
  3625. delete {_check}
  3626. else if {mineplex.chatsilence} is set:
  3627. if player has permission "mineplex.trainee":
  3628. set {_check} to mcs((player), (message))
  3629. if {_check} is less than 0:
  3630. cancel event
  3631. delete {_check}
  3632. else:
  3633. cancel event
  3634. send "&9Chat> &7The chat is silenced."
  3635. else:
  3636. if {party.%player%.chat} is true:
  3637. if length of message is greater than 1:
  3638. if first character of message is "@":
  3639. cancel event
  3640. set message to "%subtext of message from characters 2 to (length of message)%"
  3641. loop {party.%{party.%player%}%::*}:
  3642. message "&5&lParty &f&l%player% &d%message%" to loop-value
  3643. else:
  3644. set {_check} to mcs((player), (message))
  3645. if {_check} is less than 0:
  3646. cancel event
  3647. delete {_check}
  3648. else:
  3649. set {_check} to mcs((player), (message))
  3650. if {_check} is less than 0:
  3651. cancel event
  3652. delete {_check}
  3653. else:
  3654. set {_check} to mcs((player), (message))
  3655. if {_check} is less than 0:
  3656. cancel event
  3657. delete {_check}
  3658. else if {mineplex.vanish.%player%} is true:
  3659. send "&eYou can not chat while incognito."
  3660. cancel event
  3661. else:
  3662. set {mineplex.vanish.%player%} to false
  3663. set {_check} to mcs((player), (message))
  3664. if {_check} is less than 0:
  3665. cancel event
  3666. delete {_check}
  3667.  
  3668. #Join, Quit, and Load Handlers
  3669.  
  3670. on join:
  3671. if player has permission "mineplex.admin":
  3672. set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
  3673. set {_c} to "{@MCRVER}" parsed as a number
  3674. if {_c} is greater than {_ver}:
  3675. send "&9MCR> &7You must be using some fancy indev version!"
  3676. send "&9MCR> &7or you're retarded and changed the version in the config!"
  3677. stop
  3678. else if {_c} is less than {_ver}:
  3679. send "&9MCR> &7Version &e%{_ver}% &7is ready for download"
  3680. else:
  3681. send "&9MCR> &7Your version of MCR is currently up to date!"
  3682. stop
  3683. send "&9MCR> &7Changelog:"
  3684. set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
  3685. loop {_var1::*}:
  3686. send "%loop-value%"
  3687.  
  3688. loop {_var::*}:
  3689. send "&9MCR> &7Version &e%loop-value% &7is ready for download"
  3690. send "&9MCR> &7End of Changelog!"
  3691. if {mineplex.gadget.enabled} is not set:
  3692. set {mineplex.gadget.enabled} to true
  3693. if {mineplex.report.id} is not set:
  3694. set {mineplex.report.id} to 1
  3695. if {mineplex.dj} is not set:
  3696. set {mineplex.dj} to true
  3697. if {mineplex.tntlauncher} is not set:
  3698. set {mineplex.tntlauncher} to true
  3699. if {poll.id.last} is not set:
  3700. set {poll.id.last} to 0
  3701. if {mineplex.ff.list::%player%} is set:
  3702. if player does not have permission "mineplex.trainee":
  3703. delete {mineplex.ff.list::%player%}
  3704. delete {mineplex.pref.ff.%player%}
  3705. if {mineplex.totalaccounts.%ip address of player%::*} does not contain "%player%":
  3706. add "%player%" to {mineplex.totalaccounts.%ip address of player%::*}
  3707.  
  3708. on load:
  3709. #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
  3710. set {_ver} to line 1 from url "http://pastebin.com/raw/LG11nc8b" parsed as a number
  3711. set {_c} to "{@MCRVER}" parsed as a number
  3712. if {_c} is more than {_ver}:
  3713. broadcast "&9MCR> &7You must be using some fancy indev version!"
  3714. broadcast "&9MCR> &7or you're retarded and changed the version in the config!"
  3715. stop
  3716. else if {_c} is less than {_ver}:
  3717. broadcast "&9MCR> &7Version &e%{_ver}% &7is ready for download"
  3718. else:
  3719. broadcast "&9MCR> &7Your version of MCR is currently up to date!"
  3720. broadcast "&9MCR> &7Client Version: {@MCRVER}"
  3721. broadcast "&9MCR> &7Server Version: %{_ver}%"
  3722. stop
  3723. broadcast "&9MCR> &7Changelog:"
  3724. set {_var1::*} to contents from url "http://pastebin.com/raw/YDB8kU1v"
  3725. loop {_var1::*}:
  3726. broadcast "%loop-value%"
  3727.  
  3728. loop {_var::*}:
  3729. broadcast "&9MCR> &7Version &e%loop-value% &7is ready for download"
  3730. broadcast "&9MCR> &7End of Changelog!"
  3731. if {mineplex.gadget.enabled} is not set:
  3732. set {mineplex.gadget.enabled} to true
  3733. if {mineplex.report.id} is not set:
  3734. set {mineplex.report.id} to 1
  3735. if {mineplex.dj} is not set:
  3736. set {mineplex.dj} to true
  3737. if {mineplex.tntlauncher} is not set:
  3738. set {mineplex.tntlauncher} to true
  3739. if {poll.id.last} is not set:
  3740. set {poll.id.last} to 0
  3741.  
  3742. function runNews(p: player) :: boolean:
  3743. send title from "&6&l%{mineplex.config.servername}%" and "%{mineplex.news.line1}%" to {_p} for 5, 60, 0
  3744. wait 3 seconds
  3745. send title from "&6&l%{mineplex.config.servername}%" and "%{mineplex.news.line2}%" to {_p} for 0, 60, 0
  3746. wait 3 seconds
  3747. send title from "&6&l%{mineplex.config.servername}%" and "%{mineplex.news.line3}%" to {_p} for 0, 60, 0
  3748. wait 3 seconds
  3749. send title from "&6&l%{mineplex.config.servername}%" and "%{mineplex.news.line4}%" to {_p} for 0, 60, 20
  3750.  
  3751. on join:
  3752. set join message to "&8Join> &7%player%"
  3753. updateRankAPI(player)
  3754. delete {mineplex.disguise.%player%}
  3755. execute console command "/ud %player%"
  3756. delete {mineplex.lastm.%player%}
  3757. delete {mineplex.lasta.%player%}
  3758. 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
  3759. if {mineplex.news.allow} is true:
  3760. runNews(player)
  3761. if {mineplex.vanish.%player%} is not set:
  3762. set {mineplex.vanish.%player%} to false
  3763. if {mineplex.overridechat} is not set:
  3764. set {mineplex.overridechat} to true
  3765. if {mineplex.vanish.%player%} is true:
  3766. send ""
  3767. send ""
  3768. send "&6&lYou are currently incognito"
  3769. send "&eThis means you are invisible to all except for those who are"
  3770. send "&4&lAdmin&f+"
  3771. send ""
  3772. send ""
  3773. if {mineplex.pref.hpv.%player%} is false:
  3774. hide all players from player
  3775. if {mineplex.pref.hpv.%player%} is not set:
  3776. set {mineplex.pref.hpv.%player%} to true
  3777. if {mineplex.pref.ff.%player%} is not set:
  3778. set {mineplex.pref.ff.%player%} to false
  3779. if {mineplex.ff.%player%} is not set:
  3780. set {mineplex.ff.%player%} to false
  3781. if {mineplex.pref.pm.%player%} is not set:
  3782. set {mineplex.pref.pm.%player%} to true
  3783. if {mineplex.pref.pc.%player%} is not set:
  3784. set {mineplex.pref.pc.%player%} to true
  3785. if {mineplex.pref.gwen.%player%} is not set:
  3786. set {mineplex.pref.gwen.%player%} to true
  3787. if {mineplex.pref.report.%player%} is not set:
  3788. set {mineplex.pref.report.%player%} to true
  3789. if {mineplex.shards.%player%} is not set:
  3790. set {mineplex.shards.%player%} to 0
  3791. if {mineplex.gems.%player%} is not set:
  3792. set {mineplex.gems.%player%} to 0
  3793. if {mineplex.particle.active.%player%} is not set:
  3794. set {mineplex.particle.active.%player%} to false
  3795. if {mineplex.arrorw.active} is not set:
  3796. set {mineplex.arrow.active} to false
  3797. if {mineplex.adminmode.%player%} is true:
  3798. set {mineplex.adminmode.%player%} to false
  3799. loop all players:
  3800. if {mineplex.vanish.%loop-player%} is true:
  3801. add loop-player to {%player%.vanishlist::*}
  3802. loop all players:
  3803. if loop-player does not have permission "mineplex.admin":
  3804. hide {%player%.vanishlist::*} from all players
  3805. delete {%player%.vanishlist::*}
  3806. delete {mineplex.tp.back.%player%}
  3807. if {mineplex.config.autoop} is "true":
  3808. if player has permission "mineplex.admin":
  3809. op the player
  3810. else:
  3811. deop the player
  3812.  
  3813. on load:
  3814. if {mineplex.news.int} is not set:
  3815. set {mineplex.news.line1} to "§b§lMineplex Core Remake"
  3816. set {mineplex.news.line2} to "§a§lThe best remake for Mineplex Commands"
  3817. set {mineplex.news.line3} to "§3§lRate this on Spigot!"
  3818. set {mineplex.news.line4} to "§c§lCheck me out on SkUnity!"
  3819. set {mineplex.news.allow} to true
  3820. set {mineplex.news.int} to true
  3821. wait 5 seconds
  3822.  
  3823. on quit:
  3824. set quit message to "&8Quit> &7%player%"
  3825. delete {mineplex.tp.back.%player%}
  3826.  
  3827. every second:
  3828. loop all players:
  3829. add 1 to {mineplex.time.%loop-player%}
  3830.  
  3831. #Forcefield
  3832.  
  3833. every 2 ticks:
  3834. loop all players:
  3835. if {mineplex.ff.list::%loop-player%} is set:
  3836. loop players in radius 4 of loop-player:
  3837. if {mineplex.pref.ff.%loop-player-2%} is false:
  3838. if loop-player-2 is not loop-player-1:
  3839. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  3840. push the loop-player-2 upwards at speed 0.3
  3841. push the loop-player-2 backwards at speed 0.45
  3842. play raw sound "mob.chicken.plop" at loop-player-2 with pitch 1 volume 10
  3843.  
  3844. #2 Factor
  3845.  
  3846. #command /2fareset <player>:
  3847. # permission: op
  3848. # trigger:
  3849. # delete {mineplex.auth.%uuid of arg-1%}
  3850. # set {mineplex.authlock.%arg-1%} to false
  3851. #
  3852. #on join:
  3853. # wait 5 ticks
  3854. # if player has permission "mineplex.2fa":
  3855. # if {mineplex.auth.%uuid of player%} is set:
  3856. # set {_t} to difference between {mineplex.authlast.%uuid of player%} and now
  3857. # set {_tc} to "1 day" parsed as a timespan
  3858. # if {_t} is less than {_tc}:
  3859. # send "&92FA> &7Authorized for 24 hours."
  3860. # else:
  3861. # set {mineplex.authlock.%player%} to true
  3862. # apply slowness 999 to player for 999 seconds
  3863. # apply blindness 999 to player for 999 seconds
  3864. # send "&92FA> &7Please enter your two-factor auth code"
  3865. # send "&92FA> &c/2fa (code)"
  3866. # else:
  3867. # stop
  3868. #
  3869. #on command:
  3870. # if {mineplex.authlock.%player%} is true:
  3871. # if executor is player:
  3872. # if command is not "2fa":
  3873. # cancel event
  3874. # send "&92FA> &7Please enter your two-factor auth code"
  3875. # send "&92FA> &c/2fa (code)"
  3876. #
  3877. #on chat:
  3878. # if {mineplex.authlock.%player%} is true:
  3879. # cancel event
  3880. # send "&92FA> &7Please enter your two-factor auth code"
  3881. # send "&92FA> &c/2fa (code)"
  3882.  
  3883. #on quit:
  3884. # delete {autowarn.%player%}
  3885.  
  3886. #Mineplex Commands
  3887.  
  3888. command /2fa [<string>] [<string>]:
  3889. permission: mineplex.2fa
  3890. permission message: &9Permissions> &7This requires Permission Rank [&9BUILDER&7].
  3891. trigger:
  3892. if arg 1 is not set:
  3893. send "&92FA> &7/2fa (code)"
  3894. else:
  3895. if {mineplex.auth.%uuid of player%} is not set:
  3896. if {authwarn.%player%} is not set:
  3897. send "&92FA> &7Hey There! This sets a code that you will have to remember for the rest of your life!"
  3898. send "&92FA> &7Do &e/2fa (code) &7if you are 100%% sure!"
  3899. set {authwarn.%player%} to true
  3900. stop
  3901. else:
  3902. set {_t} to arg 1 parsed as an integer
  3903. if {_t} is a number:
  3904. send "&92FA> &7Authorized for 24 hours."
  3905. send "&92FA> &7Saving secret..."
  3906. wait 5 ticks
  3907. set {mineplex.auth.%uuid of player%} to hashed arg 1
  3908. set {mineplex.authlock.%player%} to false
  3909. send "&92FA> &7Secret key saved."
  3910. else:
  3911. send "&92FA> &7Invalid authentication code (not a number)."
  3912. else:
  3913. set {_t} to difference between {mineplex.authlast.%uuid of player%} and now
  3914. set {_tc} to "1 day" parsed as a timespan
  3915. if {_t} is less than {_tc}:
  3916. send "&92FA> &7Authorized for 24 hours."
  3917. else:
  3918. set {_t} to arg 1 parsed as an integer
  3919. if {_t} is a number:
  3920. {mineplex.auth.%uuid of player%} is hashed arg-1:
  3921. send "&92FA> &7Authorized for 24 hours."
  3922. send "&92FA> &7Saving secret..."
  3923. wait 5 ticks
  3924. set {mineplex.auth.%uuid of player%} to hashed arg 1
  3925. remove slowness from the player
  3926. remove blindness from the player
  3927. set {mineplex.authlast.%uuid of player%} to now
  3928. set {mineplex.authlock.%player%} to false
  3929. send "&92FA> &7Secret key saved."
  3930. else:
  3931. send "&92FA> &7Invalid authentication code"
  3932. else:
  3933. send "&92FA> &7Invalid authentication code (not a number)."
  3934.  
  3935. command /tp [<text>] [<text>] [<text>] [<text>] [<text>]:
  3936. permission: mineplex.mod
  3937. permission message: &9Permissions> &7This requires Permission Rank [&9MOD&7].
  3938. trigger:
  3939. if arg-1 is not set:
  3940. send "&9Teleport> &7Commands List:"
  3941. send "&6/tp <target> &7Teleport to Player &6Mod"
  3942. send "&6/tp (b)ack &7Teleports you back to your last position &6Mod"
  3943. send "&4/tp (h)ere <player> &7Teleports Player to Self &4Admin"
  3944. send "&4/tp <player> <target> &7Teleports Player to Player &4Admin"
  3945. send "&4/tp <player> x y z &7Teleports Player cord &4Admin"
  3946. send "&4/tp all &7Teleports All to Self &4Owner"
  3947. else:
  3948. if arg-2 is not set:
  3949. if arg-1 is set:
  3950. if arg-1 is not "all":
  3951. if arg-1 is not "here" or "h" or "back" or "b":
  3952. if arg-1 parsed as player is online:
  3953. set {mineplex.tp.back.%player%} to location of player
  3954. teleport player to arg-1 parsed as player's location
  3955. set {_t} to arg-1 parsed as player
  3956. send "&9Teleport> &7Teleported to &e%{_t}%&7."
  3957. stop
  3958. else:
  3959. send "&9Teleport> &7Locating &e%arg-1%&7..."
  3960. wait 5 seconds
  3961. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  3962. stop
  3963. if arg-1 is "all":
  3964. if player has permission "mineplex.owner":
  3965. teleport all players to player
  3966. send "&9Teleport> &7You teleported &e%amount of players% Players &7to yourself."
  3967. broadcast "&9Teleport> &7You teleported to &e%player%&7."
  3968. stop
  3969. else:
  3970. send "&9Permissions> &7This requires Permission Rank [&9OWNER&7]."
  3971. stop
  3972. if arg 4 is set:
  3973. if arg-1 parsed as player is online:
  3974. set {_p} to arg-1 parsed as a player
  3975. set {_x} to arg-2 parsed as a number
  3976. set {_y} to arg-3 parsed as a number
  3977. set {_z} to arg-4 parsed as a number
  3978. if {_x} is not set:
  3979. send "&9Teleport> &7Invalid X-Coordinate [&e%arg-2%&7]."
  3980. stop
  3981. if {_y} is not set:
  3982. send "&9Teleport> &7Invalid Y-Coordinate [&e%arg-3%&7]."
  3983. stop
  3984. if {_z} is not set:
  3985. send "&9Teleport> &7Invalid Z-Coordinate [&e%arg-4%&7]."
  3986. stop
  3987. teleport {_p} to the location at {_x}, {_y}, {_z}
  3988. send "&9Teleport> &7Teleported &e%{_p}% &7%{_x}%, %{_y}%, %{_z}%."
  3989. else:
  3990. send "&9Teleport> &7Locating &e%arg-1%&7..."
  3991. wait 5 seconds
  3992. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  3993.  
  3994. if arg-1 is "here" or "h":
  3995. if player has permission "mineplex.admin":
  3996. if arg-3 is not set:
  3997. if arg-2 is set:
  3998. if arg-2 parsed as player is online:
  3999. teleport arg-2 parsed as player to player's location
  4000. send "&9Teleport> &7%player% teleported you to self." to arg-2 parsed as player
  4001. set {_t} to arg-2 parsed as player
  4002. send "&9Teleport> &7Teleported &e%arg-2% &7to self."
  4003. stop
  4004. else:
  4005. send "&9Teleport> &7Locating &e%arg-2%&7..."
  4006. wait 5 seconds
  4007. send "&9Teleport> &7Could not locate &e%arg-2%&7."
  4008. stop
  4009. else:
  4010. send "&9Permissions> &7This requires Permission Rank [&9ADMIN&7]."
  4011. stop
  4012. if arg-2 is not set:
  4013. send "&9Teleport> &7Commands List:"
  4014. send "&6/tp <target> &7Teleport to Player &6Mod"
  4015. send "&6/tp (b)ack &7Teleports you back to your last position &6Mod"
  4016. send "&4/tp (h)ere <player> &7Teleports Player to Self &4Admin"
  4017. send "&4/tp <player> <target> &7Teleports Player to Player &4Admin"
  4018. send "&4/tp <player> x y z &7Teleports Player cord &4Admin"
  4019. send "&4/tp all &7Teleports All to Self &4Owner"
  4020. if arg-1 is "back" or "b":
  4021. if {mineplex.tp.back.%player%} is set:
  4022. set {_new} to {mineplex.tp.back.%player%}
  4023. set {mineplex.tp.back.%player%} to location of player
  4024. teleport player to {_new}
  4025. send "&9Teleport> &7You have been teleported to your previous location."
  4026. else:
  4027. send "&9Teleport> &7There is no place to teleport you back to."
  4028. stop
  4029. if arg-3 is not set:
  4030. if arg-2 is set:
  4031. if player has permission "mineplex.admin":
  4032. if arg-2 parsed as player is online:
  4033. if arg-1 parsed as player is online:
  4034. set {mineplex.tp.back.%player%} to location of player
  4035. teleport arg-1 parsed as player to arg-2 parsed as player
  4036. set {_t1} to arg-1 parsed as player
  4037. set {_t} to arg-2 parsed as player
  4038. send "&9Teleport> &e%{_t1}% &7was teleported to you." to arg-2 parsed as player
  4039. send "&9Teleport> &7You were teleported to &e%{_t}%&7." to arg-1 parsed as player
  4040. stop
  4041. else:
  4042. send "&9Teleport> &7Locating &e%arg-1%&7..."
  4043. wait 5 seconds
  4044. send "&9Teleport> &7Could not locate &e%arg-1%&7."
  4045. stop
  4046. else:
  4047. send "&9Teleport> &7Locating &e%arg-2%&7..."
  4048. wait 5 seconds
  4049. send "&9Teleport> &7Could not locate &e%arg-2%&7."
  4050. stop
  4051. else:
  4052. send "&9Permissions> &7This requires Permission Rank [&9ADMIN&7]."
  4053. stop
  4054.  
  4055. command /time [<offline player>] [<string>]:
  4056. permission: mineplex.mod
  4057. permission message: &9Permissions> &7This requires Permission Rank [&9MOD&7].
  4058. trigger:
  4059. if arg 1 is not set:
  4060. send "&9Time> &7Usage: /time <playerName>"
  4061. else:
  4062. if {mineplex.time.%arg-1%} is not set:
  4063. set {mineplex.time.%arg-1%} to 0
  4064. send "&9Time> &e%arg-1% &7has spent &e%{mineplex.time.%arg-1%}%.0 Seconds &7in game"
  4065. else:
  4066. set {_tm} to {mineplex.time.%arg-1%}
  4067. if {_tm} is less than 60:
  4068. send "&9Time> &e%arg-1% &7has spent &e%{_tm}%.0 Seconds &7in game"
  4069. stop
  4070. else if {_tm} is less than 3600:
  4071. set {_final} to {_tm} / 60
  4072. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Minutes &7in game"
  4073. stop
  4074. else if {_tm} is less than 86400:
  4075. set {_final} to {_tm} / 3600
  4076. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Hours &7in game"
  4077. stop
  4078. else if {_tm} is less than 604800:
  4079. set {_final} to {_tm} / 86400
  4080. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Days &7in game"
  4081. stop
  4082. else:
  4083. set {_final} to {_tm} / 604800
  4084. send "&9Time> &e%arg-1% &7has spent &e%{_final}% Weeks &7in game"
  4085.  
  4086. command /disguise [<string>] [<string>]:
  4087. permission: mineplex.youtube
  4088. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4089. trigger:
  4090. if arg 1 is not set:
  4091. if {mineplex.disguise.%player%} is set:
  4092. send "&9Disguise> &7You are no longer disguised!"
  4093. execute console command "/ud %player%"
  4094. delete {mineplex.disguise.%player%}
  4095. set player tab name to "%{mineplex.rank.%player%}%&e%player%"
  4096. updateRankAPI(player)
  4097. else:
  4098. send "&9Disguise> &7Command List:%nl%&4/disguise <player> &7Makes you appear as target player in chat and tab &4Admin"
  4099. else:
  4100. if {mineplex.disguise.%player%} is set:
  4101. send "&9Disguise> &7You are already disguised. Please undisguise by using /disguise"
  4102. else:
  4103. set {_n} to the length of arg 1
  4104. if {_n} is greater than 16:
  4105. send "&9Disguise> &7That disguise name is not permitted!"
  4106. stop
  4107. 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 "\":
  4108. send "&9Disguise> &7That disguise name is not permitted!"
  4109. stop
  4110. set {_p1} to "%arg-1%" parsed as offline player
  4111. if {_p1} is online:
  4112. send "&9Disguise> &7this name already in use!"
  4113. stop
  4114. set {_ban} to getPlayerdata({_p1}, "banned")
  4115. set {_mute} to getPlayerdata({_p1}, "muted")
  4116. if {_ban} or {_muted} is "yes":
  4117. send "&9Disguise> &7You may not disguise as people who are muted or banned."
  4118. stop
  4119. set {_rank} to getPlayerdata({_p1}, "rank")
  4120. if {_rank} is not "All" or "Ultra" or "Hero" or "Legend" or "Titan" or "Eternal":
  4121. send "&9Disguise> &7You may not disguise as users who are staff, youtubers, or twitchers."
  4122. stop
  4123. send "&9Disguise> &7Disguise Active: &f%arg-1%"
  4124. set {_localp} to arg 1 parsed as a player
  4125. rankLoad({_localp} , 2, 1)
  4126. if {mineplex.level.%arg-1%} is not set:
  4127. set {mineplex.level.%arg-1%} to "&70"
  4128. if {mineplex.rank.%arg-1%} is not set:
  4129. set {mineplex.rank.%arg-1%} to ""
  4130. execute console command "/odisguise %player% player %arg-1%"
  4131. set {mineplex.disguise.%player%} to "%arg-1%" parsed as offline player
  4132. set {_player} to arg 1
  4133. if {mineplex.rank.%{_player}%} is not set:
  4134. set {mineplex.rank.%{_player}%} to ""
  4135. set player tab name to "%{mineplex.rank.%{_player}%}%&e%arg-1%"
  4136. updateRankAPI(player)
  4137.  
  4138. command /api [<string>] [<string>] [<string>]:
  4139. trigger:
  4140. if arg 1 is not set:
  4141. send "&9API> &7Mineplex Core API"
  4142. send "&9API> &7/api (api name)"
  4143. send "&9API> &7Current API's; &adisplayrank&7, &adisplayname"
  4144. send "&9API> &7Use /api (api name) (player) to view a different players's api output"
  4145. else:
  4146. if arg 2 is set:
  4147. set {_p} to "%arg-2%"
  4148. else:
  4149. set {_p} to "%player%"
  4150. if arg 1 is "displayrank":
  4151. if {mineplex.api.displayrank.%{_p}%} is not set:
  4152. set {mineplex.api.displayrank.%{_p}%} to "null"
  4153. send "&9API> &7Raw API Output; &f%{mineplex.api.displayrank.%{_p}%}%"
  4154. else if arg 1 is "displayname":
  4155. if {mineplex.api.displayname.%{_p}%} is not set:
  4156. set {mineplex.api.displayname.%{_p}%} to "null"
  4157. send "&9API> &7Raw API Output; &f%{mineplex.api.displayname.%{_p}%}%"
  4158. else:
  4159. send "&9API> &7Invalid API!"
  4160.  
  4161. command /give [<string>] [<string>] [<string>] [<string>] [<string>]:
  4162. aliases: /g, /item, /i
  4163. permission: mineplex.admin
  4164. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4165. trigger:
  4166. if arg 1 is not set:
  4167. send "&9Give: &7Listing Commands:"
  4168. send "&4/give (item) Admin"
  4169. send "&4/give (player) (item) (amount) Admin"
  4170. send "&4/give (player) (item) (amount) (Enchantment:level) Admin"
  4171. send "&4/give all (item) (amount) Admin"
  4172. send "&4/give all (item) (amount) (Enchantment:level) Admin"
  4173. else:
  4174. if arg 2 is not set:
  4175. set {_i1} to "%arg-1%"
  4176. replace all "_" with " " in {_i1}
  4177. set {_i} to "%{_i1}%" parsed as an item
  4178. if {_i} is an item:
  4179. send "&9Give> &7You gave &e1 %{_i}% &7to &e%player%&7."
  4180. give player {_i}
  4181. else:
  4182. send "&9Item Search> &e0 &7matches for [&e%arg-1%&7]."
  4183. send "&9Item(s) Search> &7Invalid [&e%arg-1%&7]."
  4184. if arg 2 is set:
  4185. if arg 3 is set:
  4186. if arg 1 is "all":
  4187. set {_i1} to "%arg-2%"
  4188. replace all "_" with " " in {_i1}
  4189. set {_i} to "%{_i1}%" parsed as an item
  4190. set {_a} to "%arg-3%" parsed as a number
  4191. if {_i} is an item:
  4192. if {_a} is a number:
  4193. send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &eALL&7."
  4194. send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to all players
  4195. loop all players:
  4196. loop {_a} times:
  4197. give loop-player {_i}
  4198. else:
  4199. send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
  4200. send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
  4201. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
  4202. loop all players:
  4203. give loop-player {_i}
  4204. else:
  4205. send "&9Item Search> &e0 &7matches for [&e%{_i1}%&7]."
  4206. send "&9Item(s) Search> &7Invalid [&e%{_i}%&7]."
  4207. else:
  4208. set {_i1} to "%arg-2%"
  4209. replace all "_" with " " in {_i1}
  4210. set {_i} to "%{_i1}%" parsed as an item
  4211. set {_a} to "%arg-3%" parsed as a number
  4212. set {_p} to "%arg-1%" parsed as a player
  4213. if {_i} is an item:
  4214. if {_p} is online:
  4215. if {_a} is a number:
  4216. send "&9Give> &7You gave &e%{_a}% %{_i}% &7to &e%{_p}%&7."
  4217. send "&9Give> &7You received &e%{_a}% %{_i}% &7from &e%player%&7." to {_p}
  4218. loop {_a} times:
  4219. give {_p} {_i}
  4220. else:
  4221. send "&9Give> &7Invalid Amount [%arg-3%]. Defaulting to [1]."
  4222. send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
  4223. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
  4224. give {_p} {_i}
  4225. else:
  4226. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  4227. send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
  4228. stop
  4229. else:
  4230. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4231. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4232. else:
  4233. if arg 1 is "all":
  4234. set {_i1} to "%arg-2%"
  4235. replace all "_" with " " in {_i1}
  4236. set {_i} to "%{_i1}%" parsed as an item
  4237. if {_i} is an item:
  4238. send "&9Give> &7You gave &e1 %{_i}% &7to &eALL&7."
  4239. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to all players
  4240. loop all players:
  4241. give loop-player {_i}
  4242. else:
  4243. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4244. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4245. else:
  4246. set {_i1} to "%arg-2%"
  4247. replace all "_" with " " in {_i1}
  4248. set {_i} to "%{_i1}%" parsed as an item
  4249. set {_p} to "%arg-1%" parsed as a player
  4250. if {_i} is an item:
  4251. if {_p} is online:
  4252. send "&9Give> &7You gave &e1 %{_i}% &7to &e%{_p}%&7."
  4253. send "&9Give> &7You received &e1 %{_i}% &7from &e%player%&7." to {_p}
  4254. give {_p} {_i}
  4255. else:
  4256. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  4257. send "&9Online Player(s) Search> &7Invalid [&e%arg-1%&7]."
  4258. stop
  4259. else:
  4260. send "&9Item Search> &e0 &7matches for [&e%arg-2%&7]."
  4261. send "&9Item(s) Search> &7Invalid [&e%arg-2%&7]."
  4262.  
  4263. #/givestat player stat amount
  4264. command /givestat [<offline player>] [<string>] [<string>] [<string>]:
  4265. permission: mineplex.admin
  4266. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4267. trigger:
  4268. if arg 1 is not set:
  4269. send "&9Stats> &e/givestat (player) (stat) (amount)"
  4270. else if arg 1 is set:
  4271. if arg 2 is set:
  4272. if arg 3 parsed as a number is set:
  4273. if arg 2 is "Global.ExpEarned":
  4274. set {_lvl} to arg 3 parsed as a number
  4275. if {_lvl} is less than 0:
  4276. send "&9Stats> &7Unknown value for &eGlobal.ExpEarned&7!"
  4277. stop
  4278. else if {_lvl} is less than 20:
  4279. set {_temp} to "&7%{_lvl}%"
  4280. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4281. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4282. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4283. stop
  4284. else if {_lvl} is less than 40:
  4285. set {_temp} to "&9%{_lvl}%"
  4286. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4287. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4288. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4289. stop
  4290. else if {_lvl} is less than 60:
  4291. set {_temp} to "&2%{_lvl}%"
  4292. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4293. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4294. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4295. stop
  4296. else if {_lvl} is less than 80:
  4297. set {_temp} to "&6%{_lvl}%"
  4298. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4299. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4300. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4301. stop
  4302. else if {_lvl} is less than or equal to 100:
  4303. set {_temp} to "&c%{_lvl}%"
  4304. set {mineplex.level.%arg-1%} to "%{_temp}%"
  4305. send "&9Stats> &7Applied &e%{_lvl}% Global.ExpEarned &7to &e%arg-1%&7."
  4306. setPlayerdata(arg-1, "level", "%{_lvl}%")
  4307. stop
  4308. else if arg 2 is "Global.GemsEarned":
  4309. set {_num} to arg 3 parsed as a number
  4310. set {_get} to getPlayerdata(arg-1, "stats.global.gems")
  4311. set {_cur} to {_get} parsed as a number
  4312. add {_num} to {_cur}
  4313. setPlayerdata(arg-1, "stats.global.gems", "%{_cur}%")
  4314. send "&9Stats> &7Applied &e%{_num}% Global.GemsEarned &7to &e%arg-1%&7."
  4315. else if arg 2 is "Global.GamesPlayed":
  4316. set {_num} to arg 3 parsed as a number
  4317. set {_get} to getPlayerdata(arg-1, "stats.global.games")
  4318. set {_cur} to {_get} parsed as a number
  4319. add {_num} to {_cur}
  4320. setPlayerdata(arg-1, "stats.global.games", "%{_cur}%")
  4321. send "&9Stats> &7Applied &e%{_num}% Global.GamesPlayed &7to &e%arg-1%&7."
  4322. else if arg 2 is "Global.DailyRewards":
  4323. set {_num} to arg 3 parsed as a number
  4324. set {_get} to getPlayerdata(arg-1, "stats.global.dailyr")
  4325. set {_cur} to {_get} parsed as a number
  4326. add {_num} to {_cur}
  4327. setPlayerdata(arg-1, "stats.global.dailyr", "%{_cur}%")
  4328. send "&9Stats> &7Applied &e%{_num}% Global.DailyRewards &7to &e%arg-1%&7."
  4329. else if arg 2 is "Global.TimesVoted":
  4330. set {_num} to arg 3 parsed as a number
  4331. set {_get} to getPlayerdata(arg-1, "stats.global.voted")
  4332. set {_cur} to {_get} parsed as a number
  4333. add {_num} to {_cur}
  4334. setPlayerdata(arg-1, "stats.global.voted", "%{_cur}%")
  4335. send "&9Stats> &7Applied &e%{_num}% Global.TimesVoted &7to &e%arg-1%&7."
  4336. else if arg 2 is "Global.ChestsOpened":
  4337. set {_num} to arg 3 parsed as a number
  4338. set {_get} to getPlayerdata(arg-1, "stats.global.chests")
  4339. set {_cur} to {_get} parsed as a number
  4340. add {_num} to {_cur}
  4341. setPlayerdata(arg-1, "stats.global.chests", "%{_cur}%")
  4342. send "&9Stats> &7Applied &e%{_num}% Global.ChestsOpened &7to &e%arg-1%&7."
  4343. else:
  4344. send "&9Stats> &e/givestat (player) (stat) (amount)"
  4345. else:
  4346. send "&9Stats> &e/givestat (player) (stat) (amount)"
  4347. else:
  4348. send "&9Stats> &e/givestat (player) (stat) (amount)"
  4349.  
  4350. command /stats [<offline player>] [<string>]:
  4351. trigger:
  4352. if arg 1 is not set:
  4353. set {_p} to player
  4354. set {_good} to true
  4355. else:
  4356. if arg 1 is online:
  4357. set {_p} to arg 1
  4358. set {_good} to true
  4359. else:
  4360. send "&9Online Player Search> &e0 &7matches for [&e%arg-1%&7]."
  4361. if {_good} is true:
  4362. open chest with 5 rows named "%{_p}%'s Stats" to player
  4363. wait 1 tick
  4364. set {_tm} to {mineplex.time.%{_p}%}
  4365. if {_tm} is less than 60:
  4366. set {_global.time} to "%{_final}%.0 Seconds"
  4367. else if {_tm} is less than 3600:
  4368. set {_final} to {_tm} / 60
  4369. set {_global.time} to "%{_final}% Minutes"
  4370. else if {_tm} is less than 86400:
  4371. set {_final} to {_tm} / 3600
  4372. set {_global.time} to "%{_final}% Hours"
  4373. else if {_tm} is less than 604800:
  4374. set {_final} to {_tm} / 86400
  4375. set {_global.time} to "%{_final}% Days"
  4376. else:
  4377. set {_final} to {_tm} / 604800
  4378. set {_global.time} to "%{_final}% Weeks"
  4379. set {_global.gems} to getPlayerdata({_p}, "stats.global.gems")
  4380. set {_global.games} to getPlayerdata({_p}, "stats.global.games")
  4381. set {_global.dailyr} to getPlayerdata({_p}, "stats.global.dailyr")
  4382. set {_global.voted} to getPlayerdata({_p}, "stats.global.voted")
  4383. set {_global.chests} to getPlayerdata({_p}, "stats.global.chests")
  4384. 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
  4385.  
  4386. command /mcr:
  4387. trigger:
  4388. send "&9Plugin> &7Mineplex Core"
  4389. send "&9Plugin> &7Running MCR: &e{@MCRVER}"
  4390. send "&9Plugin> &7Hotfix/Release Cycle: &e{@MCRHOTFIX}"
  4391. send "&9Plugin> &7by &aWheezyGold7931&7, &eTheSkripterDK&7, &eTorksi&7, &eY7S&7, and &eOttelino"
  4392. send "&9Plugin> &7Special thanks to LimeGlass, Rezz, Citrin_, Boobah, and SomethingPlayzMC"
  4393. send ""
  4394. send "&9Patreon> &7Huge Thanks to my Patreons:"
  4395. send "&9Patreon> &eCitrin_"
  4396. send "&9Patreon> &eRealTME01"
  4397. send "&9Patreon> &etermanator1128"
  4398. send "&9Patreon> &eTreyRuffy"
  4399. send "&9Patreon> &e1v1InBed"
  4400. send "&9Patreon> &exLengoBug5"
  4401. send "&9Patreon> &7If you want to be listed there than support me on Patreon!:"
  4402. send "&9Patreon> &bhttps://www.patreon.com/WheezyGold7931"
  4403.  
  4404. command /a [<text>]:
  4405. aliases: /admin
  4406. trigger:
  4407. if arg 1 is not set:
  4408. send "&9Admin> &7Corect Usage: /a (message)"
  4409. stop
  4410. if {mineplex.disguise.%player%} is set:
  4411. send "&9Admin> &7Disguised users cannot use /a while disguised!"
  4412. stop
  4413. else:
  4414. set {_p} to player
  4415. set {_get} to getPlayerdata(player, "muted")
  4416. if {_get} is "yes":
  4417. if {muted::%player%::type} is "perm":
  4418. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  4419. stop
  4420. if {muted::%player%::type} is "temp":
  4421. set {_waited} to difference between {muted::%player%::when} and now
  4422. if {_waited} is less than {muted::%player%::time}:
  4423. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  4424. stop
  4425. if {mineplex.rank.%{_p}%} is "":
  4426. set {_display} to "Player %{_p}%"
  4427. else:
  4428. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  4429. if player has permission "mineplex.trainee":
  4430. loop all players:
  4431. if loop-player has permission "mineplex.trainee":
  4432. send "%{_display}% &d%arg-1%" to loop-player
  4433. play "NOTE_PLING" to loop-player at volume 0.5
  4434. else:
  4435. send "%{_display}% &d%arg-1%"
  4436. play "NOTE_PLING" to player at volume 0.5
  4437. loop all players:
  4438. if loop-player has permission "mineplex.trainee":
  4439. send "%{_display}% &d%arg-1%" to loop-player
  4440. play "NOTE_PLING" to loop-player at volume 0.5
  4441.  
  4442. command /ma [<player>] [<text>]:
  4443. trigger:
  4444. if {mineplex.disguise.%player%} is set:
  4445. send "&9Admin> &7Disguised users cannot use /a while disguised!"
  4446. stop
  4447. else:
  4448. set {_p} to player
  4449. if {mineplex.rank.%{_p}%} is "":
  4450. set {_display} to "&fPlayer %{_p}%"
  4451. else:
  4452. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  4453. if {mineplex.rank.%arg-1%} is "":
  4454. set {_display2} to "&fPlayer %arg-1%"
  4455. else:
  4456. set {_display2} to "%{mineplex.displaya.%arg-1%}% %arg-1%"
  4457. if player has permission "mineplex.trainee":
  4458. if argument 1 and argument 2 is set:
  4459. send "&d-> %{_display2}% &d%arg 2%"
  4460. send "&d<- %{_display}% &d%arg 2%" to arg-1
  4461. set {mineplex.lasta.%player%} to arg-1
  4462. play "NOTE_PLING" to player at volume 0.5
  4463. play "NOTE_PLING" to arg-1 at volume 0.5
  4464. loop all players:
  4465. if loop-player has permission "mineplex.trainee":
  4466. if loop-player is not player or arg-1:
  4467. send "%{_display}% &d-> %{_display2}% &d%arg 2%" to loop-player
  4468. else:
  4469. send "&9Message> &cErr...something went wrong?"
  4470. else:
  4471. send "&9Permissions> &7This requires Permission Rank [&9TRAINEE&7]."
  4472.  
  4473. command /ra [<text>]:
  4474. permission: mineplex.trainee
  4475. permission message: &9Permissions> &7This requires Permission Rank [&9TRAINEE&7].
  4476. trigger:
  4477. if {mineplex.disguise.%player%} is set:
  4478. set {_p} to {mineplex.disguise.%player%}
  4479. else:
  4480. set {_p} to player
  4481. if {mineplex.rank.%{_p}%} is "":
  4482. set {_display} to "&fPlayer %{_p}%"
  4483. else:
  4484. set {_display} to "%{mineplex.displaya.%{_p}%}% %{_p}%"
  4485. if {mineplex.rank.%{mineplex.lasta.%player%}%} is "":
  4486. set {_display2} to "&fPlayer %{mineplex.lasta.%player%}%"
  4487. else:
  4488. set {_display2} to "%{mineplex.displaya.%{mineplex.lasta.%player%}%}% %{mineplex.lasta.%player%}%"
  4489. if {mineplex.lasta.%player%} is not set:
  4490. send "&9Message> &7You have not messaged anyone recently."
  4491. stop
  4492. else:
  4493. if argument 1 is set:
  4494. send "&d-> %{_display2}% &d%arg 1%"
  4495. send "&d<- %{_display}% &d%arg-1%" to {mineplex.lasta.%player%}
  4496. play "NOTE_PLING" to player at volume 0.5
  4497. play "NOTE_PLING" to {mineplex.lasta.%player%} at volume 0.5
  4498. loop all players:
  4499. if loop-player has permission "mineplex.trainee":
  4500. if loop-player is not player or {mineplex.lasta.%player%}:
  4501. send "%{_display}% &d-> %{_display2}% &d%arg 1%" to loop-player
  4502. else:
  4503. send "&9Message> &cErr...something went wrong?"
  4504.  
  4505. command /vanish:
  4506. aliases: /incognito
  4507. permission: mineplex.trainee
  4508. permission message: &9Permissions> &7This requires Permission Rank [&9TRAINEE&7].
  4509. trigger:
  4510. if {mineplex.vanish.%player%} is true:
  4511. loop all players:
  4512. loop-value doesn't have permission "mineplex.admin"
  4513. add loop-value to {_vanishto::*}
  4514.  
  4515. reveal player from all players
  4516. set {mineplex.vanish.%player%} to false
  4517. send "&9Moderation> &7Disabled moderator mode."
  4518. send "&9Incognito> &7You are no longer incognito. Your status will only change when you run &e/vanish &7again."
  4519. else:
  4520. loop all players:
  4521. loop-value doesn't have permission "mineplex.admin"
  4522. add loop-value to {_vanishto::*}
  4523.  
  4524. hide player from {_vanishto::*}
  4525. set {mineplex.vanish.%player%} to true
  4526. send "&9Moderation> &7Enabled moderator mode."
  4527. send "&9Incognito> &7You are now incognito. Your status will only change when you run &e/vanish &7again."
  4528.  
  4529. function friendButtons(p: player) :: number:
  4530. set {_t} to "Steve" parsed as an offline player
  4531. set slot 0 of {_p}'s current inventory to {_t}'s skull named "&fFriends" with lore ""
  4532. set slot 2 of {_p}'s current inventory to rose named "&fFriend Requests" with lore ""
  4533. set slot 4 of {_p}'s current inventory to tnt named "&fDelete Friends" with lore ""
  4534. set slot 6 of {_p}'s current inventory to book and quill named "&fSend Friend Request" with lore ""
  4535. set slot 8 of {_p}'s current inventory to sign item named "&7Toggle friends to display in chat" with lore ""
  4536.  
  4537. function friendClean(p: player) :: number:
  4538. set {_s} to 18
  4539. loop 27 times:
  4540. set slot {_s} of {_p}'s current inventory to air
  4541. add 1 to {_s}
  4542. if {_s} = 44:
  4543. exit loop
  4544. friendButtons({_p})
  4545.  
  4546. function friendMain(p: player) :: number:
  4547. open chest with 6 rows named "Friends" to {_p}
  4548. friendClean({_p})
  4549. set {_s} to 18
  4550. loop {friends.list.%{_p}%::*}:
  4551. set {_t} to "%loop-value%" parsed as offline player
  4552. if {_t} is online:
  4553. set {_a} to "&2Online"
  4554. set {_w} to "&e%{_t}'s world%"
  4555. 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"
  4556. else:
  4557. set {_a} to "&cOffline"
  4558. 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"
  4559. add 1 to {_s}
  4560. if {_s} = 44:
  4561. exit loop
  4562.  
  4563. function friendDel(p: player) :: number:
  4564. open chest with 6 rows named "Delete Friends" to {_p}
  4565. friendClean({_p})
  4566. set {_s} to 18
  4567. loop {friends.list.%{_p}%::*}:
  4568. set {_t} to "%loop-value%" parsed as offline player
  4569. if {_t} is online:
  4570. set {_a} to "&2Online"
  4571. set {_w} to "&e%{_t}'s world%"
  4572. 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"
  4573. else:
  4574. set {_a} to "&cOffline"
  4575. 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"
  4576. add 1 to {_s}
  4577. if {_s} = 44:
  4578. exit loop
  4579.  
  4580. function friendReq(p: player) :: number:
  4581. open chest with 6 rows named "Friend Requests" to {_p}
  4582. friendClean({_p})
  4583. set {_s} to 18
  4584. loop {friends.request.%{_p}%::*}:
  4585. set {_t} to "%loop-value%" parsed as offline player
  4586. 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"
  4587. add 1 to {_s}
  4588. if {_s} = 44:
  4589. exit loop
  4590.  
  4591. command /friend [<string>] [<string>]:
  4592. aliases: /f
  4593. trigger:
  4594. if arg 1 is not set:
  4595. friendMain(player)
  4596. else:
  4597. if arg 1 is "%player%":
  4598. send "&9Friends> &7You cannot friend yourself!"
  4599. stop
  4600. stop
  4601. loop {friends.list.%arg-1%::*}:
  4602. if loop-value is "%player%":
  4603. set {_f} to true
  4604. loop {friends.request.%arg-1%::*}:
  4605. if loop-value is "%player%":
  4606. set {_a} to true
  4607. if {_a} is true:
  4608. send "&9Friends> &a%arg-1% &7has yet to respond to your friend request."
  4609. else if {_f} is true:
  4610. send "&9Friends> &7You are already friends with &a%arg-1%"
  4611. else:
  4612. add "%player%" to {friends.request.%arg-1%::*}
  4613. send "&9Friends> &7Added &a%arg-1% &7to your friends list!"
  4614.  
  4615. on inventory click:
  4616. if inventory name of player's current inventory is "Friends":
  4617. if clicked slot is 2:
  4618. friendReq(player)
  4619. if clicked slot is 4:
  4620. friendDel(player)
  4621. cancel event
  4622. if inventory name of player's current inventory is "Friend Requests":
  4623. if clicked slot is 0:
  4624. friendMain(player)
  4625. if clicked slot is 4:
  4626. friendDel(player)
  4627. else:
  4628. set {_n} to name of clicked item
  4629. if {_n} contains "&7Friend request from ":
  4630. replace all "&7Friend request from " with "" in {_n}
  4631. set {_f} to uncolored {_n}
  4632. remove {_f} from {friends.request.%player%::*}
  4633. add {_f} to {friends.list.%player%::*}
  4634. add "%player%" to {friends.list.%{_f}%::*}
  4635. send "&9Friends> &aYou &7and &a%{_f}% &7are now friends!"
  4636. friendReq(player)
  4637. cancel event
  4638. if inventory name of player's current inventory is "Delete Friends":
  4639. if clicked slot is 0:
  4640. friendMain(player)
  4641. if clicked slot is 2:
  4642. friendReq(player)
  4643. else:
  4644. if "%clicked item%" is "player head":
  4645. if clicked slot is not 0:
  4646. set {_n} to name of clicked item
  4647. set {_f} to uncolored {_n}
  4648. replace all " " with "" in {_f}
  4649. remove {_f} from {friends.list.%player%::*}
  4650. remove {_f} from {friends.list.%{_l}%::*}
  4651. send "&9Friends> &7Deleted &a%{_f}% &7from your friends list!"
  4652. friendDel(player)
  4653. cancel event
  4654.  
  4655. command /chatslow [<integer>]:
  4656. aliases: /cs
  4657. permission: mineplex.srmod
  4658. permission message: &9Permissions> &7This requires Permission Rank [&9SR.MOD&7].
  4659. trigger:
  4660. if {mineplex.disguise.%player%} is set:
  4661. set {_p} to {mineplex.disguise.%player%}
  4662. else:
  4663. set {_p} to player
  4664. if argument 1 is set:
  4665. if {mineplex.chatsilence} is set:
  4666. send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
  4667. stop
  4668. else:
  4669. if {mineplex.chatslow} is not set:
  4670. set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
  4671. send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
  4672. else:
  4673. set {mineplex.chatslow} to "%arg-2% seconds" parsed as timespan
  4674. send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
  4675. send "&9Chat> &6%{_p}% &7has set the chat delay to &6%arg-1%&7 seconds." to all players
  4676. else:
  4677. if {mineplex.chatsilence} is set:
  4678. send "&9Chat> &7Chat is in silence mode. Disable silence mode to activate slow chat."
  4679. stop
  4680. else:
  4681. if {mineplex.chatslow} is set:
  4682. delete {mineplex.chatslow}
  4683. send "&9Chat> &6%{_p}% &7has disabled chat slow." to all players
  4684. else:
  4685. send "&9Message> &cYou didn't enter a time limit! Defaulting to 10 seconds."
  4686. set {mineplex.chatslow} to "10 seconds" parsed as timespan
  4687. send "&9Chat> &6%{_p}% &7has enabled chat slow." to all players
  4688. send "&9Chat> &6%{_p}% &7has set the chat delay to &610 &7seconds." to all players
  4689. command /silence:
  4690. permission: mineplex.admin
  4691. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4692. trigger:
  4693. if {mineplex.chatslow} is set:
  4694. delete {mineplex.chatslow}
  4695. send "&9Chat> &6%player% &7has disabled chat slow." to all players
  4696. set {mineplex.chatsilence} to true
  4697. send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
  4698. stop
  4699. if {mineplex.chatsilence} is set:
  4700. delete {mineplex.chatsilence}
  4701. send "&9Chat> &7The chat is no longer silenced." to all players
  4702. else:
  4703. set {mineplex.chatsilence} to true
  4704. send "&9Chat> &7The chat has been silenced for &aPermanent&7." to all players
  4705.  
  4706. command /locate [<string>]:
  4707. aliases: /find, /where
  4708. permission: mineplex.trainee
  4709. permission message: &9Permissions> &7This requires Permission Rank [&9TRAINEE&7].
  4710. trigger:
  4711. if argument 1 is set:
  4712. set {_tmp} to arg 1 parsed as an offline player
  4713. if {_tmp} is online:
  4714. set {_mineplex.locate.temp} to "%{_tmp}'s world%"
  4715. send "&9Locate> &7Located [&e%arg-1%&7] at &9%{_mineplex.locate.temp}%"
  4716. else:
  4717. send "&9Locate> &7Failed to locate [&e%arg-1%&7]."
  4718. else:
  4719. send "&9Locate> &7Player argument missing."
  4720.  
  4721. command /updaterank [<offline player>] [<string>]:
  4722. permission: mineplex.admin
  4723. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  4724. trigger:
  4725. if argument 1 or argument 2 is not set:
  4726. send "&9Client Manager> &7Listing Rank Update Commands:"
  4727. send "&f/updaterank (player) (rank): &eupdates chosen player's rank to the chosen rank"
  4728. send ""
  4729. send "&9Rank Update> &7Listing Rank List:"
  4730. send "&9Ranks> &7ALL"
  4731. send "&9Ranks> &7ULTRA"
  4732. send "&9Ranks> &7HERO"
  4733. send "&9Ranks> &7LEGEND"
  4734. send "&9Ranks> &7TITAN"
  4735. send "&9Ranks> &7ETERNAL"
  4736. send "&9Ranks> &7TRAINEE"
  4737. send "&9Ranks> &7MODERATOR"
  4738. send "&9Ranks> &7SNR_MODERATOR"
  4739. send "&9Ranks> &7CLANS_MOD"
  4740. send "&9Ranks> &7JNR_DEV"
  4741. send "&9Ranks> &7SUPPORT"
  4742. send "&9Ranks> &7ADMIN"
  4743. send "&9Ranks> &7LEADER"
  4744. send "&9Ranks> &7DEVELOPER"
  4745. send "&9Ranks> &7OWNER"
  4746. send "&9Ranks> &7ARTIST"
  4747. send "&9Ranks> &7MAPLEAD"
  4748. send "&9Ranks> &7BUILDER"
  4749. send "&9Ranks> &7MAPPER"
  4750. send "&9Ranks> &7EVENT"
  4751. send "&9Ranks> &7TWITCH"
  4752. send "&9Ranks> &7YOUTUBE"
  4753. send "&9Ranks> &7YT"
  4754. set {_uuid} to uuid of arg-1
  4755. set {_allcap} to convert "%arg-2%" to all caps
  4756. if argument 2 is "ALL":
  4757. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4758. if {_c} is true:
  4759. set {mineplex.rank.%arg-1%} to ""
  4760. execute console command "/__mp__dp__ %arg-1%"
  4761. send "&9Client Manager> &7%arg-1%'s rank has been updated to None!"
  4762. send "&9Client Manager> &7Your rank has been updated to None!" to arg 1
  4763. set arg-1 tab name to "&e%arg-1%"
  4764. updateRankAPI(arg-1)
  4765. setPlayerdata(arg-1, "rank", "All")
  4766. else:
  4767. send "&9Client Manager> &c&lInvalid rank!"
  4768. else if argument 2 is "ULTRA":
  4769. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4770. if {_c} is true:
  4771. set {mineplex.rank.%arg-1%} to "&b&lULTRA "
  4772. execute console command "/__mp__dp__ %arg-1%"
  4773. send "&9Client Manager> &7%arg-1%'s rank has been updated to Ultra!"
  4774. send "&9Client Manager> &7Your rank has been updated to Ultra!" to arg 1
  4775. set arg-1 tab name to "&b&lULTRA &e%arg-1%"
  4776. updateRankAPI(arg-1)
  4777. setPlayerdata(arg-1, "rank", "Ultra")
  4778. else:
  4779. send "&9Client Manager> &c&lInvalid rank!"
  4780. else if argument 2 is "HERO":
  4781. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4782. if {_c} is true:
  4783. set {mineplex.rank.%arg-1%} to "&d&lHERO "
  4784. execute console command "/__mp__dp__ %arg-1%"
  4785. send "&9Client Manager> &7%arg-1%'s rank has been updated to Hero!"
  4786. send "&9Client Manager> &7Your rank has been updated to Hero!" to arg 1
  4787. set arg-1 tab name to "&d&lHERO &e%arg-1%"
  4788. updateRankAPI(arg-1)
  4789. setPlayerdata(arg-1, "rank", "Hero")
  4790. else:
  4791. send "&9Client Manager> &c&lInvalid rank!"
  4792. else if argument 2 is "LEGEND":
  4793. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4794. if {_c} is true:
  4795. set {mineplex.rank.%arg-1%} to "&a&lLEGEND "
  4796. execute console command "/__mp__dp__ %arg-1%"
  4797. add "mineplex.legend" to arg-1's permissions
  4798. send "&9Client Manager> &7%arg-1%'s rank has been updated to Legend!"
  4799. send "&9Client Manager> &7Your rank has been updated to Legend!" to arg 1
  4800. set arg-1 tab name to "&a&lLEGEND &e%arg-1%"
  4801. updateRankAPI(arg-1)
  4802. setPlayerdata(arg-1, "rank", "Legend")
  4803. else:
  4804. send "&9Client Manager> &c&lInvalid rank!"
  4805. else if argument 2 is "TITAN":
  4806. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4807. if {_c} is true:
  4808. set {mineplex.rank.%arg-1%} to "&c&lTITAN "
  4809. execute console command "/__mp__dp__ %arg-1%"
  4810. add "mineplex.legend" to arg-1's permissions
  4811. add "mineplex.titan" to arg-1's permissions
  4812. send "&9Client Manager> &7%arg-1%'s rank has been updated to Titan!"
  4813. send "&9Client Manager> &7Your rank has been updated to Titan!" to arg 1
  4814. set arg-1 tab name to "&c&lTITAN &e%arg-1%"
  4815. updateRankAPI(arg-1)
  4816. setPlayerdata(arg-1, "rank", "Titan")
  4817. else:
  4818. send "&9Client Manager> &c&lInvalid rank!"
  4819. else if argument 2 is "ETERNAL":
  4820. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4821. if {_c} is true:
  4822. set {mineplex.rank.%arg-1%} to "&3&lETERNAL "
  4823. execute console command "/__mp__dp__ %arg-1%"
  4824. add "mineplex.legend" to arg-1's permissions
  4825. add "mineplex.titan" to arg-1's permissions
  4826. send "&9Client Manager> &7%arg-1%'s rank has been updated to Eternal!"
  4827. send "&9Client Manager> &7Your rank has been updated to Eternal!" to arg 1
  4828. set arg-1 tab name to "&3&lETERNAL &e%arg-1%"
  4829. updateRankAPI(arg-1)
  4830. setPlayerdata(arg-1, "rank", "Eternal")
  4831. else:
  4832. send "&9Client Manager> &c&lInvalid rank!"
  4833. else if argument 2 is "TRAINEE":
  4834. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4835. if {_c} is true:
  4836. set {mineplex.rank.%arg-1%} to "&6&lTRAINEE "
  4837. execute console command "/__mp__dp__ %arg-1%"
  4838. add "mineplex.trainee" to arg-1's permissions
  4839. add "mineplex.legend" to arg-1's permissions
  4840. add "mineplex.titan" to arg-1's permissions
  4841. add "mineplex.2fa" to arg-1's permissions
  4842. send "&9Client Manager> &7%arg-1%'s rank has been updated to Trainee!"
  4843. send "&9Client Manager> &7Your rank has been updated to Trainee!" to arg 1
  4844. set arg-1 tab name to "&6&lTRAINEE &e%arg-1%"
  4845. updateRankAPI(arg-1)
  4846. setPlayerdata(arg-1, "rank", "Trainee")
  4847. else:
  4848. send "&9Client Manager> &c&lInvalid rank!"
  4849. else if argument 2 is "MODERATOR":
  4850. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4851. if {_c} is true:
  4852. set {mineplex.rank.%arg-1%} to "&6&lMOD "
  4853. execute console command "/__mp__dp__ %arg-1%"
  4854. add "mineplex.trainee" to arg-1's permissions
  4855. add "mineplex.mod" to arg-1's permissions
  4856. add "mineplex.legend" to arg-1's permissions
  4857. add "mineplex.2fa" to arg-1's permissions
  4858. add "mineplex.titan" to arg-1's permissions
  4859. send "&9Client Manager> &7%arg-1%'s rank has been updated to Mod!"
  4860. send "&9Client Manager> &7Your rank has been updated to Mod!" to arg 1
  4861. set arg-1 tab name to "&6&lMOD &e%arg-1%"
  4862. updateRankAPI(arg-1)
  4863. setPlayerdata(arg-1, "rank", "Mod")
  4864. else:
  4865. send "&9Client Manager> &c&lInvalid rank!"
  4866. else if argument 2 is "SNR_MODERATOR":
  4867. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4868. if {_c} is true:
  4869. set {mineplex.rank.%arg-1%} to "&6&lSR.MOD "
  4870. execute console command "/__mp__dp__ %arg-1%"
  4871. add "mineplex.trainee" to arg-1's permissions
  4872. add "mineplex.mod" to arg-1's permissions
  4873. add "mineplex.srmod" to arg-1's permissions
  4874. add "mineplex.legend" to arg-1's permissions
  4875. add "mineplex.2fa" to arg-1's permissions
  4876. add "mineplex.titan" to arg-1's permissions
  4877. send "&9Client Manager> &7%arg-1%'s rank has been updated to Sr.Mod!"
  4878. send "&9Client Manager> &7Your rank has been updated to Sr.Mod!" to arg 1
  4879. set arg-1 tab name to "&6&lSR.MOD &e%arg-1%"
  4880. updateRankAPI(arg-1)
  4881. set "rank" to "SrMod" in yaml file "plugins/Mineplex-Core-Remake/playerdata/%{_uuid}%.yml"
  4882. setPlayerdata(arg-1, "rank", "SrMod")
  4883. else:
  4884. send "&9Client Manager> &c&lInvalid rank!"
  4885. else if argument 2 is "CLANS_MOD":
  4886. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4887. if {_c} is true:
  4888. set {mineplex.rank.%arg-1%} to "&6&lC.MOD "
  4889. execute console command "/__mp__dp__ %arg-1%"
  4890. add "mineplex.trainee" to arg-1's permissions
  4891. add "mineplex.mod" to arg-1's permissions
  4892. add "mineplex.srmod" to arg-1's permissions
  4893. add "mineplex.legend" to arg-1's permissions
  4894. add "mineplex.2fa" to arg-1's permissions
  4895. add "mineplex.titan" to arg-1's permissions
  4896. send "&9Client Manager> &7%arg-1%'s rank has been updated to C.Mod!"
  4897. send "&9Client Manager> &7Your rank has been updated to C.Mod!" to arg 1
  4898. set arg-1 tab name to "&6&lC.MOD &e%arg-1%"
  4899. updateRankAPI(arg-1)
  4900. setPlayerdata(arg-1, "rank", "CMod")
  4901. else:
  4902. send "&9Client Manager> &c&lInvalid rank!"
  4903. else if argument 2 is "ADMIN":
  4904. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4905. if {_c} is true:
  4906. set {mineplex.rank.%arg-1%} to "&4&lADMIN "
  4907. execute console command "/__mp__dp__ %arg-1%"
  4908. add "mineplex.trainee" to arg-1's permissions
  4909. add "mineplex.legend" to arg-1's permissions
  4910. add "mineplex.mod" to arg-1's permissions
  4911. add "mineplex.jrdev" to arg-1's permissions
  4912. add "mineplex.youtube" to arg-1's permissions
  4913. add "mineplex.builder" to arg-1's permissions
  4914. add "mineplex.srmod" to arg-1's permissions
  4915. add "mineplex.admin" to arg-1's permissions
  4916. add "mineplex.titan" to arg-1's permissions
  4917. add "mineplex.2fa" to arg-1's permissions
  4918. send "&9Client Manager> &7%arg-1%'s rank has been updated to Admin!"
  4919. send "&9Client Manager> &7Your rank has been updated to Admin!" to arg 1
  4920. set arg-1 tab name to "&4&lADMIN &e%arg-1%"
  4921. updateRankAPI(arg-1)
  4922. setPlayerdata(arg-1, "rank", "Admin")
  4923. else:
  4924. send "&9Client Manager> &c&lInvalid rank!"
  4925. else if argument 2 is "LEADER":
  4926. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4927. if {_c} is true:
  4928. set {mineplex.rank.%arg-1%} to "&4&lLEADER "
  4929. execute console command "/__mp__dp__ %arg-1%"
  4930. add "mineplex.trainee" to arg-1's permissions
  4931. add "mineplex.mod" to arg-1's permissions
  4932. add "mineplex.jrdev" to arg-1's permissions
  4933. add "mineplex.builder" to arg-1's permissions
  4934. add "mineplex.srmod" to arg-1's permissions
  4935. add "mineplex.admin" to arg-1's permissions
  4936. add "mineplex.youtube" to arg-1's permissions
  4937. add "mineplex.legend" to arg-1's permissions
  4938. add "mineplex.2fa" to arg-1's permissions
  4939. add "mineplex.leader" to arg-1's permissions
  4940. add "mineplex.titan" to arg-1's permissions
  4941. send "&9Client Manager> &7%arg-1%'s rank has been updated to Leader!"
  4942. send "&9Client Manager> &7Your rank has been updated to Leader!" to arg 1
  4943. set arg-1 tab name to "&4&lLEADER &e%arg-1%"
  4944. updateRankAPI(arg-1)
  4945. setPlayerdata(arg-1, "rank", "Leader")
  4946. else:
  4947. send "&9Client Manager> &c&lInvalid rank!"
  4948. else if argument 2 is "OWNER":
  4949. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4950. if {_c} is true:
  4951. set {mineplex.rank.%arg-1%} to "&4&lOWNER "
  4952. execute console command "/__mp__dp__ %arg-1%"
  4953. add "mineplex.trainee" to arg-1's permissions
  4954. add "mineplex.mod" to arg-1's permissions
  4955. add "mineplex.srmod" to arg-1's permissions
  4956. add "mineplex.admin" to arg-1's permissions
  4957. add "mineplex.jrdev" to arg-1's permissions
  4958. add "mineplex.dev" to arg-1's permissions
  4959. add "mineplex.youtube" to arg-1's permissions
  4960. add "mineplex.builder" to arg-1's permissions
  4961. add "mineplex.leader" to arg-1's permissions
  4962. add "mineplex.jrdev" to arg-1's permissions
  4963. add "mineplex.2fa" to arg-1's permissions
  4964. add "mineplex.owner" to arg-1's permissions
  4965. add "mineplex.legend" to arg-1's permissions
  4966. add "mineplex.titan" to arg-1's permissions
  4967. send "&9Client Manager> &7%arg-1%'s rank has been updated to Owner!"
  4968. send "&9Client Manager> &7Your rank has been updated to Owner!" to arg 1
  4969. set arg-1 tab name to "&4&lOWNER &e%arg-1%"
  4970. updateRankAPI(arg-1)
  4971. setPlayerdata(arg-1, "rank", "Owner")
  4972. else:
  4973. send "&9Client Manager> &c&lInvalid rank!"
  4974. else if argument 2 is "BUILDER":
  4975. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4976. if {_c} is true:
  4977. set {mineplex.rank.%arg-1%} to "&9&lBUILDER "
  4978. execute console command "/__mp__dp__ %arg-1%"
  4979. add "mineplex.titan" to arg-1's permissions
  4980. add "mineplex.legend" to arg-1's permissions
  4981. add "mineplex.2fa" to arg-1's permissions
  4982. send "&9Client Manager> &7%arg-1%'s rank has been updated to Builder!"
  4983. send "&9Client Manager> &7Your rank has been updated to Builder!" to arg 1
  4984. set arg-1 tab name to "&9&lBUIDLER &e%arg-1%"
  4985. updateRankAPI(arg-1)
  4986. setPlayerdata(arg-1, "rank", "Builder")
  4987. else:
  4988. send "&9Client Manager> &c&lInvalid rank!"
  4989. else if argument 2 is "MAPPER":
  4990. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  4991. if {_c} is true:
  4992. set {mineplex.rank.%arg-1%} to "&9&lMAPPER "
  4993. execute console command "/__mp__dp__ %arg-1%"
  4994. add "mineplex.builder" to arg-1's permissions
  4995. add "mineplex.titan" to arg-1's permissions
  4996. add "mineplex.legend" to arg-1's permissions
  4997. add "mineplex.2fa" to arg-1's permissions
  4998. send "&9Client Manager> &7%arg-1%'s rank has been updated to Mapper!"
  4999. send "&9Client Manager> &7Your rank has been updated to Mapper!" to arg 1
  5000. set arg-1 tab name to "&9&lMAPPER &e%arg-1%"
  5001. updateRankAPI(arg-1)
  5002. setPlayerdata(arg-1, "rank", "Mapper")
  5003. else:
  5004. send "&9Client Manager> &c&lInvalid rank!"
  5005. else if argument 2 is "SUPPORT":
  5006. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5007. if {_c} is true:
  5008. set {mineplex.rank.%arg-1%} to "&9&lSUPPORT "
  5009. execute console command "/__mp__dp__ %arg-1%"
  5010. add "mineplex.trainee" to arg-1's permissions
  5011. add "mineplex.legend" to arg-1's permissions
  5012. add "mineplex.jrdev" to arg-1's permissions
  5013. add "mineplex.2fa" to arg-1's permissions
  5014. add "mineplex.mod" to arg-1's permissions
  5015. add "mineplex.youtube" to arg-1's permissions
  5016. add "mineplex.builder" to arg-1's permissions
  5017. add "mineplex.srmod" to arg-1's permissions
  5018. add "mineplex.admin" to arg-1's permissions
  5019. add "mineplex.titan" to arg-1's permissions
  5020. send "&9Client Manager> &7%arg-1%'s rank has been updated to Support!"
  5021. send "&9Client Manager> &7Your rank has been updated to Support!" to arg 1
  5022. set arg-1 tab name to "&9&lSUPPORT &e%arg-1%"
  5023. updateRankAPI(arg-1)
  5024. setPlayerdata(arg-1, "rank", "Support")
  5025. else:
  5026. send "&9Client Manager> &c&lInvalid rank!"
  5027. else if argument 2 is "ARTIST":
  5028. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5029. if {_c} is true:
  5030. set {mineplex.rank.%arg-1%} to "&9&lARTIST "
  5031. execute console command "/__mp__dp__ %arg-1%"
  5032. add "mineplex.legend" to arg-1's permissions
  5033. add "mineplex.titan" to arg-1's permissions
  5034. send "&9Client Manager> &7%arg-1%'s rank has been updated to Artist!"
  5035. send "&9Client Manager> &7Your rank has been updated to Artist!" to arg 1
  5036. set arg-1 tab name to "&9&lARTIST &e%arg-1%"
  5037. updateRankAPI(arg-1)
  5038. setPlayerdata(arg-1, "rank", "Artist")
  5039. else:
  5040. send "&9Client Manager> &c&lInvalid rank!"
  5041. else if argument 2 is "MAPLEAD":
  5042. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5043. if {_c} is true:
  5044. set {mineplex.rank.%arg-1%} to "&9&lMAPLEAD "
  5045. execute console command "/__mp__dp__ %arg-1%"
  5046. add "mineplex.builder" to arg-1's permissions
  5047. add "mineplex.2fa" to arg-1's permissions
  5048. add "mineplex.titan" to arg-1's permissions
  5049. add "mineplex.legend" to arg-1's permissions
  5050. send "&9Client Manager> &7%arg-1%'s rank has been updated to MapLead!"
  5051. send "&9Client Manager> &7Your rank has been updated to MapLead!" to arg 1
  5052. set arg-1 tab name to "&9&lMAPLEAD &e%arg-1%"
  5053. updateRankAPI(arg-1)
  5054. setPlayerdata(arg-1, "rank", "Maplead")
  5055. else:
  5056. send "&9Client Manager> &c&lInvalid rank!"
  5057. else if argument 2 is "JNR_DEV":
  5058. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5059. if {_c} is true:
  5060. set {mineplex.rank.%arg-1%} to "&6&lJR.DEV "
  5061. execute console command "/__mp__dp__ %arg-1%"
  5062. add "mineplex.trainee" to arg-1's permissions
  5063. add "mineplex.mod" to arg-1's permissions
  5064. add "mineplex.srmod" to arg-1's permissions
  5065. add "mineplex.2fa" to arg-1's permissions
  5066. add "mineplex.builder" to arg-1's permissions
  5067. add "mineplex.jrdev" to arg-1's permissions
  5068. add "mineplex.legend" to arg-1's permissions
  5069. add "mineplex.titan" to arg-1's permissions
  5070. send "&9Client Manager> &7%arg-1%'s rank has been updated to Jr.Dev!"
  5071. send "&9Client Manager> &7Your rank has been updated to Jr.Dev!" to arg 1
  5072. set arg-1 tab name to "&6&lJR.DEV &e%arg-1%"
  5073. updateRankAPI(arg-1)
  5074. setPlayerdata(arg-1, "rank", "JrDev")
  5075. else:
  5076. send "&9Client Manager> &c&lInvalid rank!"
  5077. else if argument 2 is "DEVELOPER":
  5078. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5079. if {_c} is true:
  5080. set {mineplex.rank.%arg-1%} to "&4&lDEV "
  5081. execute console command "/__mp__dp__ %arg-1%"
  5082. add "mineplex.trainee" to arg-1's permissions
  5083. add "mineplex.mod" to arg-1's permissions
  5084. add "mineplex.srmod" to arg-1's permissions
  5085. add "mineplex.jrdev" to arg-1's permissions
  5086. add "mineplex.2fa" to arg-1's permissions
  5087. add "mineplex.admin" to arg-1's permissions
  5088. add "mineplex.leader" to arg-1's permissions
  5089. add "mineplex.owner" to arg-1's permissions
  5090. add "mineplex.builder" to arg-1's permissions
  5091. add "mineplex.dev" to arg-1's permissions
  5092. add "mineplex.youtube" to arg-1's permissions
  5093. add "mineplex.admin" to arg-1's permissions
  5094. add "mineplex.legend" to arg-1's permissions
  5095. add "mineplex.titan" to arg-1's permissions
  5096. send "&9Client Manager> &7%arg-1%'s rank has been updated to Dev!"
  5097. send "&9Client Manager> &7Your rank has been updated to Dev!" to arg 1
  5098. set arg-1 tab name to "&4&lDEV &e%arg-1%"
  5099. updateRankAPI(arg-1)
  5100. setPlayerdata(arg-1, "rank", "Dev")
  5101. else:
  5102. send "&9Client Manager> &c&lInvalid rank!"
  5103. else if argument 2 is "TWITCH":
  5104. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5105. if {_c} is true:
  5106. set {mineplex.rank.%arg-1%} to "&5&lTWITCH "
  5107. execute console command "/__mp__dp__ %arg-1%"
  5108. add "mineplex.twitch" to arg-1's permissions
  5109. add "mineplex.legend" to arg-1's permissions
  5110. add "mineplex.titan" to arg-1's permissions
  5111. add "mineplex.youtube" to arg-1's permissions
  5112. send "&9Client Manager> &7%arg-1%'s rank has been updated to Twitch!"
  5113. send "&9Client Manager> &7Your rank has been updated to Twitch!" to arg 1
  5114. set arg-1 tab name to "&5&lTWITCH &e%arg-1%"
  5115. updateRankAPI(arg-1)
  5116. setPlayerdata(arg-1, "rank", "Twitch")
  5117. else:
  5118. send "&9Client Manager> &c&lInvalid rank!"
  5119. else if argument 2 is "YOUTUBE":
  5120. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5121. if {_c} is true:
  5122. set {mineplex.rank.%arg-1%} to "&c&lYOUTUBE "
  5123. execute console command "/__mp__dp__ %arg-1%"
  5124. add "mineplex.youtube" to arg-1's permissions
  5125. add "mineplex.legend" to arg-1's permissions
  5126. add "mineplex.titan" to arg-1's permissions
  5127. send "&9Client Manager> &7%arg-1%'s rank has been updated to YouTube!"
  5128. send "&9Client Manager> &7Your rank has been updated to YouTube!" to arg 1
  5129. set arg-1 tab name to "&c&lYOUTUBE &e%arg-1%"
  5130. updateRankAPI(arg-1)
  5131. setPlayerdata(arg-1, "rank", "Youtube")
  5132. else:
  5133. send "&9Client Manager> &c&lInvalid rank!"
  5134. else if argument 2 is "EVENT":
  5135. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5136. if {_c} is true:
  5137. set {mineplex.rank.%arg-1%} to "&f&lEVENT "
  5138. execute console command "/__mp__dp__ %arg-1%"
  5139. add "mineplex.youtube" to arg-1's permissions
  5140. add "mineplex.legend" to arg-1's permissions
  5141. add "mineplex.titan" to arg-1's permissions
  5142. send "&9Client Manager> &7%arg-1%'s rank has been updated to Event!"
  5143. send "&9Client Manager> &7Your rank has been updated to Event!" to arg 1
  5144. set arg-1 tab name to "&f&lEVENT &e%arg-1%"
  5145. updateRankAPI(arg-1)
  5146. setPlayerdata(arg-1, "rank", "Event")
  5147. else:
  5148. send "&9Client Manager> &c&lInvalid rank!"
  5149. else if argument 2 is "YT":
  5150. set {_c} to caseSensitive("%arg-2%", "%{_allcap}%")
  5151. if {_c} is true:
  5152. set {mineplex.rank.%arg-1%} to "&5&lYT "
  5153. execute console command "/__mp__dp__ %arg-1%"
  5154. add "mineplex.youtube" to arg-1's permissions
  5155. add "mineplex.legend" to arg-1's permissions
  5156. add "mineplex.titan" to arg-1's permissions
  5157. send "&9Client Manager> &7%arg-1%'s rank has been updated to YT!"
  5158. send "&9Client Manager> &7Your rank has been updated to YT!" to arg 1
  5159. set arg-1 tab name to "&5&lYT &e%arg-1%"
  5160. updateRankAPI(arg-1)
  5161. setPlayerdata(arg-1, "rank", "Yt")
  5162. else:
  5163. send "&9Client Manager> &c&lInvalid rank!"
  5164. else:
  5165. send "&9Client Manager> &c&lInvalid rank!"
  5166. rankLoad(arg-1, 2, 0)
  5167.  
  5168. command /powerplay:
  5169. permission: mineplex.jrdev
  5170. permission message: &9Permissions> &7This requires Permission Rank [&9JR.DEV&7].
  5171. trigger:
  5172. send "&9PPC> &7SoonTM"
  5173.  
  5174. command /shard [<offline player>] [<string>] [<string>]:
  5175. permission: mineplex.admin
  5176. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5177. trigger:
  5178. if arg 1 is not set:
  5179. send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
  5180. else:
  5181. if arg 2 is not set:
  5182. send "&9Shard> &7Missing Args: &e/shard <player> <amount>"
  5183. else:
  5184. if arg 1 is not online:
  5185. send "&9Shard> &7Could not find player &e%arg-1%"
  5186. else:
  5187. set {_num} to arg 2 parsed as an integer
  5188. if {_num} is an integer:
  5189. add {_num} to {mineplex.shards.%arg-1%}
  5190. send "&9Shard> &7You gave &e%arg-2% Shards &7to &e%arg-1%&7."
  5191. send "&9Shard> &e%player% &7gave you &e%arg-2% Shards&7." to arg-1
  5192. addShards(arg-1, {_num})
  5193. else:
  5194. send "&9Shard> &7Invalid Shards Amount"
  5195.  
  5196. command /gem [<offline player>] [<string>] [<string>]:
  5197. permission: mineplex.admin
  5198. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5199. trigger:
  5200. if arg 1 is not set:
  5201. send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
  5202. else:
  5203. if arg 2 is not set:
  5204. send "&9Gem> &7Missing Args: &e/gem <player> <amount>"
  5205. else:
  5206. if arg 1 is not online:
  5207. send "&9Gem> &7Could not find player &e%arg-1%"
  5208. else:
  5209. set {_num} to arg 2 parsed as an integer
  5210. if {_num} is an integer:
  5211. addGems(arg-1, {_num})
  5212. send "&9Gem> &7You gave &e%arg-2% Gems &7to &e%arg-1%&7."
  5213. send "&9Gem> &e%player% &7gave you &e%arg-2% Gems&7." to arg-1
  5214. else:
  5215. send "&9Gem> &7Invalid Gems Amount"
  5216.  
  5217. command /testrank [<offline player>] [<string>]:
  5218. permission: mineplex.srmod
  5219. permission message: &9Permissions> &7This requires Permission Rank [&6SR.MOD&7].
  5220. trigger:
  5221. if arg 1 is not set:
  5222. send "&9Client Manager> &7/testrank joeschmo ETERNAL"
  5223. send "&9Client Manager> &7TestRanks expire on login/logout!"
  5224. else:
  5225. if arg 2 is not set:
  5226. send "&9Client Manager> &7/testrank joeschmo ETERNAL"
  5227. else:
  5228. if arg 1 is online:
  5229. if {mineplex.testrank.%arg-1%} is not set:
  5230. if arg 2 is "ULTRA":
  5231. set {mineplex.testrank.%arg-1%} to {mineplex.rank.%arg-1%}
  5232. set {mineplex.rank.%arg-1%} to "&b&lULTRA "
  5233. execute console command "/__mp__dp__ %arg-1%"
  5234. set {_or} to uncolored {mineplex.testrank.%arg-1%}
  5235. send "&9Client Manager> &7%arg-1%'s rank has been updated to %arg-2%!"
  5236. send "&9Client Manager> &7%arg-1%'s rank will be reset to %{_or}%on your login!"
  5237. send "&9Client Manager> &7Your rank has been updated to %arg-2%!" to arg 1
  5238. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 1
  5239. set arg-1 tab name to "&b&lULTRA &e%arg-1%"
  5240. updateRankAPI(arg-1)
  5241. wait 5 ticks
  5242. rankLoad(arg-1, 2, 1)
  5243. else if arg 2 is "HERO":
  5244. set {mineplex.testrank.%arg-1%} to {mineplex.rank.%arg-1%}
  5245. set {mineplex.rank.%arg-1%} to "&d&lHERO "
  5246. execute console command "/__mp__dp__ %arg-1%"
  5247. set {_or} to uncolored {mineplex.testrank.%arg-1%}
  5248. send "&9Client Manager> &7%arg-1%'s rank has been updated to %arg-2%!"
  5249. send "&9Client Manager> &7%arg-1%'s rank will be reset to %{_or}%on your login!"
  5250. send "&9Client Manager> &7Your rank has been updated to %arg-2%!" to arg 1
  5251. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 1
  5252. set arg-1 tab name to "&d&lHERO &e%arg-1%"
  5253. updateRankAPI(arg-1)
  5254. wait 5 ticks
  5255. rankLoad(arg-1, 2, 1)
  5256. else if arg 2 is "LEGEND":
  5257. set {mineplex.testrank.%arg-1%} to {mineplex.rank.%arg-1%}
  5258. set {mineplex.rank.%arg-1%} to "&a&lLEGEND "
  5259. execute console command "/__mp__dp__ %arg-1%"
  5260. set {_or} to uncolored {mineplex.testrank.%arg-1%}
  5261. send "&9Client Manager> &7%arg-1%'s rank has been updated to %arg-2%!"
  5262. send "&9Client Manager> &7%arg-1%'s rank will be reset to %{_or}%on your login!"
  5263. send "&9Client Manager> &7Your rank has been updated to %arg-2%!" to arg 1
  5264. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 1
  5265. set arg-1 tab name to "&a&lLEGEND &e%arg-1%"
  5266. updateRankAPI(arg-1)
  5267. wait 5 ticks
  5268. rankLoad(arg-1, 2, 1)
  5269. else if arg 2 is "TITAN":
  5270. set {mineplex.testrank.%arg-1%} to {mineplex.rank.%arg-1%}
  5271. set {mineplex.rank.%arg-1%} to "&c&lTITAN "
  5272. execute console command "/__mp__dp__ %arg-1%"
  5273. set {_or} to uncolored {mineplex.testrank.%arg-1%}
  5274. send "&9Client Manager> &7%arg-1%'s rank has been updated to %arg-2%!"
  5275. send "&9Client Manager> &7%arg-1%'s rank will be reset to %{_or}%on your login!"
  5276. send "&9Client Manager> &7Your rank has been updated to %arg-2%!" to arg 1
  5277. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 1
  5278. set arg-1 tab name to "&c&lTITAN &e%arg-1%"
  5279. updateRankAPI(arg-1)
  5280. wait 5 ticks
  5281. rankLoad(arg-1, 2, 1)
  5282. else if arg 2 is "ETERNAL":
  5283. set {mineplex.testrank.%arg-1%} to {mineplex.rank.%arg-1%}
  5284. set {mineplex.rank.%arg-1%} to "&3&lETERNAL "
  5285. execute console command "/__mp__dp__ %arg-1%"
  5286. set {_or} to uncolored {mineplex.testrank.%arg-1%}
  5287. send "&9Client Manager> &7%arg-1%'s rank has been updated to %arg-2%!"
  5288. send "&9Client Manager> &7%arg-1%'s rank will be reset to %{_or}%on your login!"
  5289. send "&9Client Manager> &7Your rank has been updated to %arg-2%!" to arg 1
  5290. send "&9Client Manager> &7Your rank will be reset to %{_or}%on your login!" to arg 1
  5291. set arg-1 tab name to "&3&lETERNAL &e%arg-1%"
  5292. updateRankAPI(arg-1)
  5293. wait 5 ticks
  5294. rankLoad(arg-1, 2, 1)
  5295. else:
  5296. send "&9Client Manager> &c&lThis player already has a test rank!"
  5297. else:
  5298. send "&9Client Manager> &c&lInvalid rank!"
  5299.  
  5300. command /getadmin:
  5301. permission: mineplex.jrdev
  5302. permission message: &9Permissions> &7This requires Permission Rank [&9JR.DEV&7].
  5303. trigger:
  5304. if {mineplex.rank.%player%} is "&6&lJR.DEV ":
  5305. if {mineplex.disguise.%player%} is set:
  5306. set {_p} to {mineplex.disguise.%player%}
  5307. else:
  5308. set {_p} to player
  5309. if {mineplex.adminmode.%player%} is true:
  5310. remove "mineplex.admin" from player's permissions
  5311. remove "mineplex.builder" from player's permissions
  5312. remove "mineplex.youtube" from player's permissions
  5313. set {mineplex.adminmode.%player%} to false
  5314. send "&9Admin Mode> &7%{_p}% Admin Mode: &cFalse"
  5315. else:
  5316. set {mineplex.adminmode.%player%} to true
  5317. add "mineplex.admin" to player's permissions
  5318. add "mineplex.builder" to player's permissions
  5319. add "mineplex.youtube" to player's permissions
  5320. send "&9Admin Mode> &7%{_p}% Admin Mode: &aTrue"
  5321. else:
  5322. send "&9Admin Mode> &7/getadmin is only for JR.DEV!"
  5323.  
  5324. command /__mp__dp__ <player>:
  5325. executable by: console
  5326. trigger:
  5327. remove "mineplex.trainee" from arg-1's permissions
  5328. remove "mineplex.legend" from arg-1's permissions
  5329. remove "mineplex.titan" from arg-1's permissions
  5330. remove "mineplex.mod" from arg-1's permissions
  5331. remove "mineplex.srmod" from arg-1's permissions
  5332. remove "mineplex.admin" from arg-1's permissions
  5333. remove "mineplex.leader" from arg-1's permissions
  5334. remove "mineplex.owner" from arg-1's permissions
  5335. remove "mineplex.jrdev" from arg-1's permissions
  5336. remove "mineplex.dev" from arg-1's permissions
  5337. remove "mineplex.twitch" from arg-1's permissions
  5338. remove "mineplex.youtube" from arg-1's permissions
  5339. remove "mineplex.builder" from arg-1's permissions
  5340.  
  5341. command /__mp__rawreport__ <player> <player> <text> <text> <text>:
  5342. executable by: console
  5343. trigger:
  5344. if arg 3 is "Hacking":
  5345. set {mineplex.report.player.%{mineplex.report.id}%} to arg-1
  5346. set {mineplex.report.reporter.%{mineplex.report.id}%} to arg-2
  5347. set {mineplex.report.type.%{mineplex.report.id}%} to arg-3
  5348. set {mineplex.report.server.%{mineplex.report.id}%} to arg-4
  5349. set {mineplex.report.reason.%{mineplex.report.id}%} to arg-5
  5350. set {mineplex.report.open.%{mineplex.report.id}%} to true
  5351. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to arg-2
  5352. else if arg 3 is "Chat-Abuse":
  5353. set {mineplex.report.player.%{mineplex.report.id}%} to arg-1
  5354. set {mineplex.report.reporter.%{mineplex.report.id}%} to arg-2
  5355. set {mineplex.report.type.%{mineplex.report.id}%} to arg-3
  5356. set {mineplex.report.server.%{mineplex.report.id}%} to arg-4
  5357. set {mineplex.report.reason.%{mineplex.report.id}%} to arg-5
  5358. set {mineplex.report.open.%{mineplex.report.id}%} to true
  5359. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to arg-2
  5360. else if arg 3 is "Gameplay":
  5361. set {mineplex.report.player.%{mineplex.report.id}%} to arg-1
  5362. set {mineplex.report.reporter.%{mineplex.report.id}%} to arg-2
  5363. set {mineplex.report.type.%{mineplex.report.id}%} to arg-3
  5364. set {mineplex.report.server.%{mineplex.report.id}%} to arg-4
  5365. set {mineplex.report.reason.%{mineplex.report.id}%} to arg-5
  5366. set {mineplex.report.open.%{mineplex.report.id}%} to true
  5367. send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to arg-2
  5368. else:
  5369. stop
  5370. loop all players:
  5371. if loop-player has permission "mineplex.trainee":
  5372. if {mineplex.pref.report.%loop-player%} is true:
  5373. send "&9[Report ##%{mineplex.report.id}%] &7%arg-2% has reported %arg-1% for a &e%arg-3% &7offence with reason &e%arg-5%&7!" to loop-player
  5374. add 1 to {mineplex.report.id}
  5375.  
  5376. command /report [<offline player>] [<text>]:
  5377. permission: mineplex.titan
  5378. permission message: &9Report> &cThe report feature is currently in a trial phase for Titan players
  5379. trigger:
  5380. if arg-2 is set:
  5381. open chest with 3 rows named "Report %arg-1%" to player
  5382. format slot 11 of player with iron sword 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]->[execute console command "/__mp__rawreport__ %arg-1% %player% Hacking %player's world% %arg-2%"]
  5383. format slot 13 of player with book and quill named "&3&lChat Abuse" with lore "&7Verbal Abuse, Spam, Harassment, Trolling, etc" to close then run [send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to player]->[execute console command "/__mp__rawreport__ %arg-1% %player% Chat-Abuse %player's world% %arg-2%"]
  5384. format slot 15 of player with ender pearl named "&fGameplay" with lore "&7Map and Bug Exploits" to close then run [send "&9Report ##%{mineplex.report.id}%> &aSuccessfully created report." to player]->[execute console command "/__mp__rawreport__ %arg-1% %player% Gameplay %player's world% %arg-2%"]
  5385. else:
  5386. send "&9Report> &cInvalid Usage: &e/report <player> <reason>"
  5387.  
  5388. command /reporthandle [<string>] [<string>]:
  5389. aliases: /rh
  5390. permission: mineplex.mod
  5391. permission message: &9Permissions> &7This requires Permission Rank [&9MOD&7].
  5392. trigger:
  5393. if arg 1 is not set:
  5394. send "&9Report> &7Corect Usage: &e/reporthandle <report id>"
  5395. else:
  5396. set {_id} to arg-1 parsed as a number
  5397. if {_id} is a number:
  5398. if {mineplex.report.open.%{_id}%} is true:
  5399. if {mineplex.report.hand.%{_id}%} is not set:
  5400. set {mineplex.report.hand.%{_id}%} to player
  5401. set {_sus} to {mineplex.report.player.%{_id}%} parsed as an offline player
  5402. set {_ip} to ip address of {_sus}
  5403. loop {mineplex.totalaccounts.%{_ip}%::*}:
  5404. add 1 to {_accounts}
  5405. if {_accounts} is not set:
  5406. set {_accounts} to 1
  5407. send ""
  5408. send "&9Report ##%{_id}%> &bReport Overview"
  5409. send "&9Report ##%{_id}%> &bSuspect - &6%{mineplex.report.player.%{_id}%}%"
  5410. send "&9Report ##%{_id}%> &bType - &6%{mineplex.report.type.%{_id}%}%"
  5411. send "&9Report ##%{_id}%> &bTeam - &6None"
  5412. send "&9Report ##%{_id}%>"
  5413. send "&9Report ##%{_id}%> &6SoonTM &btotal reports"
  5414. send "&9Report ##%{_id}%>"
  5415. send "&9Report ##%{_id}%> &7(1) &6%{mineplex.report.reporter.%{_id}%}% ##1 &7- ""&b%{mineplex.report.reason.%{_id}%}%&7"""
  5416. send "&9Report ##%{_id}%>"
  5417. send "&9Report ##%{_id}%> &bView chat log"
  5418. mcrjson("%player%", "&9Report ##%{_id}%> ||&bClose this report||ttp:&bClick to close this report||cmd:/reportclose %{_id}% undetermined")
  5419. loop all players:
  5420. if loop-player has permission "mineplex.trainee":
  5421. if {mineplex.pref.report.%loop-player%} is true:
  5422. send "&9[Report %{_id}%] &e%player% &7is handling this report." to loop-player
  5423. else:
  5424. send "&9Report> &7This report is already being handling!"
  5425. else:
  5426. send "&9Report> &7This report has already been closed or does not exsit!"
  5427. else:
  5428. send "&9Report> &cYour arguments are inappropriate for this command!"
  5429. send "&9Report> &e/reporthandle (id)"
  5430.  
  5431. command /reportclose [<string>] [<string>] [<string>]:
  5432. aliases: /rc
  5433. permission: mineplex.mod
  5434. permission message: &9Permissions> &7This requires Permission Rank [&9MOD&7].
  5435. trigger:
  5436. if arg 1 is not set:
  5437. send "&9Report> &7Corect Usage: &e/reportclose (report id)"
  5438. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  5439. stop
  5440. if arg 2 is not set:
  5441. send "&9Report> &7Corect Usage: &e/reportclose (report id)"
  5442. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  5443. stop
  5444. else:
  5445. set {_id} to arg-1 parsed as a number
  5446. if {_id} is a number:
  5447. if {mineplex.report.open.%{_id}%} is true:
  5448. if arg 2 is "UNDETERMINED":
  5449. set {_r} to "&f&lCould not determine"
  5450. set {mineplex.report.open.%{_id}%} to false
  5451. loop all players:
  5452. if loop-player has permission "mineplex.trainee":
  5453. if {mineplex.pref.report.%loop-player%} is true:
  5454. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  5455. else if arg 2 is "MUTED":
  5456. set {_r} to "&e&lMuted"
  5457. set {mineplex.report.open.%{_id}%} to false
  5458. loop all players:
  5459. if loop-player has permission "mineplex.trainee":
  5460. if {mineplex.pref.report.%loop-player%} is true:
  5461. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  5462. else if arg 2 is "BANNED":
  5463. set {_r} to "&c&lBanned"
  5464. set {mineplex.report.open.%{_id}%} to false
  5465. loop all players:
  5466. if loop-player has permission "mineplex.trainee":
  5467. if {mineplex.pref.report.%loop-player%} is true:
  5468. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  5469. else if arg 2 is "ABUSE":
  5470. set {_r} to "&4&lAbuse of report system"
  5471. set {mineplex.report.open.%{_id}%} to false
  5472. loop all players:
  5473. if loop-player has permission "mineplex.trainee":
  5474. if {mineplex.pref.report.%loop-player%} is true:
  5475. send "&9[Report %{_id}%] &e%player% &7closed this report. (%{_r}%&7)." to loop-player
  5476. else:
  5477. send "&9Report> &cInvalid report reason!"
  5478. else:
  5479. send "&9Report> &7This report has already been closed or does not exsit!"
  5480. else:
  5481. send "&9Report> &cYour arguments are inappropriate for this command!"
  5482. send "&9Report> &e/reportclose (report id) (reason)"
  5483. send "&9Report> &7Reasons: &eUNDETERMINED MUTED BANNED ABUSE"
  5484.  
  5485. command /s [<text>]:
  5486. permission: mineplex.mod
  5487. permission message: &9Permissions> &7This requires Permission Rank [&9MOD&7].
  5488. trigger:
  5489. if {mineplex.disguise.%player%} is set:
  5490. set {_p} to {mineplex.disguise.%player%}
  5491. else:
  5492. set {_p} to player
  5493. if argument 1 is set:
  5494. broadcast "&f&l%{_p}% &b%arg-1%"
  5495. else:
  5496. send "&9Broadcast> &7Corect Usage: /s <message>."
  5497.  
  5498. command /gm [<player>]:
  5499. permission: mineplex.builder
  5500. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5501. trigger:
  5502. if {mineplex.disguise.%player%} is set:
  5503. set {_p} to {mineplex.disguise.%player%}
  5504. else:
  5505. set {_p} to player
  5506. if argument 1 is not set:
  5507. if player's gamemode is survival:
  5508. set the player's gamemode to creative
  5509. send "&9Game Mode> &7%{_p}% Creative Mode: &aTrue"
  5510. else:
  5511. set the player's gamemode to survival
  5512. send "&9Game Mode> &7%{_p}% Creative Mode: &cFalse"
  5513. else:
  5514. if player has permission "mineplex.admin":
  5515. if arg-1's gamemode is survival:
  5516. set the arg-1's gamemode to creative
  5517. send "&9Game Mode> &7%arg-1% Creative Mode: &aTrue"
  5518. else:
  5519. set the arg-1's gamemode to survival
  5520. send "&9Game Mode> &7%arg-1% Creative Mode: &cFalse"
  5521. else:
  5522. send "&9Permissions> &7This requires Permission Rank [&9ADMIN&7]."
  5523.  
  5524. command /ignore [<offline player>] [<string>]:
  5525. trigger:
  5526. if arg 1 is not set:
  5527. if {mineplex.ignorelist.%player%::*} is not set:
  5528. send "&b&m=====================[&f&lIgnoring&b&m]======================"
  5529. send ""
  5530. send "&fWelcome to your Ignore List!"
  5531. send ""
  5532. send "&fTo ignore people, type &a/ignore <Player Name>"
  5533. send ""
  5534. send "&fType &a/ignore &fat any time to view the ignored!"
  5535. send ""
  5536. send "&b&m====================================================="
  5537. else:
  5538. send "&b&m=====================[&f&lIgnoring&b&m]======================"
  5539. loop {mineplex.ignorelist.%player%::*}:
  5540. mcrjson("%player%", "&7Ignoring %loop-value% &f - ||&c&lUnignore||ttp:&fStop ignoring %loop-value%||cmd:/unignore %loop-value%||")
  5541. send "&b&m====================================================="
  5542. else:
  5543. loop {mineplex.ignorelist.%player%::*}:
  5544. if loop-value is "%arg-1%":
  5545. set {_pre} to true
  5546. if {_pre} is true:
  5547. send "&9Ignore> &a%arg-1% &7has already been ignored."
  5548. else:
  5549. add "%arg-1%" to {mineplex.ignorelist.%player%::*}
  5550. send "&9Ignore> &7Now ignoring &a%arg-1%"
  5551.  
  5552. command /unignore [<offline player>] [<string>]:
  5553. trigger:
  5554. if arg 1 is set:
  5555. send "&9Ignore> &7No longer ignoring &a%arg-1%"
  5556. remove "%arg-1%" from {mineplex.ignorelist.%player%::*}
  5557.  
  5558. command /message [<player>] [<text>]:
  5559. aliases: /tell, /m, /w, /msg, /whisper
  5560. trigger:
  5561. if {mineplex.disguise.%player%} is set:
  5562. set {_p} to {mineplex.disguise.%player%}
  5563. else:
  5564. set {_p} to player
  5565. set {_get} to getPlayerdata(player, "muted")
  5566. if {_get} is "yes":
  5567. if {muted::%player%::type} is "perm":
  5568. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for Permanent."
  5569. stop
  5570. if {muted::%player%::type} is "temp":
  5571. set {_waited} to difference between {muted::%player%::when} and now
  5572. if {_waited} is less than {muted::%player%::time}:
  5573. send "&9Punish> &7Shh, you're muted because %{muted::%player%::reason}% by %{muted::%player%::by}% for &a%{muted::%player%::time}%."
  5574. stop
  5575. if argument 1 is set:
  5576. if argument 2 is set:
  5577. if {mineplex.pref.pm.%arg-1%} is false:
  5578. send "&d%arg-1% has private messaging disabled."
  5579. stop
  5580. loop {mineplex.ignorelist.%player%::*}:
  5581. if loop-value is "%arg-1%":
  5582. send "&9Ignore> &7You are ignoring that player"
  5583. stop
  5584. loop {mineplex.ignorelist.%arg-1%::*}:
  5585. if loop-value is "%player%":
  5586. send "&9Ignore> &7That player is ignoring you"
  5587. stop
  5588. send "&6&l%{_p}% > %arg-1% &e&l%arg-2%"
  5589. send "&6&l%{_p}% > %arg-1% &e&l%arg-2%" to arg-1
  5590. play "NOTE_PLING" to player at volume 0.5
  5591. play "NOTE_PLING" to arg-1 at volume 0.5
  5592. set {mineplex.lastm.%player%} to "%arg-1%" parsed as player
  5593. if {mineplex.rank.%arg-1%} is "&4&lDEV ":
  5594. send "&d%arg-1% is often AFK or minimized, due to plugin development."
  5595. send "&dPlease be patient if they do not reply instantly."
  5596. else:
  5597. send "&9Message> &cErr...something went wrong?"
  5598. else:
  5599. send "&9Message> &cErr...something went wrong?"
  5600.  
  5601. command /ping:
  5602. trigger:
  5603. send "&9Chat> &7PONG!"
  5604.  
  5605. on command:
  5606. command is "minecraft:me":
  5607. send "&9Chat> &7Nope, not allowed!"
  5608. cancel event
  5609.  
  5610. command /me [<string>]:
  5611. aliases: /minecraft:me
  5612. trigger:
  5613. if arg 1 is not set:
  5614. send "&cUsage: /me <action...>"
  5615. else:
  5616. send "&9Chat> &7Nope, not allowed!"
  5617.  
  5618. command /newsconfirm <number>:
  5619. permission: mineplex.admin
  5620. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5621. trigger:
  5622. mcrjson("%player%", "&9Hub Manager>|| &a[CONFIRM]||ttp:Are you absolutely sure???||cmd:/news delete %arg-1%|| &6News Entry %arg-1% &7deletion?")
  5623.  
  5624. command /news [<string>] [<string>] [<string>]:
  5625. permission: mineplex.admin
  5626. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5627. trigger:
  5628. if arg 1 is not set:
  5629. send "&9News Manager> &7Available news arguments for this command:"
  5630. send "&6/news list &7Lists (numbered) stored news messages from database. &4Admin"
  5631. send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &4Admin"
  5632. send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &4Admin"
  5633. send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &4Admin"
  5634. send "&4*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &4Admin"
  5635. else:
  5636. if arg 1 is "list":
  5637. send "&9Hub Manager> &7Current server news messages:"
  5638. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 1 : %{mineplex.news.line1}%||cmd:/newsconfirm 1|| &6News 1 &7: &f%{mineplex.news.line1}%")
  5639. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 2 : %{mineplex.news.line2}%||cmd:/newsconfirm 2|| &6News 2 &7: &f%{mineplex.news.line2}%")
  5640. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 3 : %{mineplex.news.line3}%||cmd:/newsconfirm 3|| &6News 3 &7: &f%{mineplex.news.line3}%")
  5641. mcrjson("%player%", "&9Hub Manager>|| &c[DELETE]||ttp:Deletes News Entry 4 : %{mineplex.news.line4}%||cmd:/newsconfirm 4|| &6News 4 &7: &f%{mineplex.news.line4}%")
  5642. else if arg 1 is "add":
  5643. if arg 2 is set:
  5644. set {_news} to "%arg-2%"
  5645. if arg 3 is set:
  5646. set {_news} to "%arg-2% %arg-3%"
  5647. replace all "&" with "§" in {_news}
  5648. if {mineplex.news.line1} is "":
  5649. set {mineplex.news.line1} to {_news}
  5650. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  5651. else if {mineplex.news.line2} is "":
  5652. set {mineplex.news.line2} to {_news}
  5653. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  5654. else if {mineplex.news.line3} is "":
  5655. set {mineplex.news.line3} to {_news}
  5656. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  5657. else if {mineplex.news.line4} is "":
  5658. set {mineplex.news.line4} to {_news}
  5659. send "&9Hub Manager> &7The news entry: &6%{_news}% &7has been added to the database!"
  5660. else:
  5661. send "&9Hub Manager> &c&lNo free news slots!"
  5662. else:
  5663. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  5664. else if arg 1 is "delete":
  5665. if arg 2 is set:
  5666. if arg 2 is "1":
  5667. set {mineplex.news.line1} to ""
  5668. send "&9Hub Manager> &7The news entry at position &61 &7has been deleted!"
  5669. else if arg 2 is "2":
  5670. set {mineplex.news.line2} to ""
  5671. send "&9Hub Manager> &7The news entry at position &62 &7has been deleted!"
  5672. else if arg 2 is "3":
  5673. set {mineplex.news.line3} to ""
  5674. send "&9Hub Manager> &7The news entry at position &63 &7has been deleted!"
  5675. else if arg 2 is "4":
  5676. set {mineplex.news.line4} to ""
  5677. send "&9Hub Manager> &7The news entry at position &64 &7has been deleted!"
  5678. else:
  5679. send "&9Hub Manager> &cThe specified new position is invalid!"
  5680. else:
  5681. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  5682. else if arg 1 is "set":
  5683. if arg 2 is set:
  5684. if arg 3 is set:
  5685. set {_news} to arg 3
  5686. replace all "&" with "§" in {_news}
  5687. if arg 2 is "1":
  5688. set {mineplex.news.line1} to {_news}
  5689. send "&9Hub Manager> &7The news entry at position &61 &7has been updated to: %{_news}%"
  5690. else if arg 2 is "2":
  5691. set {mineplex.news.line2} to {_news}
  5692. send "&9Hub Manager> &7The news entry at position &62 &7has been updated to: %{_news}%"
  5693. else if arg 2 is "3":
  5694. set {mineplex.news.line3} to {_news}
  5695. send "&9Hub Manager> &7The news entry at position &63 &7has been updated to: %{_news}%"
  5696. else if arg 2 is "4":
  5697. set {mineplex.news.line4} to {_news}
  5698. send "&9Hub Manager> &7The news entry at position &64 &7has been updated to: %{_news}%"
  5699. else:
  5700. send "&9Hub Manager> &cThe specified new position is invalid!"
  5701. else:
  5702. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  5703. else:
  5704. send "&9Hub Manager> &cYour arguments are inappropriate for this command!"
  5705. else:
  5706. send "&9News Manager> &7Available news arguments for this command:"
  5707. send "&6/news list &7Lists (numbered) stored news messages from database. &cAdmin"
  5708. send "&6/news add <newsEntry> &7Adds specified news entry string to database at end of table. &cAdmin"
  5709. send "&6/news delete ## &7Removes specified (numbered) news entry string from database. &cAdmin"
  5710. send "&6/news set ## <newsEntry> &7Updates specified (numbered) news entry string from database. &cAdmin"
  5711. send "&c*Please Note: &7Updates to server news entries from the database are on a 4 minute cycle! &cAdmin"
  5712.  
  5713. command /r [<text>]:
  5714. aliases: /reply
  5715. trigger:
  5716. if {mineplex.disguise.%player%} is set:
  5717. set {_p} to {mineplex.disguise.%player%}
  5718. else:
  5719. set {_p} to player
  5720. if {mineplex.lastm.%player%} is set:
  5721. if argument 1 is set:
  5722. if {mineplex.lastm.%player%} is online:
  5723. send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%"
  5724. send "&6&l%{_p}% > %{mineplex.lastm.%player%}% &e&l%arg-1%" to {mineplex.lastm.%player%}
  5725. else:
  5726. send "&9Message> &e%{mineplex.lastm.%player%}% &7is no longer online!"
  5727. else:
  5728. send "&9Message> &cErr...something went wrong?"
  5729. else:
  5730. send "&9Message> &7You have not messaged anyone recently."
  5731.  
  5732. command /party [<string>] [<player>]:
  5733. aliases: /z
  5734. trigger:
  5735. if argument 1 is not set:
  5736. send "&9Party> &7Listing Party Commands:"
  5737. send "&f/party <Player>: &eJoin/Create/Invite Player"
  5738. send "&f/party leave: &eLeave your current party"
  5739. send "&f/party kick <Player>: &eKick player from your Party"
  5740. send "&f/party info: &eDisplays info on the current Party."
  5741. else:
  5742. if argument 1 is "kick":
  5743. if {party.%player%} is not set:
  5744. message "&9Party> &7You don't have a party"
  5745. else:
  5746. if {party.%player%} is not player:
  5747. message "&9Party> &7You have to be a party leader to do this"
  5748. stop
  5749. if player arg is not set:
  5750. message "&9Party> &7Player needed. /party kick <player>"
  5751. else:
  5752. if {party.%player%::*} doesn't contain player arg:
  5753. message "&9Party> &7The player needs to be in your party"
  5754. stop
  5755. message "&9Party> &7You kicked %player arg% from the party"
  5756. message "&9Party> &7You've been kicked by %player% from his party" to player arg
  5757. loop {party.%player%::*}:
  5758. if loop-value = player arg:
  5759. delete {party.%player%::%loop-index%}
  5760. delete {party.%player arg%}
  5761. delete {party.%player arg%.chat}
  5762. else if arg 1 is "leave":
  5763. if {party.%player%} is not set:
  5764. message "&9Party> &7You don't have a party"
  5765. else:
  5766. if {party.%player%} is player:
  5767. message "&9Party> &7You can't leave if you are the leader. Do /party disband"
  5768. stop
  5769. message "&9Party> &7You left your party"
  5770. message "&9Party> &7%player% left your party" to {party.%player%}
  5771. set {party.%player%.chat} to false
  5772. loop {party.%{party.%player%}%::*}:
  5773. if loop-value = player:
  5774. delete {party.%{party.%player%}%::%loop-index%}
  5775. delete {party.%player%}
  5776. delete {party.%player%.chat}
  5777. else if arg 1 is "disband":
  5778. if {party.%player%} is not set:
  5779. message "&9Party> &cYou don't have a party"
  5780. else:
  5781. if {party.%player%} is not player:
  5782. message "&9Party> &7You have to be a party leader to do this"
  5783. stop
  5784. message "&9Party> &7You disband your party"
  5785. loop {party.%player%::*}:
  5786. loop-value is not player:
  5787. message "&9Party> &7Your party has been disbanded" to loop-value
  5788. delete {party.%loop-value%.chat}
  5789. delete {party.%loop-value%}
  5790. delete {party.%player%}
  5791. delete {party.%player%.chat}
  5792. delete {party.%player%::*}
  5793. else if arg 1 is "info":
  5794. if {party.%player%} is not set:
  5795. message "&9Party> &7You don't have a party"
  5796. else:
  5797. message "&9Party> &7Party Details:"
  5798. message "Party Leader: &7%{party.%player%}%"
  5799. set {_partyMember} to ""
  5800. loop {party.%{party.%player%}%::*}:
  5801. set {_partyMember} to "%{_partyMember}% %loop-value%"
  5802. message "Your Party: &7%{_partyMember}%"
  5803. else:
  5804. set {_mineplex.last.party} to "%arg-1%" parsed as player
  5805. if {_mineplex.last.party} is online:
  5806. if {party.%player%} is set:
  5807. add {_mineplex.last.party} to {party.%player%::*}
  5808. set {party.%player%.chat} to true
  5809. set {party.%arg-1%.chat} to true
  5810. set {party.%{_mineplex.last.party}%} to player
  5811. message "&9Party> &7You invited %{_mineplex.last.party}% to the party."
  5812. else:
  5813. set {party.%player%} to player
  5814. message "&9Party> &7Created a party."
  5815. add player to {party.%player%::*}
  5816. make player execute command "/party %arg-1%"
  5817. else:
  5818. send "&9Party> &7That player is not online."
  5819.  
  5820. command /announce [<text>]:
  5821. permission: mineplex.admin
  5822. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  5823. trigger:
  5824. if argument 1 is set:
  5825. send all players title "&eAnnouncement" with subtitle "&f%arg-1%" for 10 seconds
  5826. broadcast "&9Announcement> &b%arg-1%"
  5827. else:
  5828. send "&9Message> &cErr...something went wrong?"
  5829.  
  5830. command /global [<text>]:
  5831. permission: mineplex.jrdev
  5832. permission message: &9Permissions> &7This requires Permission Rank [&9JR.DEV&7].
  5833. trigger:
  5834. if arg 1 is not set:
  5835. send "&9Message> &cErr...something went wrong?"
  5836. else:
  5837. broadcast "&9Announcement> &b%arg-1%"
  5838.  
  5839. every 3 seconds:
  5840. set {mineplex.lag.avg.1} to tps
  5841. wait 1 second
  5842. set {mineplex.lag.avg.2} to tps
  5843. wait 1 second
  5844. set {mineplex.lag.avg.3} to tps
  5845.  
  5846. command /lag:
  5847. trigger:
  5848. if player has permission "mineplex.jrdev":
  5849. set {_avg} to {mineplex.lag.avg.1} + {mineplex.lag.avg.2} + {mineplex.lag.avg.3}
  5850. set {_avg} to {_avg} / 3
  5851. set {_tps} to tps
  5852. set {_f} to free ram
  5853. set {_m} to max ram
  5854. send "&9LagMeter> &7Live-------&e%{_tps}%"
  5855. send "&9LagMeter> &7Avg--------&e%{_avg}%"
  5856. send "&9LagMeter> &eMEM (RAM)"
  5857. send "&9LagMeter> &7Free-------&e%{_f}%MB"
  5858. send "&9LagMeter> &7Max--------&e%{_m}%MB"
  5859. else:
  5860. send "&9Chat> &7PONG!"
  5861.  
  5862. #Punish Systems/Commands
  5863.  
  5864. function punishWarn(s: player , p: offline player , r: text) :: player:
  5865. send "&9Punish> &7%{_s}% issued a friendly warning to you." to {_p}
  5866. send "&9Punish> &7&lReason: &7%{_r}%" to {_p}
  5867. add 1 to {mineplex.punish.past.warn.%{_p}%}
  5868. loop all players:
  5869. if loop-player has permission "mineplex.trainee":
  5870. send "&9Punish> &7%{_s}% issued a friendly warning to %{_p}%." to loop-player
  5871.  
  5872. function punishReportBan(s: player , p: offline player , r: text) :: player:
  5873. set {banned::%{_p}%} to true
  5874. set {banned::%{_p}%::type} to "report"
  5875. set {banned::%{_p}%::reason} to {_r}
  5876. set {banned::%{_p}%::staff} to {_s}
  5877. set {banned::%{_p}%::now} to now
  5878. setPlayerdata({_p}, "banned", "yes")
  5879. kick {_p} due to "&c&lYou are banned for Permanent by %{_s}%%nl%&f%{banned::%{_player}%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  5880. add 1 to {mineplex.punish.past.reportban.%{_p}%}
  5881. loop all players:
  5882. if loop-player has permission "mineplex.trainee":
  5883. send "&9Punish> &7%{_s}% report banned %{_p}% for Permanent." to loop-player
  5884.  
  5885. function punishBan(s: player , p: offline player , r: text) :: player:
  5886. set {banned::%{_p}%} to true
  5887. set {banned::%{_p}%::type} to "perm"
  5888. set {banned::%{_p}%::reason} to {_r}
  5889. set {banned::%{_p}%::staff} to {_s}
  5890. set {banned::%{_p}%::now} to now
  5891. setPlayerdata({_p}, "banned", "yes")
  5892. 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}%"
  5893. add 1 to {mineplex.punish.past.permban.%{_p}%}
  5894. loop all players:
  5895. if loop-player has permission "mineplex.trainee":
  5896. send "&9Punish> &7%{_s}% banned %{_p}% for Permanent." to loop-player
  5897.  
  5898. function punishDTempBan(s: player , p: offline player, r: text, d: number) :: player:
  5899. set {_duration} to "%{_d}% days" parsed as timespan
  5900. set {banned::%{_p}%} to true
  5901. set {banned::%{_p}%::type} to "temp"
  5902. set {banned::%{_p}%::time} to {_duration}
  5903. set {banned::%{_p}%::reason} to {_r}
  5904. set {banned::%{_p}%::staff} to {_s}
  5905. set {banned::%{_p}%::when} to now
  5906. add 1 to {mineplex.punish.past.tempban.%{_p}%}
  5907. setPlayerdata({_p}, "banned", "yes")
  5908. 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}%"
  5909. loop all players:
  5910. if loop-player has permission "mineplex.trainee":
  5911. send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
  5912.  
  5913. function punishHTempBan(s: player , p: offline player, r: text, d: number) :: player:
  5914. set {_duration} to "%{_d}% hours" parsed as timespan
  5915. set {banned::%{_p}%} to true
  5916. set {banned::%{_p}%::type} to "temp"
  5917. set {banned::%{_p}%::time} to {_duration}
  5918. set {banned::%{_p}%::reason} to {_r}
  5919. set {banned::%{_p}%::staff} to {_s}
  5920. set {banned::%{_p}%::when} to now
  5921. setPlayerdata({_p}, "banned", "yes")
  5922. 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}%"
  5923. add 1 to {mineplex.punish.past.tempban.%{_p}%}
  5924. loop all players:
  5925. if loop-player has permission "mineplex.trainee":
  5926. send "&9Punish> &7%{_s}% banned %{_p}% for %{_duration}%" to loop-player
  5927.  
  5928. function punishMute(s: player, p: offline player, r: text) :: player:
  5929. set {muted::%{_p}%} to true
  5930. set {muted::%{_p}%::type} to "perm"
  5931. set {muted::%{_p}%::reason} to {_r}
  5932. set {muted::%{_p}%::by} to {_s}
  5933. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  5934. setPlayerdata({_p}, "muted", "yes")
  5935. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  5936. send "&9Punish> &7%{muted::%{_p}%::by}% muted %{_p}% for Permanent." to {_p}
  5937. loop all players:
  5938. if loop-player has permission "mineplex.trainee":
  5939. send "&9Punish> &7%{_s}% muted %{_p}% for Permanent." to loop-player
  5940.  
  5941. function punishHTempMute(s: player, p: offline player, r: text, d: number) :: player:
  5942. set {_duration} to "%{_d}% hours" parsed as timespan
  5943. set {muted::%{_p}%} to true
  5944. set {muted::%{_p}%::type} to "temp"
  5945. set {muted::%{_p}%::reason} to {_r}
  5946. set {muted::%{_p}%::time} to {_duration}
  5947. set {muted::%{_p}%::by} to {_s}
  5948. set {muted::%{_p}%::when} to now
  5949. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  5950. setPlayerdata({_p}, "muted", "yes")
  5951. send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
  5952. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  5953. loop all players:
  5954. if loop-player has permission "mineplex.trainee":
  5955. send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
  5956.  
  5957. function punishDTempMute(s: player, p: offline player, r: text, d: number) :: player:
  5958. set {_duration} to "%{_d}% days" parsed as timespan
  5959. set {muted::%{_p}%} to true
  5960. set {muted::%{_p}%::type} to "temp"
  5961. set {muted::%{_p}%::reason} to {_r}
  5962. set {muted::%{_p}%::time} to {_duration}
  5963. set {muted::%{_p}%::by} to {_s}
  5964. set {muted::%{_p}%::when} to now
  5965. add 1 to {mineplex.punish.past.permmute.%{_p}%}
  5966. setPlayerdata({_p}, "muted", "yes")
  5967. send "&9Punish> &7%{_s}% muted you for %{_duration}%." to {_p}
  5968. send "&9Punish> &7&lReason: &r&7%{_r}%" to {_p}
  5969. loop all players:
  5970. if loop-player has permission "mineplex.trainee":
  5971. send "&9Punish> &7%{_s}% muted %{_p}% for %{_duration}%." to loop-player
  5972.  
  5973. function punishUnban(s: string, p: string) :: player:
  5974. delete {banned::%{_p}%}
  5975. delete {banned::%{_p}%::*}
  5976. setPlayerdata({_p}, "banned", "no")
  5977.  
  5978. function punishUnmute(s: player, p: string) :: player:
  5979. delete {muted::%{_p}%}
  5980. delete {muted::%{_p}%::*}
  5981. setPlayerdata({_p}, "muted", "no")
  5982. loop all players:
  5983. if loop-player has permission "mineplex.trainee":
  5984. send "&9Punish> &7%{_s}% unmuted %{_p}%" to loop-player
  5985.  
  5986. on connect:
  5987. set {_get} to getPlayerdata(player, "banned")
  5988. if {_get} is "yes":
  5989. if player has permission "mineplex.admin":
  5990. if {mineplex.config.unbanadmin} is "true":
  5991. punishUnban("Expired", "%player%")
  5992. stop
  5993. if {banned::%player%::type} is "perm":
  5994. kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  5995. stop
  5996. if {banned::%player%::type} is "report":
  5997. kick player due to "&c&lYou are banned for Permanent%nl%&f%{banned::%player%::reason}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  5998. stop
  5999. if {banned::%player%::type} is "temp":
  6000. set {_waited} to difference between {banned::%player%::when} and now
  6001. if {_waited} is less than {banned::%player%::time}:
  6002. 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}%"
  6003. else:
  6004. punishUnban("Expired", "%player%")
  6005.  
  6006. on inventory click:
  6007. if inventory name of player's current inventory is " Punish":
  6008. cancel event
  6009. clicked slot >= 45
  6010. set {_clickedslot.%player%} to (clicked slot - 44)
  6011. if {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} is set:
  6012. if "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}%" contains "&eRemoved by: ":
  6013. send "" to console
  6014. else:
  6015. set {_reasonchanger.%player%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%}% ||||&eRemoved by: &f%player%||&eRemove Reason: &f%{punishgui.%player%::2}%"
  6016. set {reversed.p.%{punishgui.%player%::1}%::history::%{_clickedslot.%player%}%} to "%{_reasonchanger.%player%}%"
  6017. close player's inventory
  6018. delete {p.%{punishgui.%player%::1}%::history::*}
  6019. set {_slot} to 0
  6020. loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
  6021. add 1 to {_slot}
  6022. set {_reversedslot} to 1
  6023. loop {reversed.p.%{punishgui.%player%::1}%::history::*}:
  6024. set {p.%{punishgui.%player%::1}%::history::%{_reversedslot}%} to "%{reversed.p.%{punishgui.%player%::1}%::history::%{_slot}%}%"
  6025. remove 1 from {_slot}
  6026. add 1 to {_reversedslot}
  6027. if "%{_reasonchanger.%player%}%" contains "ChatOffense":
  6028. punishUnmute(player, {punishgui.%player%::1})
  6029. if "%{_reasonchanger.%player%}%" contains "Hacking" or "Exploiting" or "Other":
  6030. punishUnban("memes", {punishgui.%player%::1})
  6031. if "%{_reasonchanger.%player%}%" contains "Warning":
  6032. stop
  6033.  
  6034. command /p [<offline player>] [<text>]:
  6035. aliases: /punish
  6036. permission: mineplex.trainee
  6037. permission message: &9Permissions> &7This requires Permission Rank [&9TRAINEE&7].
  6038. trigger:
  6039. if arg-2 is not set:
  6040. send "&9Punish> &7Commands List:"
  6041. send "&6/punish &7<player> <reason> &6Mod"
  6042. if arg-2 is set:
  6043. if {p.%arg-1%::Chat1} is not set:
  6044. set {p.%arg-1%::Client3} to "__mp__tempban__ %arg-1% %player% 30"
  6045. set {p.%arg-1%::ClientL3} to "&fBan Duration: &e30.0 Days"
  6046. set {p.%arg-1%::Client2} to "__mp__tempban__ %arg-1% %player% 30"
  6047. set {p.%arg-1%::ClientL2} to "&fBan Duration: &e30.0 Days"
  6048. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e1.0 Days"
  6049. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 1"
  6050. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% 4 %player%"
  6051. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e4.0 Hours"
  6052. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 2 %player%"
  6053. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.0 Hours"
  6054. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 1 %player%"
  6055. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e1.0 Days"
  6056. set {p.%arg-1%::Chat3} to "__mp__tempmute__ %arg-1% 30 %player%"
  6057. set {p.%arg-1%::ChatL3} to "&fMute Duration: &e30.0 Days"
  6058. if {p.%arg-1%::pOffences.Chat1} is 1:
  6059. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 4 %player%"
  6060. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e4.0 Hours"
  6061. if {p.%arg-1%::pOffences.Chat1} is 2:
  6062. set {p.%arg-1%::Chat1} to "__mp__htempmute__ %arg-1% 10 %player%"
  6063. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e10.0 Hours"
  6064. if {p.%arg-1%::pOffences.Chat1} is 3:
  6065. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
  6066. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.0 Days"
  6067. if {p.%arg-1%::pOffences.Chat1} is 4:
  6068. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 1 %player%"
  6069. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e1.4 Days"
  6070. if {p.%arg-1%::pOffences.Chat1} is 5:
  6071. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 3 %player%"
  6072. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e2.8 Days"
  6073. if {p.%arg-1%::pOffences.Chat1} is 6:
  6074. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 7 %player%"
  6075. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e7.0 Days"
  6076. if {p.%arg-1%::pOffences.Chat1} is 7:
  6077. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 14 %player%"
  6078. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e14.0 Days"
  6079. if {p.%arg-1%::pOffences.Chat1} is 8:
  6080. set {p.%arg-1%::Chat1} to "__mp__tempmute__ %arg-1% 30 %player%"
  6081. set {p.%arg-1%::ChatL1} to "&fMute Duration: &e30.0 Days"
  6082. if {p.%arg-1%::pOffences.Chat1} is 9:
  6083. set {p.%arg-1%::Chat1} to "__mp__mute__ %arg-1% %player%"
  6084. set {p.%arg-1%::ChatL1} to "&fMute Duration: &ePermanent"
  6085. if {p.%arg-1%::pOffences.Chat2} is 1:
  6086. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 2 %player%"
  6087. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e2.0 Days"
  6088. if {p.%arg-1%::pOffences.Chat2} is 2:
  6089. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 4 %player%"
  6090. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e4.0 Days"
  6091. if {p.%arg-1%::pOffences.Chat2} is 3:
  6092. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 7 %player%"
  6093. set {p.%arg-1%::ChatL2} to "__mp__tempmute__ %arg-1% 7 %player%"
  6094. if {p.%arg-1%::pOffences.Chat2} is 4:
  6095. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 14 %player%"
  6096. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e14.0 Days"
  6097. if {p.%arg-1%::pOffences.Chat2} is 5:
  6098. set {p.%arg-1%::Chat2} to "__mp__tempmute__ %arg-1% 30 %player%"
  6099. set {p.%arg-1%::ChatL2} to "&fMute Duration: &e30.0 Days"
  6100. if {p.%arg-1%::pOffences.Chat2} is 6:
  6101. set {p.%arg-1%::Chat2} to "__mp__mute__ %arg-1% %player%"
  6102. set {p.%arg-1%::ChatL2} to "&fMute Duration: &ePermanent"
  6103. if {p.%arg-1%::pOffences.Chat3} is 1:
  6104. set {p.%arg-1%::Chat3} to "__mp__mute__ %arg-1% %player%"
  6105. set {p.%arg-1%::ChatL3} to "&fMute Duration: &ePermanent"
  6106. if {p.%arg-1%::pOffences.General} is 1:
  6107. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 8"
  6108. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e8.0 Hours"
  6109. if {p.%arg-1%::pOffences.General} is 2:
  6110. set {p.%arg-1%::General} to "__mp__htempban__ %arg-1% %player% 16"
  6111. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e16.0 Hours"
  6112. if {p.%arg-1%::pOffences.General} is 3:
  6113. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 1"
  6114. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e1.4 Days"
  6115. if {p.%arg-1%::pOffences.General} is 4:
  6116. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 3"
  6117. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e3.0 Days"
  6118. if {p.%arg-1%::pOffences.General} is 5:
  6119. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 7"
  6120. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e7.0 Days"
  6121. if {p.%arg-1%::pOffences.General} is 6:
  6122. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 14"
  6123. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e14.0 Days"
  6124. if {p.%arg-1%::pOffences.General} is 7:
  6125. set {p.%arg-1%::General} to "__mp__tempban__ %arg-1% %player% 30"
  6126. set {p.%arg-1%::GeneralL} to "&fBan Duration: &e30.0 Days"
  6127. if {p.%arg-1%::pOffences.General} is 8:
  6128. set {p.%arg-1%::General} to "__mp__ban__ %arg-1% %player%"
  6129. set {p.%arg-1%::GeneralL} to "&fBan Duration: &ePermanent"
  6130.  
  6131. if {p.%arg-1%::pOffences.Client1} is 1:
  6132. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 2"
  6133. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e2.0 Days"
  6134. if {p.%arg-1%::pOffences.Client1} is 2:
  6135. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 4"
  6136. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e4.0 Days"
  6137. if {p.%arg-1%::pOffences.Client1} is 3:
  6138. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 7"
  6139. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e7.0 Days"
  6140. if {p.%arg-1%::pOffences.Client1} is 4:
  6141. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 16"
  6142. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e16.0 Days"
  6143. if {p.%arg-1%::pOffences.Client1} is 5:
  6144. set {p.%arg-1%::Client1} to "__mp__tempban__ %arg-1% %player% 30"
  6145. set {p.%arg-1%::ClientL1} to "&fBan Duration: &e30.0 Days"
  6146. if {p.%arg-1%::pOffences.Client1} is 6:
  6147. set {p.%arg-1%::Client1} to "__mp__ban__ %arg-1% %player%"
  6148. set {p.%arg-1%::ClientL1} to "&fBan Duration: &ePermanent"
  6149. if {p.%arg-1%::pOffences.Client2} is 1:
  6150. set {p.%arg-1%::Client2} to "__mp__ban__ %arg-1% %player%"
  6151. set {p.%arg-1%::ClientL2} to "&fBan Duration: &ePermanent"
  6152. if {p.%arg-1%::pOffences.Client3} is 1:
  6153. set {p.%arg-1%::Client3} to "__mp__ban__ %arg-1% %player%"
  6154. set {p.%arg-1%::ClientL3} to "&fBan Duration: &ePermanent"
  6155. if {p.%arg-1%::pOffences.Chat1} is not set:
  6156. set {p.%arg-1%::pOffences.Chat1} to 0
  6157. set {p.%arg-1%::pOffences.Chat2} to 0
  6158. set {p.%arg-1%::pOffences.Chat3} to 0
  6159. set {p.%arg-1%::pOffences.General} to 0
  6160. set {p.%arg-1%::pOffences.Client1} to 0
  6161. set {p.%arg-1%::pOffences.Client2} to 0
  6162. set {p.%arg-1%::pOffences.Client3} to 0
  6163. if player has permission "mineplex.trainee" or "mineplex.mod":
  6164. delete {reversed.p.%arg-1%::history::*}
  6165. set {_slot} to 0
  6166. loop {p.%arg-1%::history::*}:
  6167. add 1 to {_slot}
  6168. set {_reversedslot} to 1
  6169. loop {p.%arg-1%::history::*}:
  6170. set {reversed.p.%arg-1%::history::%{_reversedslot}%} to "%{p.%arg-1%::history::%{_slot}%}%"
  6171. remove 1 from {_slot}
  6172. add 1 to {_reversedslot}
  6173. open chest with 6 rows named " Punish" to player
  6174. wait 1 tick
  6175. format slot 4 of player with arg-1's skull named "&a&l%arg-1%" with lore "&r%arg-2%" to be unstealable
  6176.  
  6177. format slot 10 of player with book and quill named "&a&lChat Offense" with lore "&7Verbal Abuse, Spam, Harrassment, Trolling, etc" to be unstealable
  6178. 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}]
  6179.  
  6180. format slot 12 of player with hopper named "&a&lGeneral Offense" with lore "&7Command/Map/Class/Skill exploits, etc" to be unstealable
  6181. 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}]
  6182. 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
  6183. 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}]
  6184. 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::*}]
  6185. if player has permission "mineplex.mod": #Access all punishments!
  6186. 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}]
  6187. 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}]
  6188.  
  6189. 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}]
  6190. 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}]
  6191.  
  6192. 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::*}]
  6193. 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::*}]
  6194. 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::*}]
  6195. set {_banned} to getPlayerdata(arg-1, "banned")
  6196. set {_muted} to getPlayerdata(arg-1, "muted")
  6197. set {_slot} to 45
  6198. loop {reversed.p.%arg-1%::history::*}:
  6199. set {punishgui.%player%::*} to "%arg 1%"
  6200. add "%arg 2%" to {punishgui.%player%::*}
  6201. if "%loop-value%" contains "&ePunishment Type: &fChatOffense":
  6202. if {_muted} is true:
  6203. if "%loop-value%" does not contain "&eRemoved by: ":
  6204. set slot {_slot} of player's current inventory to shiny book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6205. add 1 to {_slot}
  6206. else:
  6207. set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6208. add 1 to {_slot}
  6209. else:
  6210. set slot {_slot} of player's current inventory to book and quill named "&a&lChat Offense" with lore "%loop-value%"
  6211. add 1 to {_slot}
  6212. if "%loop-value%" contains "&ePunishment Type: &fHacking":
  6213. if {_banned} is true:
  6214. if "%loop-value%" does not contain "&eRemoved by: ":
  6215. set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6216. add 1 to {_slot}
  6217. else:
  6218. set slot {_slot} of player's current inventory to shiny iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6219. add 1 to {_slot}
  6220. else:
  6221. set slot {_slot} of player's current inventory to iron sword named "&a&lClient Mod" with lore "%loop-value%"
  6222. add 1 to {_slot}
  6223. if "%loop-value%" contains "&ePunishment Type: &fExploiting":
  6224. if {_banned} is true:
  6225. if "%loop-value%" does not contain "&eRemoved by: ":
  6226. set slot {_slot} of player's current inventory to shiny hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6227. add 1 to {_slot}
  6228. else:
  6229. set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6230. add 1 to {_slot}
  6231. else:
  6232. set slot {_slot} of player's current inventory to hopper named "&a&lGeneral Offense" with lore "%loop-value%"
  6233. add 1 to {_slot}
  6234. if "%loop-value%" contains "&ePunishment Type: &fWarning":
  6235. set slot {_slot} of player's current inventory to paper named "&a&lWarning" with lore "%loop-value%"
  6236. add 1 to {_slot}
  6237. if "%loop-value%" contains "&ePunishment Type: &fOther":
  6238. if {_banned} is true:
  6239. if "%loop-value%" does not contain "&eRemoved by: ":
  6240. set slot {_slot} of player's current inventory to shiny redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6241. add 1 to {_slot}
  6242. else:
  6243. set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6244. add 1 to {_slot}
  6245. else:
  6246. set slot {_slot} of player's current inventory to redstone block named "&a&lPermanent Ban" with lore "%loop-value%"
  6247. add 1 to {_slot}
  6248. if "%loop-value%" contains "&ePunishment Type: &rOther":
  6249. set slot {_slot} of player's current inventory to enchanted book named "&a&lPermanent Report Ban" with lore "%loop-value%"
  6250. add 1 to {_slot}
  6251. if {_slot} = 54:
  6252. exit loop
  6253. if {mineplex.rank.%player%} is "&6&LJR.DEV " or "&4&lDEV ":
  6254. 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
  6255.  
  6256. #Prefs System
  6257.  
  6258. function prefsSystem(p: player , t: number) :: number:
  6259. if {_t} is 1:
  6260. if {mineplex.pref.hg.%{_p}%} is true:
  6261. set {mineplex.pref.hg.%{_p}%} to false
  6262. else:
  6263. set {mineplex.pref.hg.%{_p}%} to true
  6264. else if {_t} is 2:
  6265. if {mineplex.pref.hpv.%{_p}%} is true:
  6266. set {mineplex.pref.hpv.%{_p}%} to false
  6267. hide all players from {_p}
  6268. else:
  6269. set {mineplex.pref.hpv.%{_p}%} to true
  6270. reveal all players from {_p}
  6271. loop all players:
  6272. if {mineplex.vanish.%loop-player%} is true:
  6273. add loop-player to {%{_p}%.vanishlist::*}
  6274. loop all players:
  6275. if loop-player does not have permission "mineplex.admin":
  6276. hide {%{_p}%.vanishlist::*} from all players
  6277. delete {%{_p}%.vanishlist::*}
  6278. else if {_t} is 3:
  6279. if {mineplex.pref.pc.%{_p}%} is true:
  6280. set {mineplex.pref.pc.%{_p}%} to false
  6281. else:
  6282. set {mineplex.pref.pc.%{_p}%} to true
  6283. else if {_t} is 4:
  6284. if {mineplex.pref.pm.%{_p}%} is true:
  6285. set {mineplex.pref.pm.%{_p}%} to false
  6286. else:
  6287. set {mineplex.pref.pm.%{_p}%} to true
  6288. else if {_t} is 5:
  6289. if {mineplex.pref.gwen.%{_p}%} is true:
  6290. set {mineplex.pref.gwen.%{_p}%} to false
  6291. else:
  6292. set {mineplex.pref.gwen.%{_p}%} to true
  6293. else if {_t} is 6:
  6294. if {mineplex.pref.report.%{_p}%} is true:
  6295. set {mineplex.pref.report.%{_p}%} to false
  6296. else:
  6297. set {mineplex.pref.report.%{_p}%} to true
  6298. else if {_t} is 7:
  6299. if {mineplex.pref.ff.%{_p}%} is true:
  6300. set {mineplex.pref.ff.%{_p}%} to false
  6301. else:
  6302. set {mineplex.pref.ff.%{_p}%} to true
  6303. else if {_t} is 8:
  6304. if {mineplex.ff.%{_p}%} is true:
  6305. set {mineplex.ff.%{_p}%} to false
  6306. delete {mineplex.ff.list::%{_p}%}
  6307. else:
  6308. set {mineplex.ff.%{_p}%} to true
  6309. set {mineplex.ff.list::%{_p}%} to true
  6310. else if {_t} is 9:
  6311. if {mineplex.pref.rm.%{_p}%} is true:
  6312. set {mineplex.pref.rm.%{_p}%} to false
  6313. else:
  6314. set {mineplex.pref.rm.%{_p}%} to true
  6315. else if {_t} is 10:
  6316. if {mineplex.pref.aj.%{_p}%} is true:
  6317. set {mineplex.pref.aj.%{_p}%} to false
  6318. else:
  6319. set {mineplex.pref.aj.%{_p}%} to true
  6320. else if {_t} is 11:
  6321. if {mineplex.pref.daw.%{_p}%} is true:
  6322. set {mineplex.pref.daw.%{_p}%} to false
  6323. else:
  6324. set {mineplex.pref.daw.%{_p}%} to true
  6325. else if {_t} is 12:
  6326. if {mineplex.pref.cj.%{_p}%} is true:
  6327. set {mineplex.pref.cj.%{_p}%} to false
  6328. else:
  6329. set {mineplex.pref.cj.%{_p}%} to true
  6330. else if {_t} is 13:
  6331. if {mineplex.pref.sct.%{_p}%} is true:
  6332. set {mineplex.pref.sct.%{_p}%} to false
  6333. else:
  6334. set {mineplex.pref.sct.%{_p}%} to true
  6335. else if {_t} is 14:
  6336. if {mineplex.pref.hm.%{_p}%} is true:
  6337. set {mineplex.pref.hm.%{_p}%} to false
  6338. else:
  6339. set {mineplex.pref.hm.%{_p}%} to true
  6340. else if {_t} is 15:
  6341. if {mineplex.pref.pr.%{_p}%} is true:
  6342. set {mineplex.pref.pr.%{_p}%} to false
  6343. else:
  6344. set {mineplex.pref.pr.%{_p}%} to true
  6345. else if {_t} is 16:
  6346. if {mineplex.pref.spfr.%{_p}%} is true:
  6347. set {mineplex.pref.spfr.%{_p}%} to false
  6348. else:
  6349. set {mineplex.pref.spfr.%{_p}%} to true
  6350. else if {_t} is 17:
  6351. if {mineplex.pref.dfg.%{_p}%} is true:
  6352. set {mineplex.pref.dfg.%{_p}%} to false
  6353. else:
  6354. set {mineplex.pref.dfg.%{_p}%} to true
  6355. else if {_t} is 18:
  6356. if {mineplex.pref.sci.%{_p}%} is true:
  6357. set {mineplex.pref.sci.%{_p}%} to false
  6358. else:
  6359. set {mineplex.pref.sci.%{_p}%} to true
  6360. else if {_t} is 19:
  6361. if {mineplex.pref.dpg.%{_p}%} is true:
  6362. set {mineplex.pref.dpg.%{_p}%} to false
  6363. else:
  6364. set {mineplex.pref.dpg.%{_p}%} to true
  6365. else if {_t} is 20:
  6366. if {mineplex.pref.hif.%{_p}%} is true:
  6367. set {mineplex.pref.hif.%{_p}%} to false
  6368. else:
  6369. set {mineplex.pref.hif.%{_p}%} to true
  6370.  
  6371. function profile_system(arg1: text , arg2: text , p: player, p2: player) :: number:
  6372. set {_wither} to "MHF_WSkeleton" parsed as a player
  6373. if {_arg1} is "menu":
  6374. if {_arg2} is "profile":
  6375. wait 2 ticks
  6376. open chest with 3 rows named "My Profile" to {_p}
  6377. wait 4 ticks
  6378. 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})]
  6379. 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})]
  6380. 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
  6381. if {_arg2} is "prefs":
  6382. if {_p} has permission "mineplex.trainee":
  6383. open chest with 6 rows named "My Preferences" to {_p}
  6384. wait 3 tick
  6385. format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6386. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6387. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6388. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6389. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6390. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6391. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6392. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6393. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6394. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6395. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6396. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6397. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6398. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6399. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6400. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6401. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6402. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6403. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6404. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6405. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6406. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6407. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6408. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6409. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6410. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6411. format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
  6412. format slot 21 of {_p} with diamond named "&eExclusive Preferences" to run [profile_system("menu", "staff", {_p}, {_p2})]
  6413. format slot 23 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
  6414. format slot 25 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
  6415. format slot 31 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
  6416. else:
  6417. open chest with 5 rows named "My Preferences" to {_p}
  6418. wait 1 ticks
  6419. format slot 0 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6420. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6421. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6422. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6423. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6424. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6425. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6426. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6427. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6428. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6429. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6430. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6431. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6432. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6433. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6434. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6435. format slot 37 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6436. format slot 38 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6437. format slot 39 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6438. format slot 40 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6439. format slot 41 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6440. format slot 42 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6441. format slot 43 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6442. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6443. format slot 19 of {_p} with paper named "&eUser Preferences" to run [profile_system("menu", "user", {_p}, {_p2})]
  6444. format slot 21 of {_p} with redstone comparator item named "&eGame Mechanic Preferences" to run [profile_system("menu", "game", {_p}, {_p2})]
  6445. format slot 23 of {_p} with compass named "&eMiscellaneous Preferences" to run [profile_system("menu", "misc", {_p}, {_p2})]
  6446. format slot 25 of {_p} with red flower named "&eSocial Preferences" to run [profile_system("menu", "social", {_p}, {_p2})]
  6447. if {_arg2} is "user":
  6448. open chest with 6 rows named "User Preferences" to {_p}
  6449. wait 3 tick
  6450. format slot 0 of {_p} with bed item named "← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  6451. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6452. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6453. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6454. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6455. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6456. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6457. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6458. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6459. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6460. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6461. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6462. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6463. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6464. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6465. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6466. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6467. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6468. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6469. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6470. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6471. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6472. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6473. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6474. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6475. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6476. if {mineplex.pref.hg.%{_p}%} is true:
  6477. 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})]
  6478. 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})]
  6479. else:
  6480. 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})]
  6481. 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})]
  6482. if {mineplex.pref.hpv.%{_p}%} is true:
  6483. 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})]
  6484. 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})]
  6485. else:
  6486. 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})]
  6487. 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})]
  6488. if {mineplex.pref.pc.%{_p}%} is true:
  6489. 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})]
  6490. 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})]
  6491. else:
  6492. 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})]
  6493. 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})]
  6494. if {mineplex.pref.pm.%{_p}%} is true:
  6495. 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})]
  6496. 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})]
  6497. else:
  6498. 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})]
  6499. 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})]
  6500. if {mineplex.pref.rm.%{_p}%} is true:
  6501. 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})]
  6502. 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})]
  6503. else:
  6504. 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})]
  6505. 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})]
  6506. if {_arg2} is "game":
  6507. open chest with 6 rows named "Game Mechanic Preference" to {_p}
  6508. wait 3 tick
  6509. format slot 0 of {_p} with bed item named "← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  6510. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6511. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6512. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6513. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6514. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6515. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6516. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6517. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6518. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6519. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6520. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6521. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6522. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6523. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6524. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6525. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6526. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6527. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6528. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6529. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6530. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6531. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6532. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6533. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6534. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6535. if {mineplex.pref.aj.%{_p}%} is true:
  6536. 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})]
  6537. 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})]
  6538. else:
  6539. 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})]
  6540. 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})]
  6541. if {mineplex.pref.daw.%{_p}%} is true:
  6542. 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})]
  6543. 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})]
  6544. else:
  6545. 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})]
  6546. 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})]
  6547. if {mineplex.pref.cj.%{_p}%} is true:
  6548. 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})]
  6549. 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})]
  6550. else:
  6551. 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})]
  6552. 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})]
  6553. if {_arg2} is "misc":
  6554. open chest with 6 rows named "Miscellaneous Preference" to {_p}
  6555. wait 3 tick
  6556. format slot 0 of {_p} with bed item named "← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  6557. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6558. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6559. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6560. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6561. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6562. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6563. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6564. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6565. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6566. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6567. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6568. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6569. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6570. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6571. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6572. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6573. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6574. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6575. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6576. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6577. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6578. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6579. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6580. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6581. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6582. if {mineplex.pref.sct.%{_p}%} is true:
  6583. 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})]
  6584. 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})]
  6585. else:
  6586. 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})]
  6587. 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})]
  6588. if {mineplex.pref.hm.%{_p}%} is true:
  6589. 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})]
  6590. 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})]
  6591. else:
  6592. 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})]
  6593. 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})]
  6594. if {_arg2} is "social":
  6595. open chest with 6 rows named "Social Preferences" to {_p}
  6596. wait 3 tick
  6597. format slot 0 of {_p} with bed item named "← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  6598. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6599. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6600. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6601. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6602. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6603. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6604. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6605. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6606. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6607. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6608. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6609. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6610. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6611. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6612. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6613. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6614. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6615. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6616. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6617. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6618. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6619. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6620. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6621. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6622. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6623. if {mineplex.pref.pr.%{_p}%} is true:
  6624. 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})]
  6625. 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})]
  6626. else:
  6627. 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})]
  6628. 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})]
  6629. if {mineplex.pref.spfr.%{_p}%} is true:
  6630. 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})]
  6631. 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})]
  6632. else:
  6633. 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})]
  6634. 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})]
  6635. if {mineplex.pref.dfg.%{_p}%} is true:
  6636. 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})]
  6637. 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})]
  6638. else:
  6639. 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})]
  6640. 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})]
  6641. if {mineplex.pref.sci.%{_p}%} is true:
  6642. 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})]
  6643. 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})]
  6644. else:
  6645. 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})]
  6646. 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})]
  6647. if {mineplex.pref.dpg.%{_p}%} is true:
  6648. 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})]
  6649. 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})]
  6650. else:
  6651. 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})]
  6652. 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})]
  6653. if {_arg2} is "staff":
  6654. open chest with 6 rows named "Exclusive Preferences" to {_p}
  6655. wait 3 tick
  6656. format slot 0 of {_p} with bed item named "← Go Back" to run [profile_system("menu", "prefs", {_p}, {_p2})]
  6657. format slot 1 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6658. format slot 2 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6659. format slot 3 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6660. format slot 4 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6661. format slot 5 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6662. format slot 6 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6663. format slot 7 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6664. format slot 8 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6665. format slot 9 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6666. format slot 17 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6667. format slot 18 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6668. format slot 26 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6669. format slot 27 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6670. format slot 35 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6671. format slot 36 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6672. format slot 44 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6673. format slot 45 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6674. format slot 46 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6675. format slot 47 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6676. format slot 48 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6677. format slot 49 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6678. format slot 50 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6679. format slot 51 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6680. format slot 52 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6681. format slot 53 of {_p} with light blue stained glass pane named "&f" to be unstealable
  6682. if {mineplex.pref.hif.%{_p}%} is true:
  6683. 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})]
  6684. 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})]
  6685. else:
  6686. 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})]
  6687. 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})]
  6688. if {mineplex.ff.%{_p}%} is true:
  6689. 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})]
  6690. 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})]
  6691. else:
  6692. 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})]
  6693. 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})]
  6694. if {mineplex.pref.gwen.%{_p}%} is true:
  6695. 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})]
  6696. 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})]
  6697. else:
  6698. 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})]
  6699. 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})]
  6700. if {mineplex.pref.report.%{_p}%} is true:
  6701. 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})]
  6702. 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})]
  6703. else:
  6704. 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})]
  6705. 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})]
  6706. if {mineplex.pref.ff.%{_p}%} is true:
  6707. 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})]
  6708. 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})]
  6709. else:
  6710. 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})]
  6711. 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})]
  6712.  
  6713. command /prefs:
  6714. trigger:
  6715. profile_system("menu", "prefs", player, player)
  6716.  
  6717. #GWEN CODING!! (Using my old plugin Shield) (I took it down as I was ripping off json.sk but wtevr) lol
  6718.  
  6719. on damage:
  6720. if "%Victim's name%" is "BeamCow" or "BeamGuar":
  6721. cancel event
  6722. on death:
  6723. if "%Victim's name%" is "BeamCow" or "BeamGuar":
  6724. clear drops
  6725.  
  6726. on quit:
  6727. delete {forcefield.past.%player%}
  6728.  
  6729. function beamGo(p: player) :: number:
  6730. apply slowness 255 to {_p} for 7 seconds
  6731. set {_p2} to location 3 blocks in front of {_p}
  6732. add 5 to y-coordinate of {_p2}
  6733. set {_p3} to location 3 blocks behind {_p}
  6734. add 5 to y-coordinate of {_p3}
  6735. set {_p4} to location 3 blocks left of {_p}
  6736. add 5 to y-coordinate of {_p4}
  6737. set {_p5} to location 3 blocks right of {_p}
  6738. add 5 to y-coordinate of {_p5}
  6739. spawn a guardian at {_p2}
  6740. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  6741. set {_t2} to last spawned entity
  6742. spawn a guardian at {_p3}
  6743. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  6744. set {_t3} to last spawned entity
  6745. spawn a guardian at {_p4}
  6746. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  6747. set {_t4} to last spawned entity
  6748. spawn a guardian at {_p5}
  6749. add "{CustomName:""BeamCow"", NoGravity:1, Silent:1}" to nbt of last spawned entity
  6750. set {_t5} to last spawned entity
  6751. set {_player} to {_p}
  6752. set {_r} to randomize "BHWFEAEG619"
  6753. set {_s} to "Chiss" parsed as a player
  6754. setPlayerdata({_p}, "banned", "yes")
  6755. punishBan({_s} ,{_player} , "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%")
  6756. set {banned::%{_player}%} to true
  6757. set {banned::%{_player}%::type} to "perm"
  6758. set {banned::%{_player}%::reason} to "[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%"
  6759. set {banned::%{_player}%::staff} to "Chiss"
  6760. set {banned::%{_player}%::when} to now
  6761. add "&ePunishment Type: &fOther||||&eReason: &f[GWEN] Token: %{_r}%||||&eStaff: &fChiss||||&eDate: &f%now%" to {p.%{_player}%::history::*}
  6762. Beam({_p}, {_t2})
  6763. Beam({_p}, {_t3})
  6764. Beam({_p}, {_t4})
  6765. Beam({_p}, {_t5})
  6766. wait 5.2 seconds
  6767. broadcast "&9GWEN> &7%{_p}% has been banned. I am always watching"
  6768. kick {_player} due to "&c&lYou are banned for Permanent by Mineplex Anti-Cheat%nl%&f[GWEN Cheat Detection]%nl%%nl%Ban Token:%nl%%{_r}%%nl%&2Unfairly banned? Appeal at &a%{mineplex.config.appealwebsite}%"
  6769.  
  6770. command /gwenban <player>:
  6771. permission: mineplex.admin
  6772. permission message: &9Permissions> &7This requires Permission Rank [&9ADMIN&7].
  6773. trigger:
  6774. beamGo(arg-1)
  6775.  
  6776. on shoot:
  6777. if projectile is an arrow:
  6778. if difference between {bow.%shooter%} and now is less than 2 ticks:
  6779. gwenAlert((shooter), ("Fast Bow"))
  6780. set {bow.%shooter%} to now
  6781.  
  6782. on damage:
  6783. if {shield.toggle.ff} is false:
  6784. stop
  6785. else:
  6786. attacker is a player
  6787. projectile doesn't exist
  6788. if target of attacker is victim:
  6789. stop
  6790. cancel event
  6791. add 1 to {forcefield.%attacker%}
  6792. if {forcefield.%attacker%} > 5:
  6793. if {forcefield.past.%attacker% } is not set:
  6794. set {forcefield.past.%attacker%} to 1
  6795. gwenAlert((attacker), ("Forcefield"))
  6796. wait 3 seconds
  6797. reduce {forcefield.%attacker%} by 1
  6798. stop
  6799. else if {forcefield.past.%attacker%} is 1:
  6800. gwenAlert((attacker), ("§aForcefield"))
  6801. add 1 to {forcefield.past.%attacker%}
  6802. wait 3 seconds
  6803. reduce {forcefield.%attacker%} by 1
  6804. stop
  6805. else if {forcefield.past.%attacker%} is 2:
  6806. gwenAlert((attacker), ("§eForcefield"))
  6807. add 1 to {forcefield.past.%attacker%}
  6808. wait 3 seconds
  6809. reduce {forcefield.%attacker%} by 1
  6810. stop
  6811. else if {forcefield.past.%attacker%} is 3:
  6812. gwenAlert((attacker), ("§cForcefield"))
  6813. add 1 to {forcefield.past.%attacker%}
  6814. wait 3 seconds
  6815. reduce {forcefield.%attacker%} by 1
  6816. stop
  6817. else if {forcefield.past.%attacker%} is 4:
  6818. gwenAlert((attacker), ("§4Forcefield"))
  6819. add 1 to {forcefield.past.%attacker%}
  6820. wait 3 seconds
  6821. reduce {forcefield.%attacker%} by 1
  6822. stop
  6823.  
  6824. every 4 second :
  6825. set {autoclick.check} to true
  6826. wait 3 second
  6827. set {autoclick.check} to false
  6828. loop all players :
  6829. delete {player.click.%loop-player%}
  6830.  
  6831. on left click :
  6832. {autoclick.check} is true
  6833. add 1 to {player.click.%player%}
  6834. {player.click.%player%} > 69
  6835. gwenAlert((player), ("High CPS (%{player.click.%player%} / 3% clicks/second)"))
  6836.  
  6837. on walk on water:
  6838. set {_loc} to location of player
  6839. add 2 to y-coordinate of {_loc}
  6840. if block at {_loc} is air:
  6841. add 1 to {gwen.jesus.%player%}
  6842. if {gwen.jesus.%player%} is greater than 6:
  6843. gamemode of player is survival
  6844. gwenAlert((player), ("Jesus"))
  6845. delete {gwen.jesus.%player%}
  6846.  
  6847. on consume:
  6848. if difference between {fasteat.%player%} and now is less than 10 ticks:
  6849. cancel event
  6850. set {fasteat.%player%} to now
  6851. gwenAlert((player), ("FastEat"))
  6852. set {fasteat.%player%} to now
  6853.  
  6854. on damage:
  6855. if attacker is a player:
  6856. if victim is a player:
  6857. if attacker's gamemode is survival or adventure:
  6858. damage wasn't caused by thorns or projectile:
  6859. set {_reach.%attacker%} to distance between attacker and victim
  6860. set {_ping} to attacker's ping
  6861. if {_reach.%attacker%} is greater than 5.67:
  6862. if {_ping} is greater than 350:
  6863. gwenAlert((attacker), ("Reach"))
  6864. if {_ping} is less than 350:
  6865. gwenAlert((attacker), ("Reach"))
  6866.  
  6867. on damage of a player :
  6868. block at victim is not cobweb
  6869. victim is not riding
  6870. victim is not on fire
  6871. victim's y-coordinate is greater than 5
  6872. set {_loc9} to block north east victim
  6873. set {_loc8} to block south west victim
  6874. blocks within {_loc9} to {_loc8} is air
  6875. set {_loc} to location of victim
  6876. wait 10 ticks
  6877. set {_loc2} to location of victim
  6878. distance between {_loc} and {_loc2} = 0
  6879. victim's ping < 250
  6880. gwenAlert((victim), ("Velocity"))
  6881.  
  6882. #Systems
  6883.  
  6884. on leftclick holding tnt:
  6885. if {mineplex.tntlauncher} is true:
  6886. player has 1 tnt
  6887. spawn a primed tnt 1 meter above the player
  6888. add "{Fuse:60}" to nbt of the spawned entity
  6889. push the spawned entity in direction of player at speed 0.9
  6890. push the spawned entity upwards at speed 0.2
  6891. remove 1 tnt from player
  6892.  
  6893. on rightclick holding tnt:
  6894. if {mineplex.tntlauncher} is true:
  6895. player has 1 tnt
  6896. spawn a primed tnt 1 meter above the player
  6897. add "{Fuse:60}" to nbt of the spawned entity
  6898. push the spawned entity in direction of player at speed 0.9
  6899. push the spawned entity upwards at speed 0.2
  6900. remove 1 tnt from player
  6901.  
  6902. #Command Completers
  6903.  
  6904. on tab completer for "/mineplex-core":
  6905. if argument at 1 is set:
  6906. if argument at 1 is "useChat" or "titleOnJoin" or "useScoreboard":
  6907. add "true" to completions
  6908. add "false" to completions
  6909. else if argument at 1 is "chestPoint":
  6910. add "1" to completions
  6911. add "2" to completions
  6912. add "3" to completions
  6913. add "4" to completions
  6914. else if argument at 1 is "chestPointSub":
  6915. if argument at 2 is set:
  6916. add "1" to completions
  6917. add "2" to completions
  6918. add "3" to completions
  6919. add "4" to completions
  6920. add "5" to completions
  6921. add "6" to completions
  6922. add "7" to completions
  6923. add "8" to completions
  6924. else:
  6925. add "1" to completions
  6926. add "2" to completions
  6927. add "3" to completions
  6928. add "4" to completions
  6929. if argument at 1 is not set:
  6930. add "help" to completions
  6931. add "useChat" to completions
  6932. add "setAdmin" to completions
  6933. add "chestPoint" to completions
  6934. add "chestPointSub" to completions
  6935. add "titleOnJoin" to completions
  6936. add "reload" to completions
  6937. add "useScoreboard" to completions
  6938. add "spawnCarl" to completions
  6939. add "throwableTnt" to completions
  6940.  
  6941. on tab completer for "/tp":
  6942. add "here" to completions
  6943. add "h" to completions
  6944. add "back" to completions
  6945. add "b" to completions
  6946. add "all" to completions
  6947. loop all players:
  6948. add "%loop-player%" to completions
  6949.  
  6950. on tab completer for "/give":
  6951. if player has permission "mineplex.admin":
  6952. loop all items:
  6953. add "%loop-value%" to completions
  6954. loop all players:
  6955. add "%loop-player%" to completions
  6956. add "ALL" to completions
  6957.  
  6958. #Modules
  6959.  
  6960. on load:
  6961. delete {mineplex::modules::*}
  6962. set {mineplex.modulesapi.online} to true
  6963.  
  6964. on unload:
  6965. delete {mineplex::modules::*}
  6966. set {mineplex.modulesapi.online} to false
  6967.  
  6968. command /modules:
  6969. trigger:
  6970. send "&9Modules> &7Modules API version 0.1"
  6971. send "&9Modules> &7Going to *attempt* to list modules."
  6972. send "&9Modules> &7This does not mean that your module is not loaded."
  6973. loop {mineplex::modules::*}:
  6974. send "&9Modules> &e%loop-value%"
  6975.  
  6976. #add "Bungee Module" to {mineplex::modules::*}
  6977. #remove "Bungee Module" from {mineplex::modules::*}
  6978.  
  6979. #MPS
  6980.  
  6981. #on load:
  6982. # if {wget} is not set:
  6983. # download file from "" to file "./WheezyMap.zip"
  6984.  
  6985. #command /mpsconfirm:
  6986. # permission: mineplex.op
  6987. # trigger:
  6988. # if {mineplex.mps.%player%} is not set:
  6989. # send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
  6990. # send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
  6991. # copy dir "./mps/Mineplex" to "./mps/%player%-1/"
  6992. # load world "./mps/%player%-1"
  6993. # set {mps.%player%-1} to "yes"
  6994. # wait 20 seconds
  6995. # else:
  6996. # 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."
  6997. #
  6998. #command /hostserver:
  6999. # permission: mineplex.op
  7000. # trigger:
  7001. # if {mineplex.mps.%player%} is not set:
  7002. # send "&9Personal Server Manager> &7%player%-1 successfully created. You will be sent to it shortly."
  7003. # send "&9Personal Server Manager> &7If you haven't been connected in 20 seconds, type /server %player%-1."
  7004. # create folder "./mps/%player%-1"
  7005. # load world "./mps/%player%-1"
  7006. # wait 20 seconds
  7007. # teleport player to spawn of "./mps/%player%-1"
  7008. # else:
  7009. # 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."
  7010.  
  7011. #command /endserver:
  7012. # trigger:
  7013. # loop all players:
  7014. # loop-player's world is "./mps/%player%-1":
  7015. # teleport player to spawn of "%arg-1%"
  7016. # unload world "./mps/%player%-1"
  7017. # wait 2 seconds
  7018. # delete folder "./mps/%player%-1/data/"
  7019. # delete folder "./mps/%player%-1/region/"
  7020. # delete file "./mps/%player%-1/level.dat"
  7021. # delete file "./mps/%player%-1/uid.dat"
  7022. # delete file "./mps/%player%-1/session.lock"
  7023. # delete dir "./mps/%player%-1"
  7024.  
  7025. #command /tpwrd <text>:
  7026. # trigger:
  7027. # set {_w} to "world"
  7028. # teleport player to spawn of {_w}
  7029.  
  7030. #command /menu:
  7031. # trigger:
  7032. # open chest with 3 rows named "Private Server Menu" to player
  7033. # wait 1 tick
  7034. # 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"]
  7035. # format slot 13 of player with lava bucket named "&aRemove Player" with lore "||&e" to close then run [execute console command "kick Citrin_ lol"]
  7036. # format slot 15 of player with redstone comparator item named "&aGame Options" with lore "||&e" to close then run [execute console command "say xd"]
  7037. # 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"]
  7038. # 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"]
  7039. # 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"]
  7040.  
  7041.  
  7042. #skPerms by LimeGlass
  7043. #Thanks for Letting Me Bake This In!
  7044. options:
  7045. prefix: &6[&5SkPerms&6]
  7046. maincolour: &6
  7047. secondcolour: &7
  7048. command: /skperms
  7049. aliases: /perm, /permission
  7050. permission: skperms.admin
  7051.  
  7052. #CMD protection is basically extra security for your server. Only players inside of a list variable can use SkPerms
  7053. CMDprotection: false
  7054. CMDprotectionMsg: Unknown command. Type ""/help"" for help
  7055. #The player list is the list variable that contains players that can use SkPerms if CMDprotection is enabled
  7056. PlayerList: {example::players::*}
  7057.  
  7058. UseChat: false #use prefix and suffix in the chat
  7059. #Chat types:
  7060. #Display - Changes the player's display name (Vault will hook if installed)
  7061. #Override - !COMING SOON
  7062. ChatType: "Display"
  7063.  
  7064. version: 1.0.5
  7065.  
  7066. on script load:
  7067. if file "plugins\SkPerms" exists:
  7068. delete {skperms::config::*}
  7069. else:
  7070. set yaml value "version" from file "plugins\SkPerms\config.yml" to "{@version}"
  7071. set yaml value "useYML" from file "plugins\SkPerms\config.yml" to false
  7072. set {skperms::config::version} to yaml value "version" from file "plugins\SkPerms\config.yml"
  7073. set {skperms::config::useYML} to yaml value "useYML" from file "plugins\SkPerms\config.yml"
  7074. if {skperms::config::useYML} is true:
  7075. if {skperms::players::*} is not set:
  7076. stop
  7077. delete file "plugins\SkPerms\players.yml"
  7078. loop {skperms::players::*}:
  7079. loop {skperms::player::%loop-value%::permissions::*}:
  7080. add "%loop-value-2%" to yaml list "players.%loop-value-1%.permissions" from file "plugins\SkPerms\players.yml"
  7081. on script unload:
  7082. loop {skperms::groups::*}:
  7083. if {skperms::group::%loop-value%::*} is not set:
  7084. loop {skperms::group::%loop-value-1%::permissions::*}:
  7085. loop {skperms::players::*}:
  7086. remove "%loop-value-2%" from {skperms::player::%loop-value-3%::permissions::*}
  7087. loop {skperms::players::*}:
  7088. remove "%loop-value-1%" from {skperms::player::%loop-value-2%::groups::*}
  7089. if {skperms::player::%loop-value-2%::groups::*} is not empty:
  7090. loop {skperms::player::%loop-value-2%::groups::*}:
  7091. loop {skperms::group::%loop-value-1%::permissions::*}:
  7092. set {_p} to "%loop-value-2%" parsed as player
  7093. add "%loop-value-4%" to {_p}'s permissions
  7094. remove "%loop-value%" from {skperms::groups::*}
  7095. command {@command} [<text>] [<text>] [<text>] [<text>] [<text>]:
  7096. permission: {@permission}
  7097. aliases: {@aliases}
  7098. trigger:
  7099. if {@CMDprotection} is true:
  7100. if command sender is not console:
  7101. if {@PlayerList} doesn't contain player or "%player%":
  7102. message "{@CMDprotectionMsg}"
  7103. stop
  7104. if arg 1 is not set:
  7105. message ""
  7106. message "{@prefix} v{@version}:"
  7107. message "{@maincolour}{@command} deleteDefault"
  7108. message "{@secondcolour}Deletes default group setting (If set)"
  7109. message "{@maincolour}{@command} (d|default) (group)"
  7110. if {skperms::default} is set:
  7111. message "{@secondcolour}Set the default group {@maincolour}(&7%{skperms::default}%{@maincolour})"
  7112. else:
  7113. message "{@secondcolour}Set the default group"
  7114. message "{@maincolour}{@command} (p|player) (player) (add|remove|list) permission [permission]"
  7115. message "{@secondcolour}Add/remove/list a players permissions"
  7116. message "{@maincolour}{@command} (p|player) (player) (add|set|remove|list) group [group]"
  7117. message "{@secondcolour}Add/remove/set/list a players group"
  7118. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) permission [permission]"
  7119. message "{@secondcolour}Add/remove/list a group permission"
  7120. message "{@maincolour}{@command} (g|group) (group) (add|remove|list) group [group]"
  7121. message "{@secondcolour}Add/remove/list a groups connected groups"
  7122. message "{@secondcolour}A group is created once it contains a permission"
  7123. message "{@maincolour}{@command} (g|group) (group) (prefix|suffix) set (text)"
  7124. message "{@secondcolour}Set a suffix or prefix to a group"
  7125. message ""
  7126. else if arg 1 is "deleteDefault":
  7127. delete {skperms::default}
  7128. message "{@prefix} {@maincolour}Removed default group (No group set)"
  7129. else if arg 1 is "d", "setdefault" or "default":
  7130. if arg 2 is set:
  7131. set {skperms::default} to "%arg 2%"
  7132. message "{@prefix} {@maincolour}Set default group to &l%arg 2%"
  7133. else:
  7134. message "{@prefix} {@maincolour}Error: Group not specified"
  7135. else if arg 1 is "p" or "player":
  7136. if arg 2 is not set:
  7137. message "{@prefix} {@maincolour}Error: Player not specified"
  7138. else if arg 2 is set:
  7139. if arg 3 is "a" or "add":
  7140. if arg 4 is "p", "permission" or "permissions":
  7141. if arg 5 is set:
  7142. if {skperms::groups::*} doesn't contain "%arg 2%":
  7143. add "%arg 2%" to {skperms::groups::*}
  7144. set {_player} to arg 2 parsed as player
  7145. add "%arg 5%" to {_player}'s permissions
  7146. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  7147. message "{@prefix} {@maincolour}Added %arg 5% to %arg 2%'s permissions"
  7148. else:
  7149. message "{@prefix} {@maincolour}Error: Permission not specified"
  7150. else if arg 4 is "g", "group" or "groups":
  7151. if arg 5 is set:
  7152. if {skperms::groups::*} doesn't contain "%arg 2%":
  7153. add "%arg 2%" to {skperms::groups::*}
  7154. if {skperms::player::%arg 2%::groups::*} doesn't contain "%arg 5%":
  7155. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  7156. else:
  7157. message "{@prefix} {@secondcolour}%arg 2% already has group %arg 5%"
  7158. stop
  7159. message "{@prefix} {@maincolour}Added %arg 2% to group %arg 5%"
  7160. if {@UseChat} is true:
  7161. if {@ChatType} is "Display" or "display":
  7162. loop all players:
  7163. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  7164. if {skperms::group::%arg 5%::prefix} is set:
  7165. if {skperms::group::%arg 5%::suffix} is set:
  7166. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7167. else:
  7168. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7169. else if {skperms::group::%arg 5%::suffix} is set:
  7170. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7171. else:
  7172. set loop-player's display name to "%player%"
  7173. loop all players:
  7174. if {skperms::player::%player%::groups::*} is not set:
  7175. set loop-player's display name to "%player%"
  7176. else:
  7177. message "{@prefix} {@maincolour}Error: Group not specified"
  7178. else:
  7179. message "{@prefix} {@maincolour}Error: Type not specified"
  7180. else if arg 3 is "s" or "set":
  7181. if arg 4 is "g", "group" or "groups":
  7182. if arg 5 is set:
  7183. if {skperms::groups::*} doesn't contain "%arg 2%":
  7184. add "%arg 2%" to {skperms::groups::*}
  7185. delete {skperms::player::%arg 2%::groups::*}
  7186. add "%arg 5%" to {skperms::player::%arg 2%::groups::*}
  7187. message "{@prefix} {@maincolour}Set %arg 2% to group %arg 5%"
  7188. if {@UseChat} is true:
  7189. if {@ChatType} is "Display" or "display":
  7190. loop all players:
  7191. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  7192. if {skperms::group::%arg 5%::prefix} is set:
  7193. if {skperms::group::%arg 5%::suffix} is set:
  7194. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7195. else:
  7196. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7197. else if {skperms::group::%arg 5%::suffix} is set:
  7198. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7199. else:
  7200. set loop-player's display name to "%player%"
  7201. loop all players:
  7202. if {skperms::player::%player%::groups::*} is not set:
  7203. set loop-player's display name to "%player%"
  7204. else:
  7205. message "{@prefix} {@maincolour}Error: Group not specified"
  7206. else:
  7207. message "{@prefix} {@maincolour}Error: Type not specified"
  7208. else if arg 3 is "r" or "remove":
  7209. if arg 4 is "p", "permission" or "permissions":
  7210. if arg 5 is set:
  7211. set {_player} to arg 2 parsed as player
  7212. remove "%arg 5%" from {_player}'s permissions
  7213. set {skperms::player::%arg 2%::permissions::*} to {_player}'s permissions
  7214. message "{@prefix} {@maincolour}Removed %arg 5% from %arg 2%'s permissions"
  7215. else:
  7216. message "{@prefix} {@maincolour}Error: Permission not specified"
  7217. else if arg 4 is "g", "group" or "groups":
  7218. if arg 5 is set:
  7219. if {skperms::player::%arg 2%::groups::*} contains "%arg 5%":
  7220. remove "%arg 5%" from {skperms::player::%arg 2%::groups::*}
  7221. message "{@prefix} {@maincolour}Removed %arg 2% from group %arg 5%"
  7222. if {@UseChat} is true:
  7223. if {@ChatType} is "Display" or "display":
  7224. loop all players:
  7225. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  7226. if {skperms::group::%arg 5%::prefix} is set:
  7227. if {skperms::group::%arg 5%::suffix} is set:
  7228. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7229. else:
  7230. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7231. else if {skperms::group::%arg 5%::suffix} is set:
  7232. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7233. else:
  7234. set loop-player's display name to "%player%"
  7235. loop all players:
  7236. if {skperms::player::%player%::groups::*} is not set:
  7237. set loop-player's display name to "%player%"
  7238. else:
  7239. message "{@prefix} {@maincolour}Error: Player %arg 2% doesn't have that group"
  7240. else:
  7241. message "{@prefix} {@maincolour}Error: Group not specified"
  7242. else:
  7243. message "{@prefix} {@maincolour}Error: Type not specified"
  7244. else if arg 3 is "l" or "list":
  7245. if arg 4 is "p", "permission" or "permissions":
  7246. set {_player} to arg 2 parsed as player
  7247. message "{@prefix} {@maincolour}%{_player}'s permissions%"
  7248. else if arg 4 is "g", "group" or "groups":
  7249. message "{@prefix} {@maincolour}%{skperms::player::%arg 2%::groups::*}%"
  7250. else:
  7251. message "{@prefix} {@maincolour}Error: Type not specified"
  7252. else if arg 1 is "g", "group" or "groups":
  7253. if arg 2 is not set:
  7254. message "{@prefix} {@maincolour}Error: Group not specified"
  7255. else if arg 2 is set:
  7256. if arg 3 is "a" or "add":
  7257. if arg 4 is "p", "permission" or "permissions":
  7258. if arg 5 is set:
  7259. if {skperms::groups::*} doesn't contain "%arg 2%":
  7260. add "%arg 2%" to {skperms::groups::*}
  7261. add "%arg 5%" to {skperms::group::%arg 2%::permissions::*}
  7262. message "{@prefix} {@maincolour}Added %arg 5% to group %arg 2%'s permissions"
  7263. loop all players:
  7264. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7265. loop {skperms::group::%arg 2%::permissions::*}:
  7266. add "%loop-value-2%" to loop-player's permissions
  7267. else:
  7268. message "{@prefix} {@maincolour}Error: Permission not specified"
  7269. else if arg 4 is "g", "group" or "groups":
  7270. if arg 5 is set:
  7271. if {skperms::groups::*} doesn't contain "%arg 2%":
  7272. add "%arg 2%" to {skperms::groups::*}
  7273. loop {skperms::group::%arg 5%::permissions::*}:
  7274. add "%loop-value%" to {skperms::group::%arg 2%::permissions::*}
  7275. message "{@prefix} {@maincolour}Added %arg 5%'s permissions to group %arg 2%"
  7276. loop all players:
  7277. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7278. loop {skperms::group::%arg 2%::permissions::*}:
  7279. add "%loop-value-2%" to loop-player's permissions
  7280. else:
  7281. message "{@prefix} {@maincolour}Error: Group not specified"
  7282. else:
  7283. message "{@prefix} {@maincolour}Error: Type not specified"
  7284. else if arg 3 is "r" or "remove":
  7285. if arg 4 is "p", "permission" or "permissions":
  7286. if arg 5 is set:
  7287. loop all players:
  7288. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7289. loop {skperms::group::%arg 2%::permissions::*}:
  7290. remove "%loop-value-2%" from loop-player's permissions
  7291. remove "%arg 5%" from {skperms::group::%arg 2%::permissions::*}
  7292. message "{@prefix} {@maincolour}Removed %arg 5% from group %arg 2%'s permissions"
  7293. loop all players:
  7294. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7295. loop {skperms::group::%arg 2%::permissions::*}:
  7296. add "%loop-value-2%" to loop-player's permissions
  7297. else:
  7298. message "{@prefix} {@maincolour}Error: Permission not specified"
  7299. else if arg 4 is "g", "group" or "groups":
  7300. if arg 5 is set:
  7301. loop all players:
  7302. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7303. loop {skperms::group::%arg 2%::permissions::*}:
  7304. remove "%loop-value-2%" from loop-player's permissions
  7305. loop {skperms::group::%arg 5%::permissions::*}:
  7306. remove "%loop-value%" from {skperms::group::%arg 2%::permissions::*}
  7307. add 1 to {_l}
  7308. message "{@prefix} {@maincolour}Removed %{_l}% of %arg 5%'s permissions from group %arg 2%"
  7309. loop all players:
  7310. if {skperms::player::%player%::groups::*} contains "%arg 2%":
  7311. loop {skperms::group::%arg 2%::permissions::*}:
  7312. add "%loop-value-2%" to loop-player's permissions
  7313. else:
  7314. message "{@prefix} {@maincolour}Error: Group not specified"
  7315. else:
  7316. message "{@prefix} {@maincolour}Error: Type not specified"
  7317. else if arg 3 is "l" or "list":
  7318. if arg 4 is "p", "permission" or "permissions":
  7319. message "{@prefix} {@maincolour}%{skperms::group::%arg 2%::permissions::*}%"
  7320. else:
  7321. message "{@prefix} {@maincolour}Error: Type not specified"
  7322. else if arg 3 is "prefix" or "suffix":
  7323. if arg 4 is "set":
  7324. if arg 5 is set:
  7325. set {skperms::group::%arg 2%::%arg 3%} to "%arg 5%"
  7326. message "{@prefix} {@maincolour}%arg 3% set to %arg 5%"
  7327. if {@UseChat} is true:
  7328. if {@ChatType} is "Display" or "display":
  7329. loop all players:
  7330. if {skperms::player::%player%::groups::*} contains "%arg 5%":
  7331. if {skperms::group::%arg 5%::prefix} is set:
  7332. if {skperms::group::%arg 5%::suffix} is set:
  7333. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7334. else:
  7335. set loop-player's display name to coloured "%{skperms::group::%arg 5%::prefix}%%loop-player%"
  7336. else if {skperms::group::%arg 5%::suffix} is set:
  7337. set loop-player's display name to coloured "%loop-player%%{skperms::group::%arg 5%::suffix}%"
  7338. else:
  7339. set loop-player's display name to "%player%"
  7340. loop all players:
  7341. if {skperms::player::%player%::groups::*} is not set:
  7342. set loop-player's display name to "%player%"
  7343. else:
  7344. message "{@prefix} {@maincolour}Prefix/Suffix not specified"
  7345. else:
  7346. message "{@prefix} {@maincolour}Error: Type not specified (Type ""set"")"
  7347. #on quit:
  7348. # set {skperms::player::%player%::permissions::*} to player's permissions
  7349.  
  7350. on join:
  7351. loop 2 times:
  7352. remove "%player%" from {skperms::players::*}
  7353. add "%player%" to {skperms::players::*}
  7354. loop {skperms::groups::*}:
  7355. if player has permission "skperms.group.%loop-value%":
  7356. if {skperms::player::%player%::groups::*} doesn't contain "%loop-value%":
  7357. add "%loop-value%" to {skperms::player::%player%::groups::*}
  7358. if {skperms::default} is set:
  7359. loop {skperms::group::%{skperms::default}%::permissions::*}:
  7360. add "%loop-value%" to player's permissions
  7361. loop {skperms::player::%player%::permissions::*}:
  7362. add "%loop-value%" to player's permissions
  7363. if {skperms::player::%player%::groups::*} is not empty:
  7364. loop {skperms::player::%player%::groups::*}:
  7365. loop {skperms::group::%loop-value%::permissions::*}:
  7366. add "%loop-value-2%" to player's permissions
  7367. if {@UseChat} is true:
  7368. if {@ChatType} is "Display" or "display":
  7369. if {skperms::group::%loop-index%::prefix} is set:
  7370. if {skperms::group::%loop-index%::suffix} is set:
  7371. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%%{skperms::group::%loop-index%::suffix}%"
  7372. else:
  7373. set player's display name to coloured "%{skperms::group::%loop-index%::prefix}%%player%"
  7374. else if {skperms::group::%loop-index%::suffix} is set:
  7375. set player's display name to coloured "%player%%{skperms::group::%loop-index%::suffix}%"
  7376. else:
  7377. set player's display name to "%player%"
  7378. loop all players:
  7379. if {skperms::player::%player%::groups::*} is not set:
  7380. set loop-player's display name to "%player%"
  7381.  
  7382. on load:
  7383. set {_time} to difference between {mineplex.starttime} and now
  7384. broadcast "&9MCR> &7Mineplex Core &e{@MCRVER} &7has been loaded! (%{_time}%)"
Add Comment
Please, Sign In to add comment