Advertisement
Guest User

Untitled

a guest
Aug 21st, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.43 KB | None | 0 0
  1. load("util:items.js");
  2. load("util:levels.js");
  3. load("util:menus.js");
  4. load("util:nkv.js")
  5. load("loads/holoutil.js");
  6. load("loads/npcutil.js");
  7.  
  8. var data = database.getDatabase(database.infoService().byName("currency"));
  9. var datautil = systems.byName("datautil");
  10.  
  11. bukkit.registerCommand("resetcurrencies", sender => {
  12. if (!sender.hasPermission("currencies.commands.reset")) {
  13. sender.sendMessage(colorize("&cYou do not have permission to execute this command!"));
  14. return
  15. }
  16. for (var key of Object.keys(config().crates)) {
  17. var id = nkv("currency.newcrates." + datautil.getDataId() + "." + key);
  18.  
  19. data.async().executeUpdate("DELETE FROM rt_currency WHERE currency_id = ?", statement => {
  20. statement.setString(1, id);
  21. }, result => {});
  22. }
  23. sender.sendMessage(colorize("&aCleared database!"));
  24. });
  25. var menus = systems.byName("menu");
  26. var currencyutil = exports.ptr("currencyutil");
  27. var crateRollingAttribute = exports.getOrDefault(cwd + "/rollingAttribute", bukkit.newAttribute());
  28. var crateIdAttribute = exports.getOrDefault(cwd + "/idAttribute", bukkit.newAttribute());
  29. var config = () => ({
  30. settings: {},
  31. crates: {
  32. "common": {
  33. title: "&7&lCommon Key",
  34. normal: {
  35. title: "&a&lCommon",
  36. color: 5,
  37. chance: 100,
  38. rewards: [
  39. {
  40. icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
  41. commands: "givebooster {player} sell 1.25 30"
  42. },
  43. {
  44. icon: itemEss("paper 1 name:&a$100,000"),
  45. commands: "eco give {player} 100000"
  46. },
  47. {
  48. icon: itemEss("paper 1 name:&a$150,000"),
  49. commands: "eco give {player} 150000"
  50. },
  51. {
  52. icon: itemEss("sunflower 1 name:&a50_Mobcoins"),
  53. commands: "givemobcoins {player} 50"
  54. },
  55. {
  56. icon: itemEss("expbottle 1 name:&a5,000_XP"),
  57. commands: "xp give {player} 5000"
  58. },
  59. {
  60. icon: itemEss("beacon 1 name:&a8x_Beacon"),
  61. commands: "give {player} beacon 8"
  62. },
  63. {
  64. icon: itemEss("hopper 1 name:&a3x_Hopper"),
  65. commands: "give hopper {player} 3"
  66. },
  67. {
  68. icon: itemEss("creeperegg 1 name:&a4x_Creeper_Eggs"),
  69. commands: "give {player} 383:50 4"
  70. },
  71. ]
  72. },
  73. rare: {
  74. title: "&b&lRare",
  75. color: 3,
  76. chance: 70,
  77. rewards: [
  78. {
  79. icon: itemEss("nametag 1 name:&a60_minutes_1.25x_Sell_Booster"),
  80. commands: "givebooster {player} sell 1.25 60"
  81. },
  82. {
  83. icon: itemEss("paper 1 name:&a$300,000"),
  84. commands: "eco give {player} 300000"
  85. },
  86. {
  87. icon: itemEss("sunflower 1 name:&a75_Mobcoins"),
  88. commands: "givemobcoins {player} 75"
  89. },
  90. {
  91. icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
  92. commands: "give {player} spawner 1 name:&eCow_Spawner"
  93. },
  94. {
  95. icon: itemEss("beacon 1 name:&a8x_Beacon"),
  96. commands: "give {player} beacon 8"
  97. },
  98. {
  99. icon: itemEss("expbottle 1 name:&a10,000_XP"),
  100. commands: "xp give {player} 10000"
  101. },
  102. {
  103. icon: itemEss("creeperegg 1 name:&a8x_Creeper_Eggs"),
  104. commands: "give {player} 383:50 8"
  105. },
  106. {
  107. icon: itemEss("hopper 1 name:&a4x_Hopper"),
  108. commands: "give hopper {player} 4"
  109. },
  110. ]
  111. },
  112. super: {
  113. title: "&9&lSuper",
  114. color: 11,
  115. chance: 30,
  116. rewards: [
  117. {
  118. icon: itemEss("expbottle 1 name:&a25,000_XP"),
  119. commands: "xp give {player} 25000"
  120. },
  121. {
  122. icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
  123. commands: "givemobcoins {player} 150"
  124. },
  125. {
  126. icon: itemEss("paper 1 name:&a$200,000"),
  127. commands: "eco give {player} 200000"
  128. },
  129. {
  130. icon: itemEss("paper 1 name:&a$250,000"),
  131. commands: "eco give {player} 250000"
  132. },
  133. {
  134. icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
  135. commands: "give {player} spawner 1 name:&eCow_Spawner"
  136. },
  137. {
  138. icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
  139. commands: "give {player} 383:50 16"
  140. },
  141. {
  142. icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
  143. commands: "givetrenchpickaxe {player} 3"
  144. },
  145. {
  146. icon: itemEss("beacon 1 name:&a8x_Beacon"),
  147. commands: "give {player} beacon 8"
  148. },
  149. {
  150. icon: itemEss("hopper 1 name:&a8x_Hopper"),
  151. commands: "give hopper {player} 8"
  152. },
  153. ]
  154. },
  155. mega: {
  156. title: "&5&lMega",
  157. color: 10,
  158. chance: 5,
  159. manual: false,
  160. rewards: [
  161. {
  162. icon: itemEss("nametag 1 name:&a30_minutes_2x_Sell_Booster"),
  163. commands: "givebooster {player} sell 2 30"
  164. },
  165. {
  166. icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
  167. commands: "givemobcoins {player} 150"
  168. },
  169. {
  170. icon: itemEss("beacon 1 name:&a32x_Beacon"),
  171. commands: "give {player} beacon 32"
  172. },
  173. {
  174. icon: itemEss("paper 1 name:&a$350,000"),
  175. commands: "eco give {player} 350000"
  176. },
  177. {
  178. icon: itemEss("paper 1 name:&a$300,000"),
  179. commands: "eco give {player} 300000"
  180. },
  181. {
  182. icon: itemEss("creeperegg 1 name:&a3x_Creeper_Eggs"),
  183. commands: "give {player} 383:50 3"
  184. },
  185. {
  186. icon: itemEss("expbottle 1 name:&a30,000_XP"),
  187. commands: "xp give {player} 30000"
  188. },
  189. {
  190. icon: itemEss("hopper 1 name:&dCrop_Hopper"),
  191. commands: "givecrophopper {player} 1"
  192. },
  193. {
  194. icon: itemEss("hopper 1 name:&dMob_Hopper"),
  195. commands: "givemobhopper {player} 1"
  196. },
  197. {
  198. icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
  199. commands: "give {player} spawner 1 name:&eCow_Spawner"
  200. },
  201. ]
  202. },
  203. jackpot: {
  204. title: "&6&lJackpot",
  205. color: 3,
  206. chance: 1,
  207. rewards: [
  208. {
  209. icon: itemEss("netherstar 1 name:&6Soldier_Rank"),
  210. commands: "padd {player} group.donator.soldier"
  211. },
  212. {
  213. icon: itemEss("goldhoe 1 name:&dSell_Wand_[1000_Uses]"),
  214. commands: "givesellwand {player} 1000"
  215. },
  216. {
  217. icon: itemEss("paper 1 name:&a$400,000"),
  218. commands: "eco give {player} 400000"
  219. },
  220. {
  221. icon: itemEss("paper 1 name:&a$700,000"),
  222. commands: "eco give {player} 700000"
  223. },
  224. {
  225. icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
  226. commands: "give {player} spawner 3 name:&eCow_Spawner"
  227. },
  228. {
  229. icon: itemEss("nametag 1 name:&a2x_sell_booster_30m"),
  230. commands: "givebooster {player} sell 2 30"
  231. },
  232. {
  233.  
  234. icon: itemEss("nametag 1 name:&a60_minutes_2x_Sell_Booster"),
  235. commands: "givebooster {player} sell 2 60"
  236. },
  237. {
  238. icon: itemEss("expbottle 1 name:&a45,000_XP"),
  239. commands: "xp give {player} 45000"
  240. },
  241. {
  242. icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
  243. commands: "givemobcoins {player} 300"
  244. },
  245. {
  246. icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
  247. commands: "give {player} spawner 3 name:&eCow_Spawner"
  248. },
  249. {
  250. icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
  251. commands: "givemobcoins {player} 200"
  252. },
  253. {
  254. icon: itemEss("beacon 1 name:&a64x_Beacon"),
  255. commands: "give {player} beacon 64"
  256. }
  257. ]
  258. }
  259. },
  260. "uncommon": {
  261. title: "&a&lUncommon Key",
  262. normal: {
  263. title: "&a&lNormal",
  264. color: 5,
  265. chance: 100,
  266. rewards: [
  267. {
  268. icon: itemEss("paper 1 name:&a$300,000"),
  269. commands: "eco give {player} 300000"
  270. },
  271. {
  272. icon: itemEss("paper 1 name:&a$250,000"),
  273. commands: "eco give {player} 250000"
  274. },
  275. {
  276. icon: itemEss("sunflower 1 name:&a100_Mobcoins"),
  277. commands: "givemobcoins {player} 100"
  278. },
  279. {
  280. icon: itemEss("hopper 1 name:&e8x_Hopper"),
  281. commands: "give {player} hopper 8"
  282. },
  283. {
  284. icon: itemEss("expbottle 1 name:&a30,000_XP"),
  285. commands: "xp give {player} 30000"
  286. },
  287. {
  288. icon: itemEss("mobspawner 1 name:&e1x_Cow_Spawner"),
  289. commands: "give {player} spawner 1 name:&eCow_Spawner"
  290. },
  291. {
  292. icon: itemEss("nametag 1 name:&a60_minutes_1.25x_Sell_Booster"),
  293. commands: "givebooster {player} sell 1.25 60"
  294. },
  295. {
  296. icon: itemEss("creeperegg 1 name:&a3x_Creeper_Eggs"),
  297. commands: "give {player} 383:50 3"
  298. },
  299. ]
  300. },
  301. rare: {
  302. title: "&b&lRare",
  303. color: 3,
  304. chance: 70,
  305. rewards: [
  306. {
  307. icon: itemEss("nametag 1 name:&a60_minutes_1.35x_Sell_Booster"),
  308. commands: "givebooster {player} sell 1.35 60"
  309. },
  310. {
  311. icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
  312. commands: "givemobcoins {player} 150"
  313. },
  314. {
  315. icon: itemEss("mobspawner 1 name:&e2x_Cow_Spawner"),
  316. commands: "give {player} spawner 2 name:&eCow_Spawner"
  317. },
  318. {
  319. icon: itemEss("beacon 1 name:&a8x_Beacon"),
  320. commands: "give {player} beacon 8"
  321. },
  322. {
  323. icon: itemEss("paper 1 name:&a$350,000"),
  324. commands: "eco give {player} 350000"
  325. },
  326. {
  327. icon: itemEss("paper 1 name:&a$400,000"),
  328. commands: "eco give {player} 400000"
  329. },
  330. {
  331. icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
  332. commands: "givetrenchpickaxe {player} 3"
  333. },
  334. ]
  335. },
  336. super: {
  337. title: "&9&lSuper",
  338. color: 11,
  339. chance: 25,
  340. rewards: [
  341. {
  342. icon: itemEss("mobspawner 1 name:&e4x_Pig_Spawner"),
  343. commands: "give {player} spawner 4 name:&ePig_Spawner"
  344. },
  345. {
  346. icon: itemEss("sunflower 1 name:&a250_Mobcoins"),
  347. commands: "givemobcoins {player} 250"
  348. },
  349. {
  350. icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
  351. commands: "give {player} spawner 4 name:&eCow_Spawner"
  352. },
  353. {
  354. icon: itemEss("paper 1 name:&a$100,000"),
  355. commands: "eco give {player} 100000"
  356. },
  357. {
  358. icon: itemEss("diamondpickaxe 1 name:&b5x5x5_Trench_Pickaxe"),
  359. commands: "givetrenchpickaxe {player} 5"
  360. },
  361. {
  362. icon: itemEss("paper 1 name:&a$450,000"),
  363. commands: "eco give {player} 450000"
  364. },
  365. {
  366. icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
  367. commands: "givetrenchpickaxe {player} 3"
  368. },
  369. ]
  370. },
  371. mega: {
  372. title: "&5&lMega",
  373. color: 10,
  374. chance: 5,
  375. manual: true,
  376. rewards: [
  377. {
  378. icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
  379. commands: "givemobcoins {player} 300"
  380. },
  381. {
  382. icon: itemEss("expbottle 1 name:&a45,000_XP"),
  383. commands: "xp give {player} 45000"
  384. },
  385. {
  386. icon: itemEss("mobspawner 1 name:&e8x_Cow_Spawner"),
  387. commands: "give {player} spawner 8 name:&eCow_Spawner"
  388. },
  389. {
  390. icon: itemEss("creeperegg 1 name:&a8x_Creeper_Eggs"),
  391. commands: "give {player} 383:50 8"
  392. },
  393. {
  394. icon: itemEss("hopper 1 name:&dMob_Hopper"),
  395. commands: "givemobhopper {player} 2"
  396. },
  397. {
  398. icon: itemEss("hopper 1 name:&dCrop_Hopper"),
  399. commands: "givecrophopper {player} 2"
  400. },
  401. {
  402. icon: itemEss("paper 1 name:&a$500,000"),
  403. commands: "eco give {player} 500000"
  404. },
  405. {
  406. icon: itemEss("paper 1 name:&a$600,000"),
  407. commands: "eco give {player} 600000"
  408. },
  409. ]
  410. },
  411. jackpot: {
  412. title: "&6&lJackpot",
  413. color: 3,
  414. chance: 0.8,
  415. rewards: [
  416. {
  417. icon: itemEss("nametag 1 name:&a60_minutes_2x_Sell_Booster"),
  418. commands: "givebooster {player} sell 2 60"
  419. },
  420. {
  421. icon: itemEss("nametag 1 name:&a30_minutes_2x_Sell_Booster"),
  422. commands: "givebooster {player} sell 2 30"
  423. },
  424. {
  425. icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
  426. commands: "givemobcoins {player} 500"
  427. },
  428. {
  429. icon: itemEss("goldhoe 1 name:&61x_Sell_Wand"),
  430. commands: "givesellwand {player}"
  431. },
  432. {
  433. icon: itemEss("paper 1 name:&a$3,000,000"),
  434. commands: "eco give {player} 3000000"
  435. },
  436. {
  437. icon: itemEss("netherstar 1 name:&6Aristocrat_Rank"),
  438. commands: "padd {player} group.donator.aristocrat"
  439. }
  440. ]
  441. }
  442. },
  443. "rare": {
  444. title: "&b&lRare Key",
  445. normal: {
  446. title: "&a&lNormal",
  447. color: 5,
  448. chance: 100,
  449. rewards: [
  450. {
  451. icon: itemEss("paper 1 name:&a$500,000"),
  452. commands: "eco give {player} 500000"
  453. },
  454. {
  455. icon: itemEss("paper 1 name:&a$650,000"),
  456. commands: "eco give {player} 650000"
  457. },
  458. {
  459. icon: itemEss("sunflower 1 name:&a150_Mobcoins"),
  460. commands: "givemobcoins {player} 150"
  461. },
  462. {
  463. icon: itemEss("expbottle 1 name:&a30,000_XP"),
  464. commands: "xp give {player} 30000"
  465. },
  466. {
  467. icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
  468. commands: "givetrenchpickaxe {player} 3"
  469. },
  470. {
  471. icon: itemEss("diamondhoe 1 name:&aHarvester_Hoe_(100,000_Uses)"),
  472. commands: "giveharvesterhoe {player} 100000"
  473. },
  474. {
  475. icon: itemEss("mobspawner 1 name:&e4x_Cow_Spawner"),
  476. commands: "give {player} spawner 4 name:&eCow_Spawner"
  477. },
  478. ]
  479. },
  480. rare: {
  481. title: "&b&lRare",
  482. color: 3,
  483. chance: 70,
  484. rewards: [
  485. {
  486. icon: itemEss("nametag 1 name:&a60_minutes_1.35x_Sell_Booster"),
  487. commands: "givebooster {player} sell 1.35 60"
  488. },
  489. {
  490. icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
  491. commands: "givemobcoins {player} 200"
  492. },
  493. {
  494. icon: itemEss("mobspawner 1 name:&e3x_Cow_Spawner"),
  495. commands: "give {player} spawner 3 name:&eCow_Spawner"
  496. },
  497. {
  498. icon: itemEss("beacon 1 name:&a10x_Beacon"),
  499. commands: "give {player} beacon 10"
  500. },
  501. {
  502. icon: itemEss("mobspawner 1 name:&e8x_Cow_Spawner"),
  503. commands: "give {player} spawner 8 name:&eCow_Spawner"
  504. },
  505. {
  506. icon: itemEss("paper 1 name:&a$750,000"),
  507. commands: "eco give {player} 750000"
  508. },
  509. {
  510. icon: itemEss("paper 1 name:&a$1,000,000"),
  511. commands: "eco give {player} 1000000"
  512. },
  513. {
  514. icon: itemEss("diamondpickaxe 1 name:&b5x5x5_Trench_Pickaxe"),
  515. commands: "givetrenchpickaxe {player} 5"
  516. },
  517. ]
  518. },
  519. super: {
  520. title: "&9&lSuper",
  521. color: 11,
  522. chance: 30,
  523. rewards: [
  524. {
  525. icon: itemEss("mobspawner 1 name:&c1x_Creeper_Spawner"),
  526. commands: "give {player} spawner 1 name:&eCreeper_Spawner"
  527. },
  528. {
  529. icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
  530. commands: "givemobcoins {player} 300"
  531. },
  532. {
  533. icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
  534. commands: "givetrenchpickaxe {player} 7"
  535. },
  536. {
  537. icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
  538. commands: "givemobcoins {player} 300"
  539. },
  540. {
  541. icon: itemEss("paper 1 name:&a$1,000,000"),
  542. commands: "eco give {player} 1000000"
  543. },
  544. {
  545. icon: itemEss("paper 1 name:&a$1,250,000"),
  546. commands: "eco give {player} 1250000"
  547. },
  548. {
  549. icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
  550. commands: "give {player} 383:50 16"
  551. },
  552. ]
  553. },
  554. mega: {
  555. title: "&5&lMega",
  556. color: 10,
  557. chance: 5,
  558. manual: true,
  559. rewards: [
  560. {
  561. icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
  562. commands: "givemobcoins {player} 500"
  563. },
  564. {
  565. icon: itemEss("mobspawner 1 name:&c2x_Creeper_Spawner"),
  566. commands: "give {player} spawner 2 name:&eCreeper_Spawner"
  567. },
  568. {
  569. icon: itemEss("expbottle 1 name:&a75,000_XP"),
  570. commands: "xp give {player} 75000"
  571. },
  572. {
  573. icon: itemEss("hopper 1 name:&d4x_Crop_Hopper"),
  574. commands: "givecrophopper {player} 4"
  575. },
  576. {
  577. icon: itemEss("hopper 1 name:&d4x_mob_Hopper"),
  578. commands: "givemobhopper {player} 4"
  579. },
  580. {
  581. icon: itemEss("hopper 1 name:&a32x_Hopper"),
  582. commands: "give hopper {player} 32"
  583. },
  584. {
  585. icon: itemEss("creeperegg 1 name:&a2x_Throwable_Creeper_Egg"),
  586. commands: "givethrowablecegg {player} 2"
  587. },
  588. ]
  589. },
  590. jackpot: {
  591. title: "&6&lJackpot",
  592. color: 3,
  593. chance: 0.6,
  594. rewards: [
  595. {
  596. icon: itemEss("netherstar 1 name:&6Equestrian_Rank"),
  597. commands: "padd {player} group.donator.equestrian"
  598. },
  599. {
  600. icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
  601. commands: "givetrenchpickaxe {player} 10"
  602. }
  603. ]
  604. }
  605. },
  606. "legendary": {
  607. title: "&c&lLegendary Key",
  608. normal: {
  609. title: "&a&lNormal",
  610. color: 5,
  611. chance: 100,
  612. rewards: [
  613. {
  614. icon: itemEss("sunflower 1 name:&a300_Mobcoins"),
  615. commands: "givemobcoins {player} 300"
  616. },
  617. {
  618. icon: itemEss("expbottle 1 name:&a100,000_XP"),
  619. commands: "xp give {player} 100000"
  620. },
  621. {
  622. icon: itemEss("mobspawner 1 name:&e1x_Iron_Golem_Spawner"),
  623. commands: "give {player} spawner 1 name:&eIron_Golem_Spawner"
  624. },
  625. {
  626. icon: itemEss("nametag 1 name:&a30_minutes_1.50x_Sell_Booster"),
  627. commands: "givebooster {player} sell 1.50 30"
  628. },
  629. {
  630. icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
  631. commands: "givetrenchpickaxe {player} 7"
  632. },
  633. {
  634. icon: itemEss("hopper 1 name:&dCrop_Hopper"),
  635. commands: "givecrophopper {player} 4"
  636. },
  637. {
  638. icon: itemEss("hopper 1 name:&dmob_Hopper"),
  639. commands: "givemobhopper {player} 4"
  640. },
  641. ]
  642. },
  643. rare: {
  644. title: "&b&lRare",
  645. color: 3,
  646. chance: 70,
  647. rewards: [
  648. {
  649. icon: itemEss("sunflower 1 name:&a400_Mobcoins"),
  650. commands: "givemobcoins {player} 400"
  651. },
  652. {
  653. icon: itemEss("mobspawner 1 name:&e1x_Iron_Golem_Spawner"),
  654. commands: "give {player} spawner 1 name:&eIron_Golem_Spawner"
  655. },
  656. {
  657. icon: itemEss("mobspawner 1 name:&e2x_Creeper_Spawner"),
  658. commands: "give {player} spawner 2 name:&eCreeper_Spawner"
  659. },
  660. {
  661. icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
  662. commands: "givetntpaper {player} 1"
  663. },
  664. {
  665. icon: itemEss("diamondhoe 1 name:&aHarvester _Hoe_[Infinite_Uses]"),
  666. commands: "giveharvesterhoe {player} 1"
  667. },
  668. {
  669. icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
  670. commands: "givesellwand {player}"
  671. },
  672. {
  673. icon: itemEss("mobspawner 1 name:&e2x_Skeleton_Spawner"),
  674. commands: "give {player} spawner 2 name:&eSkeleton_Spawner"
  675. },
  676. {
  677. icon: itemEss("creeperegg 1 name:&a16x_Creeper_Eggs"),
  678. commands: "give {player} 383:50 16"
  679. },
  680. {
  681. icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
  682. commands: "givetrenchpickaxe {player} 7"
  683. },
  684. ]
  685. },
  686. super: {
  687. title: "&9&lSuper",
  688. color: 11,
  689. chance: 30,
  690. rewards: [
  691. {
  692. icon: itemEss("enderchest 1 name:&9Void_Chest"),
  693. commands: "givevoidchest {player} "
  694. },
  695. {
  696. icon: itemEss("hopper 1 name:&dCrop_Hopper"),
  697. commands: "givecrophopper {player} 8"
  698. },
  699. {
  700. icon: itemEss("hopper 1 name:&dmob_Hopper"),
  701. commands: "givemobhopper {player} 8"
  702. },
  703. {
  704. icon: itemEss("mobspawner 1 name:&e1x_SVillager_Spawner"),
  705. commands: "give {player} spawner 1 name:&eVillager_Spawner"
  706. },
  707. {
  708. icon: itemEss("mobspawner 1 name:&e2x_SEnderman_Spawner"),
  709. commands: "give {player} spawner 2 name:&eEnderman_Spawner"
  710. },
  711. {
  712. icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
  713. commands: "givesellwand {player}"
  714. },
  715. {
  716. icon: itemEss("creeperegg 1 name:&a4x_Throwable_Creeper_Egg"),
  717. commands: "givethrowablecegg {player} 4"
  718. },
  719. {
  720. icon: itemEss("expbottle 1 name:&a100,000_XP"),
  721. commands: "xp give {player} 100000"
  722. },
  723. {
  724. icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
  725. commands: "givetrenchpickaxe {player} 7"
  726. },
  727. ]
  728. },
  729. mega: {
  730. title: "&5&lMega",
  731. color: 10,
  732. chance: 5,
  733. manual: true,
  734. rewards: [
  735. {
  736. icon: itemEss("sunflower 1 name:&a500_Mobcoins"),
  737. commands: "givemobcoins {player} 500"
  738. },
  739. {
  740. icon: itemEss("goldhoe 1 name:&6Sell Wand_[Infinite_Uses]"),
  741. commands: "givesellwand {player}"
  742. },
  743. {
  744. icon: itemEss("diamondpickaxe 1 name:&b7x7x7_Trench_Pickaxe"),
  745. commands: "givetrenchpickaxe {player} 7"
  746. },
  747. {
  748. icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
  749. commands: "givetrenchpickaxe {player} 10"
  750. },
  751. {
  752. icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
  753. commands: "givetntpaper {player} 1"
  754. },
  755. {
  756. icon: itemEss("mobspawner 1 name:&c6x_Creeper_Spawner"),
  757. commands: "give {player} spawner 6 name:&eCreeper_Spawner"
  758. },
  759. {
  760. icon: itemEss("mobspawner 1 name:&c3x_Blaze_Spawner"),
  761. commands: "give {player} spawner 3 name:&eBlaze_Spawner"
  762. },
  763. ]
  764. },
  765. jackpot: {
  766. title: "&6&lJackpot",
  767. color: 3,
  768. chance: 0.5,
  769. rewards: [
  770. {
  771. icon: itemEss("netherstar 1 name:&6Senator_Rank"),
  772. commands: "padd {player} group.donator.senator"
  773. }
  774. ]
  775. }
  776. },
  777. "koth": {
  778. title: "&e&lKoth Key",
  779. normal: {
  780. title: "&a&lNormal",
  781. color: 5,
  782. chance: 100,
  783. rewards: [
  784. {
  785. icon: itemEss("hopper 1 name:&d4x_Crop_Hopper"),
  786. commands: "givecrophopper {player} 4"
  787. },
  788. {
  789. icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
  790. commands: "givebooster {player} sell 1.25 30"
  791. },
  792. {
  793. icon: itemEss("diamondpickaxe 1 name:&b3x3x3_Trench_Pickaxe"),
  794. commands: "givetrenchpickaxe {player} 3"
  795. },
  796. {
  797. icon: itemEss("sunflower 1 name:&a200_Mobcoins"),
  798. commands: "givemobcoins {player} 200"
  799. },
  800. {
  801. icon: itemEss("creeperegg 1 name:&a2x_Throwable_Creeper_Egg"),
  802. commands: "givethrowablecegg {player} 2"
  803. },
  804. {
  805. icon: itemEss("paper 1 name:&a$100,000"),
  806. commands: "eco give {player} 100000"
  807. },
  808. ]
  809. },
  810. rare: {
  811. title: "&b&lRare",
  812. color: 3,
  813. chance: 70,
  814. rewards: [
  815. {
  816. icon: itemEss("nametag 1 name:&a30_minutes_1.25x_Sell_Booster"),
  817. commands: "givebooster {player} sell 1.25 30"
  818. },
  819. {
  820. icon: itemEss("mobspawner 1 name:&c2x_Creeper_Spawner"),
  821. commands: "give {player} spawner 2 name:&eCreeper_Spawner"
  822. },
  823. {
  824. icon: itemEss("diamondhoe 1 name:&aHarvester_Hoe_(100,000_Uses)"),
  825. commands: "giveharvesterhoe {player} 100000"
  826. },
  827. {
  828. icon: itemEss("paper 1 name:&a$500,000"),
  829. commands: "eco give {player} 500000"
  830. },
  831. {
  832. icon: itemEss("creeperegg 1 name:&a4x_Creeper_Eggs"),
  833. commands: "give {player} 383:50 4"
  834. },
  835. ]
  836. },
  837. super: {
  838. title: "&9&lSuper",
  839. color: 11,
  840. chance: 30,
  841. rewards: [
  842. {
  843. icon: itemEss("mobspawner 1 name:&e1x_TntPaper"),
  844. commands: "givetntpaper {player} 1"
  845. },
  846. {
  847. icon: itemEss("diamondpickaxe 1 name:&b10x10x10_Trench_Pickaxe"),
  848. commands: "givetrenchpickaxe {player} 10"
  849. },
  850. {
  851. icon: itemEss("diamondsword 1 name:&bKit_Legendary"),
  852. commands: "kit{player} legendary"
  853. },
  854. {
  855. icon: itemEss("hopper 1 name:&d8x_Crop_Hopper"),
  856. commands: "givecrophopper {player} 8"
  857. },
  858. {
  859. icon: itemEss("creeperegg 1 name:&a8x_Throwable_Creeper_Egg"),
  860. commands: "givethrowablecegg {player} 8"
  861. },
  862. ]
  863. },
  864. mega: {
  865. title: "&5&lMega",
  866. color: 10,
  867. chance: 5,
  868. manual: true,
  869. rewards: [
  870. {
  871. icon: itemEss("creeperegg 1 name:&a8x_Throwable_Creeper_Egg"),
  872. commands: "givethrowablecegg {player} 8"
  873. },
  874. ]
  875. },
  876. jackpot: {
  877. title: "&6&lJackpot",
  878. color: 3,
  879. chance: 0.5,
  880. rewards: [
  881. {
  882. icon: itemEss("creeperegg 1 name:&a64x_Throwable_Creeper_Egg"),
  883. commands: "givethrowablecegg {player} 64"
  884. },
  885. {
  886. icon: itemEss("netherstar 1 name:&6Senator_Rank"),
  887. commands: "padd {player} group.donator.senator"
  888. }
  889. ]
  890. }
  891. },
  892. }
  893. });
  894.  
  895. var crateKeys = {};
  896.  
  897. var crateTypeKeys = Object.keys(config().crates);
  898.  
  899. for (var index in crateTypeKeys) {
  900. var key = crateTypeKeys[index];
  901. crateKeys[key] = Object.keys(config().crates[key]);
  902. crateKeys[key].shift()
  903. }
  904.  
  905. var crateConfig;
  906.  
  907. var cratelistMenuSchemeMask = "111101111 101010101 111111111";
  908. var cratelistItemMenuSchemeMask = "000010000 010101010 000000000";
  909. var cratelistMenuScheme = [
  910. 1, 2, 1, 5, 3, 1, 14, 1,
  911. 1, 1, 1, 1, 1,
  912. 1, 2, 1, 5, 1, 3, 1, 14, 1,
  913. ];
  914.  
  915. var mainMenuSchemeMask = "111111111 110101011 111111111";
  916. var mainMenuScheme = [
  917. 11, 11, 3, 3, 0, 3, 3, 11, 11,
  918. 11, 11, , 3, , 3, , 11, 11,
  919. 11, 11, 3, 3, 0, 3, 3, 11, 11,
  920. ];
  921. var cratesMenuSchemeMask = "111101111 110000011 111111111 110000011 111111110";
  922. var cratesMenuScheme = [
  923. 5, 4, 5, 4, /**/, 4, 5, 4, 5,
  924. 4, 5, /**/ /**/ /**/ /**/ /**/ 5, 4,
  925. 5, 4, 5, 4, 5, 4, 5, 4, 5,
  926. 4, 5, /**/ /**/ /**/ /**/ /**/ 5, 4,
  927. 5, 4, 5, 4, 5, 4, 5, 4, /**/
  928. ];
  929. var rewardMenuScheme = [
  930. 11, 11, 3, 3, 0, 3, 3, 11, 11,
  931. , 11, , 3, , 3, , 11, ,
  932. 11, 11, 3, 3, 0, 3, 3, 11, 11,
  933. ];
  934.  
  935. var goBackItem = itemName(itemStack("arrow"), colorize("&7&lBack"));
  936.  
  937. var helpItem = itemStack("book");
  938. itemName(helpItem, colorize("&b&lCrates"));
  939. itemSetLore(helpItem, [
  940. "",
  941. colorize("&fFor each &cCrate Key&f, you have the"),
  942. colorize("&fopportunity to roll &bevery &fcrate."),
  943. "",
  944. colorize("&fEach crate has a different chance to be rolled."),
  945. "",
  946. ]);
  947.  
  948. var crateLoc = {world: "main", x: -6, y: 55, z: 1};
  949.  
  950. bukkit.registerEvent(PlayerInteractEvent.class, EventPriority.LOWEST, false, event => {
  951. if (event.hasBlock()) {
  952. var player = event.getPlayer();
  953. var clicked = event.getClickedBlock().getLocation();
  954.  
  955. //System.out.println(clicked.getWorld().getName() + ", " + clicked.getBlockX() + ", " + clicked.getBlockY() + ", " + clicked.getBlockZ())
  956. if (clicked.getWorld().getName() == crateLoc.world &&
  957. clicked.getBlockX() == crateLoc.x &&
  958. clicked.getBlockY() == crateLoc.y &&
  959. clicked.getBlockZ() == crateLoc.z) {
  960. event.setCancelled(true);
  961. openCrateTypeMenu(player)
  962. }
  963. }
  964. });
  965.  
  966. function reloadConfig() {
  967. crateConfig = new HashMap({
  968. settings: {},
  969. crates: {}
  970. });
  971. var originalCrates = config().crates;
  972. for (var crate in originalCrates) {
  973. var originalCrate = originalCrates[crate];
  974. crateConfig.crates[crate] = {};
  975. var newCrate = crateConfig.crates[crate];
  976. for (var key in originalCrate) {
  977. if (key == "rewards") {
  978. continue
  979. }
  980. newCrate[key] = originalCrate[key]
  981. }
  982. newCrate.rewards = new ArrayList(originalCrate.rewards)
  983. }
  984. }
  985.  
  986. function cratesCurrency(cratesType) {
  987. return currencyutil()("newcrates." + datautil.getDataId() + "." + cratesType)
  988. }
  989.  
  990. bukkit.registerCommand("givecratekey", (player, args) => {
  991. if (!player.isOp()) {
  992. return
  993. }
  994. if (args.length < 2) {
  995. player.sendMessage(colorize("&c/givecratekey <player> <crate> <amount>"));
  996. return
  997. }
  998. var otherPlayer = bukkit.getPlayer(args[0]);
  999. if (!otherPlayer) {
  1000. player.sendMessage(colorize("&cPlayer not found."));
  1001. return
  1002. }
  1003. var crateType = args[1];
  1004. var amount = parseInt(args[2]);
  1005.  
  1006. cratesCurrency(crateType).give(otherPlayer, amount);
  1007. player.sendMessage(colorize(`&aGave ${otherPlayer.getName()} ${args[2]} ${args[1]} crate key(s)!`))
  1008. });
  1009.  
  1010. bukkit.aliasCommand("crate", "crates");
  1011. bukkit.registerCommand("crates", player => {
  1012. openCrateTypeMenu(player)
  1013. });
  1014.  
  1015. function openCrateTypeMenu(player) {
  1016. var menu = menus.newBuilder("chest");
  1017. menu.newPartition(cratelistMenuSchemeMask, menuScheme(cratelistMenuScheme))
  1018. .newPartition(cratelistItemMenuSchemeMask, partition => {
  1019. partition.newSlot(helpItem);
  1020. for (const key in config().crates) {
  1021. var crateType = config().crates[key];
  1022. var selectItem = itemStack("chest");
  1023. itemName(selectItem, colorize(`&a${crateType.title}`));
  1024. var currency = cratesCurrency(key);
  1025.  
  1026. itemSetLore(selectItem, [
  1027. colorize(""),
  1028. colorize("&7You have: &b" + currency.get(player))
  1029. ]);
  1030.  
  1031. partition.newSlot(selectItem, () => openCratesMenu(player, key))
  1032. }
  1033. });
  1034. menus.openTitledMenu(player, menu, "§b§lCrates")
  1035. }
  1036.  
  1037. function openCratesMenu(player, crateType) {
  1038. var menu = menus.newBuilder("chest");
  1039. menu.newPartition(mainMenuSchemeMask, menuScheme(mainMenuScheme)).newPartition("0 001010100", partition => {
  1040. var rollItem = itemStack("redstone torch on");
  1041.  
  1042. itemName(rollItem, colorize(`&bYou have &n${cratesCurrency(crateType).get(player)}&b crates.`));
  1043.  
  1044. itemSetLore(rollItem, [
  1045. colorize("&fClick to roll a crate."),
  1046. "",
  1047. colorize("&ePurchase more crates at &b&nbuy.gotpvp.com")
  1048. ]);
  1049.  
  1050. var rewardsItem = itemEss("goldingot 1");
  1051. itemName(rewardsItem, colorize("&6&lRewards"));
  1052. itemSetLore(rewardsItem, [
  1053. colorize("&eThe list of rewards can be viewed"),
  1054. colorize("&eby clicking this item."),
  1055. ""
  1056. ]);
  1057.  
  1058. for (var index in crateKeys[crateType]) {
  1059. var crateId = crateKeys[crateType][index];
  1060. var crate = config().crates[crateType][crateId];
  1061. itemAddLore(rewardsItem, colorize(crate.title + " Crate")) // &f- &e" + crate.chance + "%"))
  1062. }
  1063.  
  1064. partition.newSlot(rewardsItem, () => showRewards(player, crateType));
  1065. partition.newSlot(rollItem, () => tryRollCrate(player, crateType));
  1066. partition.newSlot(goBackItem, () => openCrateTypeMenu(player))
  1067. });
  1068. menus.openTitledMenu(player, menu, colorize(config().crates[crateType].title))
  1069. }
  1070.  
  1071. function showRewards(player, crateType) {
  1072. var menu = menus.newBuilder("chest");
  1073. menu.newPartition("111111111 010101010 111111111", menuScheme(rewardMenuScheme))
  1074. .newPartition("000000000 101010101 000000000", partition => {
  1075. for (var index in crateKeys[crateType]) {
  1076. var crateId = crateKeys[crateType][index];
  1077. var crate = config().crates[crateType][crateId];
  1078. const finalCrate = crate;
  1079. partition.newSlot(itemEss("netherstar 1 name:" + crate.title + "_Crate"), () => showReward(player, crateType, finalCrate));
  1080. }
  1081. }).setCloseCallback(() => {
  1082. openCrateTypeMenu(player)
  1083. });
  1084. menus.openTitledMenu(player, menu, "§b§lRewards")
  1085. }
  1086.  
  1087. function showReward(player, crateType, crate) {
  1088. var menu = menus.newBuilder("chest");
  1089. menu.newPartition("111111111*", partition => {
  1090. for (const index in crate.rewards) {
  1091. var reward = crate.rewards[index];
  1092. partition.newSlot(reward.icon)
  1093. }
  1094. }).setCloseCallback(() => {
  1095. showRewards(player, crateType)
  1096. });
  1097. menus.openTitledMenu(player, menu, colorize(crate.title + " Rewards"))
  1098. }
  1099.  
  1100. function tryRollCrate(player, crateType) {
  1101. if (!cratesCurrency(crateType).has(player, 1)) {
  1102. player.sendMessage(colorize("&cYou do not have any keys for that crate. Purchase more at &b&nbuy.GotPvP.com"));
  1103. return
  1104. }
  1105. cratesCurrency(crateType).take(player, 1, rollback => {
  1106. if (!player || !player.isOnline()) {
  1107. return rollback()
  1108. }
  1109. rollCrates(player, crateType)
  1110. })
  1111. }
  1112.  
  1113. function rollCrates(player, crateType) {
  1114. rollCrate(player, crateType, crateKeys[crateType][0])
  1115. }
  1116.  
  1117. function rollCrate(player, crateType, crateId) {
  1118. bukkit.getAttributes(player).put(crateRollingAttribute, true);
  1119. bukkit.getAttributes(player).put(crateIdAttribute, crateId);
  1120. var crate = config().crates[crateType][crateId];
  1121. var spin = 0;
  1122. var spinEnded = false;
  1123. var menu = menus.newBuilder("chest");
  1124. var rewards = crate.rewards;
  1125. var reward = rewards[Math.floor(Math.random() * rewards.length)];
  1126.  
  1127. var endRoll = () => {
  1128. if (!spinEnded) {
  1129. spinEnded = true;
  1130.  
  1131. giveCrateReward(player, reward);
  1132. bukkit.getAttributes(player).remove(crateRollingAttribute);
  1133. if (crateId >= 3) {
  1134. bukkit.getPlayers().forEach(other => {
  1135. if (!other.equals(player)) {
  1136. other.sendMessege(colorize(" &a&l➤&a " + player.getName() + " has won a " + crate.title + " &acrate. You can roll crates using /crates."))
  1137. }
  1138. })
  1139. }
  1140. }
  1141. };
  1142.  
  1143. menu.newPartition("000010000", partition => {
  1144. var chest = itemStack("chest");
  1145. itemName(chest, colorize(crate.title + " Crate"));
  1146. partition.newSlot(chest)
  1147. }).newPartition(cratesMenuSchemeMask, partition => {
  1148. var pane = itemName(itemStack("stained glass pane", 1, crate.color), " ");
  1149. for (var i = 0; i < 45; i++) {
  1150. partition.newSlot(pane)
  1151. }
  1152. }).newPartition("0 001111100", partition => {
  1153. if (spin == 0) {
  1154. if ((Math.random() * 100) > crate.chance) {
  1155. spinEnded = true;
  1156. bukkit.getAttributes(player).remove(crateRollingAttribute);
  1157. return
  1158. }
  1159. }
  1160.  
  1161. if (!spinEnded && spin > 20) {
  1162. if (crate.manual) {
  1163. openManualChoice(player, crateType, crate);
  1164. bukkit.getAttributes(player).remove(crateRollingAttribute);
  1165. return
  1166. } else {
  1167. endRoll()
  1168. }
  1169. }
  1170.  
  1171. for (var i = 0; i < 7; i++) {
  1172. if (spin < 20) {
  1173. partition.newSlot(rewards[(spin + i) % rewards.length].icon);
  1174. continue
  1175. }
  1176.  
  1177. partition.newSlot(reward.icon)
  1178. }
  1179.  
  1180. spin++
  1181. }).newPartition("0 001111100 0 001111100", partition => {
  1182. if (spinEnded && spin == 0) {
  1183. var fail = itemName(itemStack("barrier"), colorize("&cYou did not win the opportunity to roll this crate."));
  1184. for (var i = 0; i < 10; i++) {
  1185. partition.newSlot(fail)
  1186. }
  1187. return
  1188. }
  1189. if (!spinEnded) {
  1190. var pane = itemName(itemStack("stained glass pane", 1, spin % 14), colorize("&fRolling..."));
  1191. for (var i = 0; i < 5; i++) {
  1192. partition.newSlot(pane)
  1193. }
  1194. return
  1195. }
  1196. var barrier = itemName(itemStack("barrier"), " ");
  1197. for (var i = 0; i < 7; i++) {
  1198. if (i == 2) {
  1199. partition.newSlot(reward.icon);
  1200. continue
  1201. }
  1202. partition.newSlot(barrier)
  1203. }
  1204. }).newPartition("0 0 0 0 000000001", partition => {
  1205. if (!spinEnded) {
  1206. partition.newSlot(itemName(itemStack("barrier"), " "));
  1207. return
  1208. }
  1209.  
  1210. partition.newSlot(itemName(itemStack("wool", 1, 5), hasNextCrate(player, crateType) ? colorize("&eNext crate") : colorize("&eClick to finish")), nextCrate(player, crateType))
  1211. }).setCloseCallback(() => {
  1212. endRoll();
  1213. nextCrate(player, crateType)()
  1214. });
  1215. menus.openTitledMenu(player, menu, "Crate")
  1216. }
  1217.  
  1218. function giveCrateReward(player, reward) {
  1219. var commands = reward.commands;
  1220. if (typeof commands === "string") {
  1221. commands = [commands]
  1222. }
  1223.  
  1224. bukkit.runSync(() => {
  1225. for (var command of commands) {
  1226. bukkit.dispatchCommand(command.replace("{player}", player.getName()))
  1227. }
  1228. });
  1229.  
  1230. player.sendMessage(colorize("&aYou opened a crate and won &f&n" + itemGetName(reward.icon)))
  1231. }
  1232.  
  1233.  
  1234. function openManualChoice(player, crateType, crate) {
  1235. var menu = menus.newBuilder("chest");
  1236. menu.newPartition("111111111*", partition => {
  1237. for (var reward of crate.rewards) {
  1238. partition.newSlot(reward.icon, handleRewardChoice(player, crateType, reward))
  1239. }
  1240. }).setCloseCallback(() => {
  1241. giveCrateReward(player, crate.rewards[(Math.random() * 100) % crate.rewards.length]);
  1242. nextCrate(player, crateType)()
  1243. });
  1244. menus.openTitledMenu(player, menu, "Pick a reward")
  1245. }
  1246.  
  1247. function handleRewardChoice(player, crateType, reward) {
  1248. return () => {
  1249. giveCrateReward(player, reward);
  1250. nextCrate(player, crateType)()
  1251. }
  1252. }
  1253.  
  1254. function getCrateIndex(player, crateType) {
  1255. return crateKeys[crateType].indexOf(bukkit.getAttributes(player).get(crateIdAttribute))
  1256. }
  1257.  
  1258. function hasNextCrate(player, crateType) {
  1259. var crateIndex = getCrateIndex(player, crateType);
  1260. return !(crateIndex == crateKeys[crateType].length - 1 || crateIndex == -1)
  1261. }
  1262.  
  1263. function nextCrate(player, crateType) {
  1264. return () => {
  1265. if (!hasNextCrate(player, crateType)) {
  1266. openCratesMenu(player, crateType);
  1267. return
  1268. }
  1269.  
  1270.  
  1271. rollCrate(player, crateType, crateKeys[crateType][getCrateIndex(player, crateType) + 1])
  1272. }
  1273. }
  1274.  
  1275. bukkit.registerCommand("int/crates", player => {
  1276. if (!player.isOp()) {
  1277. return
  1278. }
  1279. reloadConfig()
  1280. });
  1281.  
  1282. bukkit.runSync(() => bukkit.dispatchCommand("int/crates"));
  1283.  
  1284. bukkit.runSyncTimer(() => {
  1285. bukkit.getPlayersWithAttribute(crateRollingAttribute).keySet().forEach(player => {
  1286. menus.refreshMenus(player)
  1287. });
  1288. }, 5, 5);
  1289.  
  1290.  
  1291. bukkit.registerCommand("int/crates/config/original", player => {
  1292. if (!player.isOp()) {
  1293. return
  1294. }
  1295.  
  1296. player.sendMessage(JSON.stringify(config()))
  1297. });
  1298.  
  1299. bukkit.registerCommand("int/crates/config/parsed", player => {
  1300. if (!player.isOp()) {
  1301. return
  1302. }
  1303.  
  1304. player.sendMessage(JSON.stringify(crateConfig.crates));
  1305. player.sendMessage("rewards" in crateConfig.crates.voting);
  1306. player.sendMessage(crateConfig.crates.voting.rewards.size());
  1307. player.sendMessage("index: " + crateKeys.indexOf("voting"))
  1308. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement