Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 49.88 KB | None | 0 0
  1.  
  2. Save New Duplicate & Edit Just Text Twitter
  3. 1
  4. 2
  5. 3
  6. 4
  7. 5
  8. 6
  9. 7
  10. 8
  11. 9
  12. 10
  13. 11
  14. 12
  15. 13
  16. 14
  17. 15
  18. 16
  19. 17
  20. 18
  21. 19
  22. 20
  23. 21
  24. 22
  25. 23
  26. 24
  27. 25
  28. 26
  29. 27
  30. 28
  31. 29
  32. 30
  33. 31
  34. 32
  35. 33
  36. 34
  37. 35
  38. 36
  39. 37
  40. 38
  41. 39
  42. 40
  43. 41
  44. 42
  45. 43
  46. 44
  47. 45
  48. 46
  49. 47
  50. 48
  51. 49
  52. 50
  53. 51
  54. 52
  55. 53
  56. 54
  57. 55
  58. 56
  59. 57
  60. 58
  61. 59
  62. 60
  63. 61
  64. 62
  65. 63
  66. 64
  67. 65
  68. 66
  69. 67
  70. 68
  71. 69
  72. 70
  73. 71
  74. 72
  75. 73
  76. 74
  77. 75
  78. 76
  79. 77
  80. 78
  81. 79
  82. 80
  83. 81
  84. 82
  85. 83
  86. 84
  87. 85
  88. 86
  89. 87
  90. 88
  91. 89
  92. 90
  93. 91
  94. 92
  95. 93
  96. 94
  97. 95
  98. 96
  99. 97
  100. 98
  101. 99
  102. 100
  103. 101
  104. 102
  105. 103
  106. 104
  107. 105
  108. 106
  109. 107
  110. 108
  111. 109
  112. 110
  113. 111
  114. 112
  115. 113
  116. 114
  117. 115
  118. 116
  119. 117
  120. 118
  121. 119
  122. 120
  123. 121
  124. 122
  125. 123
  126. 124
  127. 125
  128. 126
  129. 127
  130. 128
  131. 129
  132. 130
  133. 131
  134. 132
  135. 133
  136. 134
  137. 135
  138. 136
  139. 137
  140. 138
  141. 139
  142. 140
  143. 141
  144. 142
  145. 143
  146. 144
  147. 145
  148. 146
  149. 147
  150. 148
  151. 149
  152. 150
  153. 151
  154. 152
  155. 153
  156. 154
  157. 155
  158. 156
  159. 157
  160. 158
  161. 159
  162. 160
  163. 161
  164. 162
  165. 163
  166. 164
  167. 165
  168. 166
  169. 167
  170. 168
  171. 169
  172. 170
  173. 171
  174. 172
  175. 173
  176. 174
  177. 175
  178. 176
  179. 177
  180. 178
  181. 179
  182. 180
  183. 181
  184. 182
  185. 183
  186. 184
  187. 185
  188. 186
  189. 187
  190. 188
  191. 189
  192. 190
  193. 191
  194. 192
  195. 193
  196. 194
  197. 195
  198. 196
  199. 197
  200. 198
  201. 199
  202. 200
  203. 201
  204. 202
  205. 203
  206. 204
  207. 205
  208. 206
  209. 207
  210. 208
  211. 209
  212. 210
  213. 211
  214. 212
  215. 213
  216. 214
  217. 215
  218. 216
  219. 217
  220. 218
  221. 219
  222. 220
  223. 221
  224. 222
  225. 223
  226. 224
  227. 225
  228. 226
  229. 227
  230. 228
  231. 229
  232. 230
  233. 231
  234. 232
  235. 233
  236. 234
  237. 235
  238. 236
  239. 237
  240. 238
  241. 239
  242. 240
  243. 241
  244. 242
  245. 243
  246. 244
  247. 245
  248. 246
  249. 247
  250. 248
  251. 249
  252. 250
  253. 251
  254. 252
  255. 253
  256. 254
  257. 255
  258. 256
  259. 257
  260. 258
  261. 259
  262. 260
  263. 261
  264. 262
  265. 263
  266. 264
  267. 265
  268. 266
  269. 267
  270. 268
  271. 269
  272. 270
  273. 271
  274. 272
  275. 273
  276. 274
  277. 275
  278. 276
  279. 277
  280. 278
  281. 279
  282. 280
  283. 281
  284. 282
  285. 283
  286. 284
  287. 285
  288. 286
  289. 287
  290. 288
  291. 289
  292. 290
  293. 291
  294. 292
  295. 293
  296. 294
  297. 295
  298. 296
  299. 297
  300. 298
  301. 299
  302. 300
  303. 301
  304. 302
  305. 303
  306. 304
  307. 305
  308. 306
  309. 307
  310. 308
  311. 309
  312. 310
  313. 311
  314. 312
  315. 313
  316. 314
  317. 315
  318. 316
  319. 317
  320. 318
  321. 319
  322. 320
  323. 321
  324. 322
  325. 323
  326. 324
  327. 325
  328. 326
  329. 327
  330. 328
  331. 329
  332. 330
  333. 331
  334. 332
  335. 333
  336. 334
  337. 335
  338. 336
  339. 337
  340. 338
  341. 339
  342. 340
  343. 341
  344. 342
  345. 343
  346. 344
  347. 345
  348. 346
  349. 347
  350. 348
  351. 349
  352. 350
  353. 351
  354. 352
  355. 353
  356. 354
  357. 355
  358. 356
  359. 357
  360. 358
  361. 359
  362. 360
  363. 361
  364. 362
  365. 363
  366. 364
  367. 365
  368. 366
  369. 367
  370. 368
  371. 369
  372. 370
  373. 371
  374. 372
  375. 373
  376. 374
  377. 375
  378. 376
  379. 377
  380. 378
  381. 379
  382. 380
  383. 381
  384. 382
  385. 383
  386. 384
  387. 385
  388. 386
  389. 387
  390. 388
  391. 389
  392. 390
  393. 391
  394. 392
  395. 393
  396. 394
  397. 395
  398. 396
  399. 397
  400. 398
  401. 399
  402. 400
  403. 401
  404. 402
  405. 403
  406. 404
  407. 405
  408. 406
  409. 407
  410. 408
  411. 409
  412. 410
  413. 411
  414. 412
  415. 413
  416. 414
  417. 415
  418. 416
  419. 417
  420. 418
  421. 419
  422. 420
  423. 421
  424. 422
  425. 423
  426. 424
  427. 425
  428. 426
  429. 427
  430. 428
  431. 429
  432. 430
  433. 431
  434. 432
  435. 433
  436. 434
  437. 435
  438. 436
  439. 437
  440. 438
  441. 439
  442. 440
  443. 441
  444. 442
  445. 443
  446. 444
  447. 445
  448. 446
  449. 447
  450. 448
  451. 449
  452. 450
  453. 451
  454. 452
  455. 453
  456. 454
  457. 455
  458. 456
  459. 457
  460. 458
  461. 459
  462. 460
  463. 461
  464. 462
  465. 463
  466. 464
  467. 465
  468. 466
  469. 467
  470. 468
  471. 469
  472. 470
  473. 471
  474. 472
  475. 473
  476. 474
  477. 475
  478. 476
  479. 477
  480. 478
  481. 479
  482. 480
  483. 481
  484. 482
  485. 483
  486. 484
  487. 485
  488. 486
  489. 487
  490. 488
  491. 489
  492. 490
  493. 491
  494. 492
  495. 493
  496. 494
  497. 495
  498. 496
  499. 497
  500. 498
  501. 499
  502. 500
  503. 501
  504. 502
  505. 503
  506. 504
  507. 505
  508. 506
  509. 507
  510. 508
  511. 509
  512. 510
  513. 511
  514. 512
  515. 513
  516. 514
  517. 515
  518. 516
  519. 517
  520. 518
  521. 519
  522. 520
  523. 521
  524. 522
  525. 523
  526. 524
  527. 525
  528. 526
  529. 527
  530. 528
  531. 529
  532. 530
  533. 531
  534. 532
  535. 533
  536. 534
  537. 535
  538. 536
  539. 537
  540. 538
  541. 539
  542. 540
  543. 541
  544. 542
  545. 543
  546. 544
  547. 545
  548. 546
  549. 547
  550. 548
  551. 549
  552. 550
  553. 551
  554. 552
  555. 553
  556. 554
  557. 555
  558. 556
  559. 557
  560. 558
  561. 559
  562. 560
  563. 561
  564. 562
  565. 563
  566. 564
  567. 565
  568. 566
  569. 567
  570. 568
  571. 569
  572. 570
  573. 571
  574. 572
  575. 573
  576. 574
  577. 575
  578. 576
  579. 577
  580. 578
  581. 579
  582. 580
  583. 581
  584. 582
  585. 583
  586. 584
  587. 585
  588. 586
  589. 587
  590. 588
  591. 589
  592. 590
  593. 591
  594. 592
  595. 593
  596. 594
  597. 595
  598. 596
  599. 597
  600. 598
  601. 599
  602. 600
  603. 601
  604. 602
  605. 603
  606. 604
  607. 605
  608. 606
  609. 607
  610. 608
  611. 609
  612. 610
  613. 611
  614. 612
  615. 613
  616. 614
  617. 615
  618. 616
  619. 617
  620. 618
  621. 619
  622. 620
  623. 621
  624. 622
  625. 623
  626. 624
  627. 625
  628. 626
  629. 627
  630. 628
  631. 629
  632. 630
  633. 631
  634. 632
  635. 633
  636. 634
  637. 635
  638. 636
  639. 637
  640. 638
  641. 639
  642. 640
  643. 641
  644. 642
  645. 643
  646. 644
  647. 645
  648. 646
  649. 647
  650. 648
  651. 649
  652. 650
  653. 651
  654. 652
  655. 653
  656. 654
  657. 655
  658. 656
  659. 657
  660. 658
  661. 659
  662. 660
  663. 661
  664. 662
  665. 663
  666. 664
  667. 665
  668. 666
  669. 667
  670. 668
  671. 669
  672. 670
  673. 671
  674. 672
  675. 673
  676. 674
  677. 675
  678. 676
  679. 677
  680. 678
  681. 679
  682. 680
  683. 681
  684. 682
  685. 683
  686. 684
  687. 685
  688. 686
  689. 687
  690. 688
  691. 689
  692. 690
  693. 691
  694. 692
  695. 693
  696. 694
  697. 695
  698. 696
  699. 697
  700. 698
  701. 699
  702. 700
  703. 701
  704. 702
  705. 703
  706. 704
  707. 705
  708. 706
  709. 707
  710. 708
  711. 709
  712. 710
  713. 711
  714. 712
  715. 713
  716. 714
  717. 715
  718. 716
  719. 717
  720. 718
  721. 719
  722. 720
  723. 721
  724. 722
  725. 723
  726. 724
  727. 725
  728. 726
  729. 727
  730. 728
  731. 729
  732. 730
  733. 731
  734. 732
  735. 733
  736. 734
  737. 735
  738. 736
  739. 737
  740. 738
  741. 739
  742. 740
  743. 741
  744. 742
  745. 743
  746. 744
  747. 745
  748. 746
  749. 747
  750. 748
  751. 749
  752. 750
  753. 751
  754. 752
  755. 753
  756. 754
  757. 755
  758. 756
  759. 757
  760. 758
  761. 759
  762. 760
  763. 761
  764. 762
  765. 763
  766. 764
  767. 765
  768. 766
  769. 767
  770. 768
  771. 769
  772. 770
  773. 771
  774. 772
  775. 773
  776. 774
  777. 775
  778. 776
  779. 777
  780. 778
  781. 779
  782. 780
  783. 781
  784. 782
  785. 783
  786. 784
  787. 785
  788. 786
  789. 787
  790. 788
  791. 789
  792. 790
  793. 791
  794. 792
  795. 793
  796. 794
  797. 795
  798. 796
  799. 797
  800. 798
  801. 799
  802. 800
  803. 801
  804. 802
  805. 803
  806. 804
  807. 805
  808. 806
  809. 807
  810. 808
  811. 809
  812. 810
  813. 811
  814. 812
  815. 813
  816. 814
  817. 815
  818. 816
  819. 817
  820. 818
  821. 819
  822. 820
  823. 821
  824. 822
  825. 823
  826. 824
  827. 825
  828. 826
  829. 827
  830. 828
  831. 829
  832. 830
  833. 831
  834. 832
  835. 833
  836. 834
  837. 835
  838. 836
  839. 837
  840. 838
  841. 839
  842. 840
  843. 841
  844. 842
  845. 843
  846. 844
  847. 845
  848. 846
  849. 847
  850. 848
  851. 849
  852. 850
  853. 851
  854. 852
  855. 853
  856. 854
  857. 855
  858. 856
  859. 857
  860. 858
  861. 859
  862. 860
  863. 861
  864. 862
  865. 863
  866. 864
  867. 865
  868. 866
  869. 867
  870. 868
  871. 869
  872. 870
  873. 871
  874. 872
  875. 873
  876. 874
  877. 875
  878. 876
  879. 877
  880. 878
  881. 879
  882. 880
  883. 881
  884. 882
  885. 883
  886. 884
  887. 885
  888. 886
  889. 887
  890. 888
  891. 889
  892. 890
  893. 891
  894. 892
  895. 893
  896. 894
  897. 895
  898. 896
  899. 897
  900. 898
  901. 899
  902. 900
  903. 901
  904. 902
  905. 903
  906. 904
  907. 905
  908. 906
  909. 907
  910. 908
  911. 909
  912. 910
  913. 911
  914. 912
  915. 913
  916. 914
  917. 915
  918. 916
  919. 917
  920. 918
  921. 919
  922. 920
  923. 921
  924. 922
  925. 923
  926. 924
  927. 925
  928. 926
  929. 927
  930. 928
  931. 929
  932. 930
  933. 931
  934. 932
  935. 933
  936. 934
  937. 935
  938. 936
  939. 937
  940. 938
  941. 939
  942. 940
  943. 941
  944. 942
  945. 943
  946. 944
  947. 945
  948. 946
  949. 947
  950. 948
  951. 949
  952. 950
  953. 951
  954. 952
  955. 953
  956. 954
  957. 955
  958. 956
  959. 957
  960. 958
  961. 959
  962. 960
  963. 961
  964. 962
  965. 963
  966. 964
  967. 965
  968. 966
  969. 967
  970. 968
  971. 969
  972. 970
  973. 971
  974. 972
  975. 973
  976. 974
  977. 975
  978. 976
  979.  
  980. import:
  981. java.lang.Math
  982. java.util.Arrays
  983. java.util.ArrayList
  984. org.bukkit.Location
  985. org.bukkit.Bukkit
  986. org.bukkit.util.EulerAngle
  987. org.bukkit.util.Vector
  988. com.fren_gor.packetUtils.events.PacketRetriveEvent
  989.  
  990.  
  991. option nms:
  992. get:
  993. set {_nms} to Bukkit.getServer().getClass().getPackage().getName().split("\.")[3]
  994. return {_nms}
  995.  
  996. import:
  997. net.minecraft.server.{@nms}.MojangsonParser
  998. net.minecraft.server.{@nms}.NBTTagCompound
  999. net.minecraft.server.{@nms}.Entity
  1000. net.minecraft.server.{@nms}.TileEntity
  1001. net.minecraft.server.{@nms}.Items
  1002. org.bukkit.craftbukkit.{@nms}.inventory.CraftItemStack
  1003.  
  1004. options:
  1005.  
  1006. #do not touch this -_-
  1007. plugin-version: 0.0.8
  1008.  
  1009. allow-jump-after: 20 # blocks
  1010.  
  1011.  
  1012. function check_yaml(dir: text, value: text, set: text, type: text = "TEXT"):
  1013. yaml value {_value} from "leaf.bg.%{_dir}%" is not set:
  1014. if {_type} is "text":
  1015. set yaml value {_value} from "leaf.bg.%{_dir}%" to {_set}
  1016. if {_type} is "number":
  1017. set yaml value {_value} from "leaf.bg.%{_dir}%" to {_set} parsed as number
  1018. if {_type} is "boolean":
  1019. set yaml value {_value} from "leaf.bg.%{_dir}%" to {_set} parsed as boolean
  1020. if {_type} is "list":
  1021. yaml list {_value} from "leaf.bg.%{_dir}%" is not set
  1022. loop {_set} split at "||":
  1023. add loop-value to yaml list {_value} from "leaf.bg.%{_dir}%"
  1024.  
  1025. local expression nbt of %entity%:
  1026. add:
  1027. set {_nbt} to new NBTTagCompound()
  1028. set {_e} to expression-1.getHandle()
  1029. {_e}.c({_nbt})
  1030. set {_nbt2} to MojangsonParser.parse(change value)
  1031. {_nbt}.a({_nbt2})
  1032. {_e}.f({_nbt})
  1033.  
  1034. expression %item% with lore %text%:
  1035. return type: item
  1036. get:
  1037. set {_i} to expr-1.clone()
  1038. set {_meta} to {_i}.getItemMeta()
  1039. {_meta}.setLore(Arrays.asList(split expr-2 at "||"))
  1040. {_i}.setItemMeta({_meta})
  1041. return {_i}
  1042.  
  1043. #From https://forums.skunity.com/resources/mirrorutils.706/ by EWS
  1044. local expression replacer %texts% with %texts% in %text%:
  1045. return type: text
  1046. get:
  1047. set {_result} to expr-3
  1048. loop exprs-1:
  1049. add 1 to {_n}
  1050. replace all "%loop-value-1%" with ({_n}th element of exprs-2 ? "") in {_result}
  1051. return {_result}
  1052.  
  1053. on load:
  1054. loop currently loaded yaml files:
  1055. loop-value contains "leaf.bg.config"
  1056. unload yaml loop-value-1
  1057. load yaml "plugins/Battlegrounds/config.yml" as "leaf.bg.config"
  1058. check_yaml("config", "settings.chat-format", "&3{player} &8» &7{message}")
  1059. check_yaml("config", "settings.chest.enabled", "true", "boolean")
  1060. check_yaml("config", "settings.chest.min", "3", "number")
  1061. check_yaml("config", "settings.chest.max", "6", "number")
  1062. check_yaml("config", "settings.chest.normal-loot", "stone sword||stick||bandage", "list")
  1063. check_yaml("config", "settings.death-chest.enabled", "true", "boolean")
  1064. check_yaml("config", "settings.death-chest.extra-items", "golden apple", "list")
  1065. check_yaml("config", "settings.items.leave.item", "magma cream")
  1066. check_yaml("config", "settings.items.leave.name", "&cLeave the game")
  1067. check_yaml("config", "settings.items.leave.slot", "8", "number")
  1068. check_yaml("config", "settings.items.bandage.name", "&eBandage")
  1069. check_yaml("config", "settings.timers.in-lobby", "30", "number")
  1070. check_yaml("config", "settings.mix.dragon-name", "&eEnder Dragon")
  1071. check_yaml("config", "settings.scoreboard.name", "&eBATTLE ROYALE")
  1072. check_yaml("config", "settings.scoreboard.website", "&eplay.my-cool-server.net")
  1073. check_yaml("config", "messages.join", "&a{player} &ehas joined to the game.")
  1074. check_yaml("config", "messages.leave", "&a{player} &eleft the game.")
  1075. check_yaml("config", "messages.kill.msg", "&9➜ &a{victim} &7was killed by &a{attacker} &7using &a{tool}")
  1076. check_yaml("config", "messages.kill.action-bar", "&7You killed &c{victim} &7with &e{tool} &7- {players-left} &7left &c{kills} &cKILLS")
  1077. check_yaml("config", "messages.death", "&9➜ &a{victim} &7died")
  1078. check_yaml("config", "messages.starting", "&eThe battle starts in &a{seconds} &eseconds")
  1079. check_yaml("config", "messages.stats", "&e&l✦&7&l&m--------------------------------------&e&l✦||||&8&l» &6&lBATTLEGROUNDS STATS &8&l«||||&6&l» &7&lWINS &c{wins}||&6&l» &7&lKILLS &c{kills}||&6&l» &7&lDEATHS &c{deaths}||||&e&l✦&7&l&m--------------------------------------&e&l✦", "list")
  1080. check_yaml("config", "messages.summary", "||||||&e✦ &7Battle Royale &e✦||||&aWinner &7- &e{player}||&aKills &7- &e{kills}||||||", "list")
  1081. save yaml "leaf.bg.config"
  1082.  
  1083. #Easy setup pls.
  1084. function bg_send_arena_status(p: player):
  1085. if {bg::player::setup} is set:
  1086. set {_arena} to {bg::player::setup}
  1087. send "&e&l✦&7&l&m-------------&r &a%{_arena}% &7&l&m------------------&e&l✦" to {_p}
  1088. if {bg::arena::%{_arena}%::lobby} is not set:
  1089. send "&c&l✘ &fLobby is not set, use /bg setarenalobby &e%{_arena}%" to {_p}
  1090. if {bg::arena::%{_arena}%::lobby} is set:
  1091. send "&a&l✔ &fLobby set." to {_p}
  1092. if {bg::arena::%{_arena}%::center} is not set:
  1093. send "&c&l✘ &fArena center is not set, use /bg setcenter &e%{_arena}%" to {_p}
  1094. if {bg::arena::%{_arena}%::center} is set:
  1095. send "&a&l✔ &fArena center set." to {_p}
  1096. if {bg::arena::%{_arena}%::border::first} is not set:
  1097. send "&c&l✘ &fArena First border size is not set, use /bg setbodersize &e%{_arena}% &c{size}" to {_p}
  1098. if {bg::arena::%{_arena}%::border::first} is set:
  1099. send "&a&l✔ &fArena First border size is set." to {_p}
  1100. if size of {bg::arena::%{_arena}%::borders::*} = 0:
  1101. send "&c&l✘ &fArena has no border locations add some using /bg add-border &e%{_arena}%" to {_p}
  1102. else:
  1103. send "&a&l✔ &fArena has border location(s). &a(%size of {bg::arena::%{_arena}%::borders::*}%)" to {_p}
  1104. if {bg::arena::%{_arena}%::start::1} and {bg::arena::%{_arena}%::end::1} is not set:
  1105. send "&c&l✘ &fArena has no plane route use /bg set-route-start &e%{_arena}%" to {_p}
  1106. send "&f/bg set-route-end &e%{_arena}% &fand /bg save-route &e%{_arena}%" to {_p}
  1107. if {bg::arena::%{_arena}%::start::1} and {bg::arena::%{_arena}%::end::1} is set:
  1108. send "&a&l✔ &fArena route(s) set. &a(%size of {bg::arena::%{_arena}%::start::*}%&a)" to {_p}
  1109. send "&e&l✦&7&l&m------------------------------------&e&l✦" to {_p}
  1110.  
  1111.  
  1112. function bg_set_banner(p: player, side: text):
  1113. set {_uuid} to uuid of {_p}
  1114. open chest inventory with 2 rows named "&7Select banner &e%{_side}% &7side" to {_p}
  1115. set {_slot} to 0
  1116. loop "Black", "Red", "Dark Green", "Brown", "Blue", "Purple", "Cyan", "Gray", "Pink", "Light Green", "Yellow", "Light Blue", "Magenta", "Orange" and "White":
  1117. set {_banner} to "%loop-value% banner item" parsed as material
  1118. make a gui slot {_slot} of {_p} with {_banner} named "&8&l» <%loop-value%>%loop-value% Banner" to run:
  1119. set {bg::stats.BANNER::%{_side}%::%{_uuid}%} to {_banner}
  1120. send "&aBanner set for &e%{_side}% &aside"
  1121. close {_p}'s inventory
  1122. make a gui slot 17 of {_p} with barrier named "&8&l» &eRandom" to run:
  1123. delete {bg::stats.BANNER::%{_side}%::%{_uuid}%}
  1124. send "&aBanner set for &e%{_side}% &aside"
  1125. close {_p}'s inventory
  1126. add 1 to {_slot}
  1127.  
  1128. command battlegrouns [<text = help>] [<text>] [<text>] [<number>]:
  1129. aliases: bg
  1130. executable by: players
  1131. trigger:
  1132. if arg 1 is "help":
  1133. if player has permission "bg.player":
  1134. send "&7&l------------&8[ &6&lBATTLEGROUNDS &8]&7&l------------"
  1135. send "&7/bg list"
  1136. send "&7/bg join &8(&7arena_name&8)"
  1137. send "&7/bg parachute"
  1138. send "&7/bg autojoin"
  1139. send "&7/bg leave"
  1140. if player has permission "bg.admin":
  1141. send "&7/bg setlobby"
  1142. send "&7/bg start"
  1143. send "&7/bg resetstats &8(&7player_name&8)"
  1144. send "&7/bg createarena &8(&7arena_name&8)"
  1145. send "&7/bg setarenalobby &8(&7arena_name&8)"
  1146. send "&7/bg setcenter &8(&7arena_name&8)"
  1147. send "&7/bg add-border &8(&7arena_name&8)"
  1148. send "&7/bg remove-border &8(&7arena_name&8)"
  1149. send "&7/bg setbordersize &8(&7arena_name&8)"
  1150. send "&7/bg set-route-start &8(&7arena_name&8)"
  1151. send "&7/bg set-route-end &8(&7arena_name&8)"
  1152. send "&7/bg save-route &8(&7arena_name&8)"
  1153. send "&7/bg remove-route &8(&7arena_name&8)"
  1154. send "&7/bg savearena &8(&7arena_name&8)"
  1155. send "&7/bg deletearena &8(&7arena_name&8)"
  1156. send "&7/bg chest add &8(&7hold the item)"
  1157. send "&7/bg chest remove &8(&7hold the item)"
  1158. send "&7/bg chest rename &8(&7hold the item)"
  1159. send "&7&l------------------------------------------"
  1160. stop
  1161. if arg 1 is "join":
  1162. bg_join(player, arg-2)
  1163. if arg 1 is "list":
  1164. if {bg::player::%uuid of player%::state} is not set:
  1165. open chest inventory with 6 rows named "&8&l» &7Battle Royale Arenas" to player
  1166. wait a tick
  1167. set {_slot} to 10
  1168. loop {bg::arenas::*}:
  1169. if {bg::arena::%loop-value%::cache::status} is "WAITING":
  1170. set {_status} to "&aWaiting"
  1171. if {bg::arena::%loop-value%::cache::status} is "STARTING":
  1172. set {_status} to "&6Starting"
  1173. if {bg::arena::%loop-value%::cache::status} is "FLYING":
  1174. set {_status} to "&9Flying"
  1175. if {bg::arena::%loop-value%::cache::status} is "INGAME":
  1176. set {_status} to "&9Flying"
  1177. if {bg::arena::%loop-value%::cache::status} is "RESTARTING":
  1178. set {_status} to "&cRestarting"
  1179. make a gui slot {_slot} of player with green clay named "&8» &7Arena: &e%loop-value%" with lore "||&8▪ &7Status: &e%{_status}%||&8▪ &7Playing: &e%size of {bg::arena::%loop-value%::cache::ninjas::*}%" to run function bg_join(player, loop-value-1)
  1180. add 1 to {_slot}
  1181. if {_slot} is 17 or 26 or 35:
  1182. add 2 to {_slot}
  1183. if arg 1 is "chest":
  1184. if player has permission "bg.admin":
  1185. if arg-2 is "add":
  1186. if player's tool is not air:
  1187. add player's tool to yaml list "settings.chest.custom-loot" from "leaf.bg.config"
  1188. send "&aItem added."
  1189. save yaml "leaf.bg.config"
  1190. if arg-2 is "remove":
  1191. if player's tool is not air:
  1192. remove player's tool from yaml list "settings.chest.custom-loot" from "leaf.bg.config"
  1193. send "&aItem removed."
  1194. save yaml "leaf.bg.config"
  1195. if arg-2 is "rename":
  1196. if player's tool is not air:
  1197. set name of player's tool to colored arg-3
  1198. if arg 1 is "parachute":
  1199. open virtual hopper inventory with 1 rows named "&8&l» &7Select Side" to player
  1200. wait a tick
  1201. if {bg::stats.BANNER::left::%uuid of player%} is set:
  1202. make a gui slot 0 of player with {bg::stats.BANNER::left::%uuid of player%} named "&8&l» &7Left Side" to run function bg_set_banner(player, "left")
  1203. if {bg::stats.BANNER::left::%uuid of player%} is not set:
  1204. make a gui slot 0 of player with white banner item named "&8&l» &7Left Side" to run function bg_set_banner(player, "left")
  1205. make a gui slot 2 of player with fence gate named "&7¯\_(ツ)_/¯" to do nothing
  1206. if {bg::stats.BANNER::right::%uuid of player%} is set:
  1207. make a gui slot 4 of player with {bg::stats.BANNER::right::%uuid of player%} named "&8&l» &7Left Side" to run function bg_set_banner(player, "right")
  1208. if {bg::stats.BANNER::right::%uuid of player%} is not set:
  1209. make a gui slot 4 of player with white banner item named "&8&l» &7Right Side" to run function bg_set_banner(player, "right")
  1210. if arg 1 is "leave":
  1211. bg_leave(player)
  1212. if arg 1 is "autojoin":
  1213. if {bg::player::%uuid of player%::state} is not set:
  1214. loop {bg::arenas::*}:
  1215. if {bg::arena::%loop-value%::cache::status} is "WAITING" or "STARTING":
  1216. bg_join(player, loop-value)
  1217. stop
  1218. if arg-1 is "stats":
  1219. loop yaml list "messages.stats" from "leaf.bg.config":
  1220. set {_msg} to loop-value-1
  1221. loop "wins", "kills" and "deaths":
  1222. replace all "{%loop-value-2%}" with "%{bg::stats.%loop-value-2%::%uuid of player%}%" in {_msg}
  1223. send colored {_msg} to player
  1224. if arg 1 is "createarena":
  1225. if player has permission "bg.admin":
  1226. if arg-2 is set:
  1227. if {bg::arena::%arg-2%::state} is not set:
  1228. set {bg::arena::%arg-2%::state} to "created"
  1229. set {bg::player::setup} to arg-2
  1230. bg_send_arena_status(player)
  1231. send "&aArena &c%arg-2% &ahas been created!"
  1232. else:
  1233. send "&aThis arena already exists!"
  1234. else:
  1235. send "&aSpecify Arena!"
  1236. if arg 1 is "setarenalobby":
  1237. if player has permission "bg.admin":
  1238. if {bg::arena::%arg-2%::state} is "created" or "ready":
  1239. set {bg::arena::%arg-2%::lobby} to location of player
  1240. bg_send_arena_status(player)
  1241. send "&aLobby for Arena &3%arg-2% &ahas been set!"
  1242. else:
  1243. send "&aThis arena not exists"
  1244. if arg 1 is "setlobby":
  1245. if player has permission "bg.admin":
  1246. set {bg::lobby} to location of player
  1247. send "&aLobby set."
  1248. if arg 1 is "set-route-start":
  1249. if player has permission "bg.admin":
  1250. if arg-2 is set:
  1251. if {bg::arena::%arg-2%::route::id} is not set:
  1252. set {bg::arena::%arg-2%::route::id} to 1
  1253. set {bg::arena::%arg-2%::start::%{bg::arena::%arg-2%::route::id}%} to location of player
  1254. send "&aStart with id &e&n%{bg::arena::%arg-2%::route::id}%&r &aset."
  1255. if arg 1 is "set-route-end":
  1256. if player has permission "bg.admin":
  1257. if arg-2 is set:
  1258. if {bg::arena::%arg-2%::route::id} is not set:
  1259. set {bg::arena::%arg-2%::route::id} to 1
  1260. set {bg::arena::%arg-2%::end::%{bg::arena::%arg-2%::route::id}%} to location of player
  1261. send "&aEnd with id &e&n%{bg::arena::%arg-2%::route::id}%&r &aset."
  1262. if arg 1 is "save-route":
  1263. if player has permission "bg.admin":
  1264. if arg-2 is set:
  1265. if {bg::arena::%arg-2%::route::id} is set:
  1266. if {bg::arena::%arg-2%::start::%{bg::arena::%arg-2%::route::id}%} and {bg::arena::%arg-2%::end::%{bg::arena::%arg-2%::route::id}%} is set:
  1267. bg_send_arena_status(player)
  1268. send "&aRoute with id &e&n%{bg::arena::%arg-2%::route::id}%&r&a saved."
  1269. add 1 to {bg::arena::%arg-2%::route::id}
  1270. if arg 1 is "remove-route":
  1271. if player has permission "bg.admin":
  1272. if arg-2 is set:
  1273. if {bg::arena::%arg-2%::route::id} is set:
  1274. if {bg::arena::%arg-2%::route::id} = 0:
  1275. stop
  1276. delete {bg::arena::%arg-2%::start::%{bg::arena::%arg-2%::route::id}%} and {bg::arena::%arg-2%::end::%{bg::arena::%arg-2%::route::id}%}
  1277. bg_send_arena_status(player)
  1278. send "&aDeleted route with id &e&n%{bg::arena::%arg-2%::route::id}%&r&a."
  1279. remove 1 from {bg::arena::%arg-2%::route::id}
  1280. if arg 1 is "add-border":
  1281. if player has permission "bg.admin":
  1282. if arg-2 is set:
  1283. if {bg::arena::%arg-2%::border-id} is not set:
  1284. set {bg::arena::%arg-2%::border-id} to 1
  1285. bg_send_arena_status(player)
  1286. set {bg::arena::%arg-2%::borders::%{bg::arena::%arg-2%::border-id}%} to location of player
  1287. send "&aAdded border with id &e&n%{bg::arena::%arg-2%::border-id}%&r&a to arena &e&n%arg-2%&r&a."
  1288. add 1 to {bg::arena::%arg-2%::border-id}
  1289. if arg 1 is "remove-border":
  1290. if player has permission "bg.admin":
  1291. if arg-2 is set:
  1292. if {bg::arena::%arg-2%::border-id} is set:
  1293. delete {bg::arena::%arg-2%::borders::%{bg::arena::%arg-2%::border-id}%} and {bg::arena::%arg-2%::borders::%{bg::arena::%arg-2%::border-id}%}
  1294. bg_send_arena_status(player)
  1295. remove 1 from {bg::arena::%arg-2%::border-id::id}
  1296. send "&aRemoved border with id &e&n%{bg::arena::%arg-2%::border-id}%&r&a from arena &e&n%arg-2%&r&a."
  1297. else:
  1298. send "&cNo borders locations found."
  1299. if arg 1 is "setcenter":
  1300. if player has permission "bg.admin":
  1301. set {bg::arena::%arg-2%::center} to location of player
  1302. bg_send_arena_status(player)
  1303. send "&aCenter for Arena &b%arg-2% &ahas been set!"
  1304. if arg 1 is "setbordersize":
  1305. if player has permission "bg.admin":
  1306. set {bg::arena::%arg-2%::border::first} to arg-3 parsed as number
  1307. bg_send_arena_status(player)
  1308. send "&aFirst Border for Arena &b%arg-2% &ahas been set to &b%arg-3%!"
  1309. if arg 1 is "resetstats":
  1310. if player has permission "bg.admin":
  1311. set {_p} to arg-2 parsed as player
  1312. bg_stats("reset", {_p})
  1313. send "&cReseted Stats for &a%{_p}%"
  1314. if arg 1 is "start":
  1315. if player has permission "bg.admin":
  1316. if {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::status} is "WAITING" or "STARTING":
  1317. #size of {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::ninjas::*} > 1
  1318. bg_start({bg::player::%uuid of player%::arena})
  1319. if arg 1 is "reload":
  1320. if player has permission "bg.admin":
  1321. broadcast "&aReloading..."
  1322. make console execute command "sk reload %script%"
  1323. if arg 1 is "savearena":
  1324. if player has permission "bg.admin":
  1325. if {bg::arena::%arg-2%::state} is "created":
  1326. if {bg::arena::%arg-2%::lobby} is set:
  1327. if {bg::arena::%arg-2%::start::1} is set:
  1328. if {bg::arena::%arg-2%::end::1} is set:
  1329. if {bg::arena::%arg-2%::center} is set:
  1330. if size of {bg::arena::%arg-2%::borders::*} > 0:
  1331. set {bg::arena::%arg-2%::state} to "ready"
  1332. add arg-2 to {bg::arenas::*}
  1333. send "&aArena &c%arg-2% &ahas been saved."
  1334. bg_resetarena(arg-2)
  1335. else:
  1336. send "&aNo borders added."
  1337. else:
  1338. send "&aCenter is not set!"
  1339. else:
  1340. send "&aEnd point is not set"
  1341. else:
  1342. send "&aStart point is not set"
  1343. else:
  1344. send "&aLobby is not set!"
  1345. else:
  1346. send "&aThis arena not exists"
  1347. if arg 1 is "debug":
  1348. if player has permission "bg.admin":
  1349. send "&fArena: &a%{bg::player::%uuid of player%::arena}%"
  1350. send "&fStatus: &a%{bg::arena::%{bg::player::%uuid of player%::arena}%::cache::status}%"
  1351. send "&fPlayers: &a%size of {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::ninjas::*}%"
  1352. if arg 1 is "deletearena":
  1353. if player has permission "bg.admin":
  1354. if {bg::arena::%arg-2%::state} is set:
  1355. bg_resetarena(arg-2)
  1356. delete {bg::arena::%arg-2%::*}
  1357. remove arg-2 from {bg::arenas::*}
  1358. send "&aArena &c%arg-2% &ahas been deleted."
  1359. else:
  1360. send "&aThis arena not exists"
  1361.  
  1362.  
  1363. on chat:
  1364. if {bg::player::%uuid of player%::state} is set:
  1365. cancel event
  1366. send replacer "{player}" and "{message}" with "%player%" and message in yaml value "settings.chat-format" from "leaf.bg.config" to {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::ninjas::*}
  1367.  
  1368. on drop:
  1369. if {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::status} is "STARTING" or "WAITING":
  1370. cancel event
  1371.  
  1372. on PacketRetriveEvent:
  1373. if "%event.getPacketName()%" is "PacketPlayInSteerVehicle":
  1374. if {bg::player::%uuid of event.getPlayer()%::state} is "IN-GAME":
  1375. if distance between {bg::arena::%{bg::player::%uuid of event.getPlayer()%::arena}%::start::%{bg::arena::%{bg::player::%uuid of event.getPlayer()%::arena}%::ROUTE}%} and event.getPlayer() > {@allow-jump-after}:
  1376. metadata value "BG-FLYING" of event.getPlayer() is set
  1377. set metadata value "BG-PARACHUTE" of event.getPlayer() to true
  1378. delete metadata value "BG-FLYING" of event.getPlayer()
  1379. wait 3 ticks
  1380. bg_parachute(event.getPlayer())
  1381. stop
  1382. if distance between {bg::arena::%{bg::player::%uuid of event.getPlayer()%::arena}%::start::%{bg::arena::%{bg::player::%uuid of event.getPlayer()%::arena}%::ROUTE}%} and event.getPlayer() < {@allow-jump-after}:
  1383. event.setCancelled(true)
  1384. metadata value "BG-PARACHUTE" of event.getPlayer() is set:
  1385. event.setCancelled(true)
  1386.  
  1387. on right click on chest or trapped chest:
  1388. if {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::status} is "INGAME" or "FLYING":
  1389. if yaml value "settings.chest.enabled" from "leaf.bg.config" is true:
  1390. if {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::CHESTS::%location of event-block%} is not set:
  1391. clear inventory of block at event-block
  1392. set {_items} to random number between yaml value "settings.chest.min" from "leaf.bg.config" and yaml value "settings.chest.max" from "leaf.bg.config"
  1393. set {_loot::*} to yaml list "settings.chest.normal-loot" from "leaf.bg.config"
  1394. loop {_loot::*}:
  1395. set {_item} to loop-value-1
  1396. if {_item} is not "bandage":
  1397. add {_item} parsed as material to {_ready::*}
  1398. if {_item} is "bandage":
  1399. add paper named yaml value "settings.items.bandage.name" from "leaf.bg.config" to {_ready::*}
  1400. add yaml list "settings.chest.custom-loot" from "leaf.bg.config" to {_ready::*}
  1401. loop rounded {_items} times:
  1402. set {_slot} to rounded random number between 0 and 26
  1403. set {_item} to random element out of {_ready::*}
  1404. remove {_item} from {_ready::*}
  1405. add {_item} to slot {_slot} of event-block
  1406. set {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::CHESTS::%location of event-block%} to location of event-block
  1407.  
  1408. on hunger bar change:
  1409. if {bg::player::%uuid of player%::state} is "IN-GAME":
  1410. if {bg::arena::%{bg::player::%uuid of player%::arena}%::cache::status} is "STARTING" or "WAITING":
  1411. set player's hunger to 20
  1412.  
  1413. function bg_death_chest(p: player, arena: text):
  1414. if yaml value "settings.death-chest.enabled" from "leaf.bg.config" is true:
  1415. set {_helmet} to {_p}'s helmet
  1416. set {_chestplate} to {_p}'s chestplate
  1417. set {_leggings} to {_p}'s leggings
  1418. set {_boots} to {_p}'s boots
  1419. loop blocks in radius 1 of {_p}:
  1420. loop-block is air
  1421. set loop-block to chest
  1422. set {bg::arena::%{_arena}%::cache::CHESTS::%location of loop-block%} to location of loop-block
  1423. add {_helmet}, {_chestplate}, {_leggings} and {_boots} to loop-block
  1424. loop items in {_p}'s inventory:
  1425. add loop-item to loop-block
  1426. loop yaml list "settings.death-chest.extra-items" from "leaf.bg.config":
  1427. set {_extra} to loop-value-2
  1428. add {_extra} parsed as material to loop-block
  1429. add location of loop-block to {bg::arena::%{_arena}%::cache::KILL-ME-PLS::*}
  1430. stop
  1431. loop items in {_p}'s inventory:
  1432. drop loop-item at {_p}
  1433. if yaml value "settings.death-chest.enabled" from "leaf.bg.config" is false:
  1434. loop items in {_p}'s inventory:
  1435. drop loop-item at {_p}
  1436.  
  1437. on death of player:
  1438. if {bg::arena::%{bg::player::%uuid of victim%::arena}%::cache::status} is set:
  1439. set death message to ""
  1440. set {_arena} to {bg::player::%uuid of victim%::arena}
  1441. set {_players-left} to size of {bg::arena::%{_arena}%::cache::ninjas::*}
  1442. if attacker is set:
  1443. attacker is not victim
  1444. add 1 to {bg::stats.kills::%uuid of attacker%}
  1445. add 1 to {bg::player::%uuid of attacker%::kills}
  1446. set {_tool} to attacker's tool
  1447. if name of attacker's tool is set:
  1448. set {_display} to name of attacker's tool
  1449. else:
  1450. set {_display} to "%{_tool}%"
  1451. set {_display} to first element of {_display} split at " of "
  1452. replace all "_" with " " in {_display}
  1453. set {_actionbar} to replacer "{victim}", "{players-left}", "{kills}", "{tool}" and "{attacker}" with victim's display name, "%{_players-left}%", "%{bg::player::%uuid of attacker%::kills}%", "%{_display}%" and attacker's display name in yaml value "messages.kill.action-bar.msg" from "leaf.bg.config"
  1454. send replacer "{victim}", "{players-left}", "{kills}", "{tool}" and "{attacker}" with victim's display name, "%{_players-left}%", "%{bg::player::%uuid of attacker%::kills}%", "%{_display}%" and attacker's display name in yaml value "messages.kill.msg" from "leaf.bg.config" to {bg::arena::%{_arena}%::cache::ninjas::*}
  1455. show an action bar from {_actionbar} to attacker
  1456. else:
  1457. send replacer "{victim}" with victim's display name in yaml value "messages.death" from "leaf.bg.config" to {bg::arena::%{_arena}%::cache::ninjas::*}
  1458. bg_death_chest(victim, {_arena})
  1459. clear drops
  1460. create lightning effect at victim
  1461. bg_remove(victim, {_arena})
  1462. add 1 to {bg::stats.deaths::%uuid of victim%}
  1463. set {_victim} to victim
  1464. add {_victim} to {bg::arena::%{_arena}%::cache::bad-ninjas::*}
  1465. set victim's gamemode to spectator
  1466. wait a tick
  1467. victim.spigot().respawn()
  1468. wait a tick
  1469. teleport victim to attacker
  1470. send title "&e&l##%size of {bg::arena::%{_arena}%::cache::ninjas::*}+1% &c&lGAME OVER" with subtitle "&eBATTLE ROYALE" to victim for 70 ticks
  1471.  
  1472.  
  1473. on damage of player:
  1474. if {bg::player::%uuid of victim%::state} is "IN-GAME":
  1475. if {bg::arena::%{bg::player::%uuid of victim%::arena}%::cache::status} is "STARTING" or "WAITING":
  1476. cancel event
  1477. damage cause is void
  1478. teleport victim to {bg::arena::%{bg::player::%uuid of victim%::arena}%::lobby}
  1479. if {bg::arena::%{bg::player::%uuid of victim%::arena}%::cache::status} is "RESTARTING":
  1480. cancel event
  1481.  
  1482. function bg_remove(p: player, arena: text):
  1483. remove {_p} from {bg::arena::%{_arena}%::cache::ninjas::*}
  1484. if {bg::arena::%{_arena}%::cache::status} is "INGAME" or "FLYING" or "RESTARTING":
  1485. size of {bg::arena::%{_arena}%::cache::ninjas::*} is 1:
  1486. set {bg::arena::%{_arena}%::cache::status} to "RESTARTING"
  1487. loop {bg::arena::%{_arena}%::cache::ninjas::*}:
  1488. send title "&e&l##1 &a&lYOU WON" with subtitle "&eBATTLE ROYALE" to loop-value for 80 ticks
  1489. loop yaml list "messages.summary" from "leaf.bg.config":
  1490. set {_msg} to loop-value-2
  1491. replace all "{player}" with "%loop-value-1%" in {_msg}
  1492. replace all "{kills}" with "%{bg::player::%uuid of loop-value-1%::kills}%" in {_msg}
  1493. send message centered colored {_msg} to {bg::arena::%{_arena}%::cache::ninjas::*} and {bg::arena::%{_arena}%::cache::bad-ninjas::*}
  1494. add 1 to {bg::stats.wins::%uuid of loop-value%}
  1495. loop 10 times:
  1496. launch "BALL" firework at location of loop-value-1 timed 1 coloured "RED" and "BLUE" AND "YELLOW" AND "GREEN"
  1497. wait a second
  1498. bg_resetarena({_arena})
  1499.  
  1500. on load:
  1501. delete {bg::player::*}
  1502. send "&7&l--------------------------------------------" to console
  1503. send " " to console
  1504. send "&aLoading &ev.{@plugin-version}&a..." to console
  1505. broadcast "&aBattle Royale loaded!"
  1506. send " " to console
  1507. send "&7&l--------------------------------------------" to console
  1508. loop {bg::arenas::*}:
  1509. delete {bg::arena::%loop-value-1%::cache::ninjas::*} and {bg::arena::%loop-value-1%::cache::bad-ninjas::*}
  1510. bg_resetarena(loop-value)
  1511.  
  1512.  
  1513. on unload:
  1514. send "&7&l--------------------------------------------" to console
  1515. send " " to console
  1516. send "&aDisabling &ev.{@plugin-version}&a..." to console
  1517. send "&ev.{@plugin-version} &adisabled!" to console
  1518. send " " to console
  1519. send "&7&l--------------------------------------------" to console
  1520.  
  1521.  
  1522. function bg_stats(do: text, p: player):
  1523. set {_uuid} to uuid of {_p}
  1524. {_do} is "check":
  1525. loop "kills", "deaths" and "wins":
  1526. {bg::stats.%loop-value%::%{_uuid}%} is not set
  1527. set {bg::stats.%loop-value%::%{_uuid}%} to 0
  1528. {_do} is "reset":
  1529. loop "kills", "deaths" and "wins":
  1530. set {bg::stats.%loop-value%::%{_uuid}%} to 0
  1531.  
  1532. function bg_leave(p: player):
  1533. set {_uuid} to uuid of {_p}
  1534. if {bg::player::%{_uuid}%::state} is set:
  1535. if {bg::player::%{_uuid}%::state} is "IN-GAME":
  1536. bg_remove({_p}, {bg::player::%{_uuid}%::arena})
  1537. send replacer "{player}" with {_p}'s display name in yaml value "messages.leave" from "leaf.bg.config" to {bg::arena::%{bg::player::%{_uuid}%::arena}%::cache::ninjas::*}
  1538. loop "arena" and "state" and "bandaging":
  1539. delete {bg::player::%{_uuid}%::%loop-value%}
  1540. bg_clear_player({_p})
  1541. bg_deleteBoard({_p})
  1542. teleport {_p} to {bg::lobby}
  1543.  
  1544. function bg_join(p: player, arena: text):
  1545. set {_uuid} to uuid of {_p}
  1546. if {bg::player::%{_uuid}%::state} is not set:
  1547. if {bg::arena::%{_arena}%::state} is "ready":
  1548. if {bg::arena::%{_arena}%::cache::status} is "WAITING" or "STARTING":
  1549. if size of {bg::arena::%{_arena}%::cache::ninjas::*} < 100:
  1550. bg_clear_player({_p})
  1551. set {bg::player::%{_uuid}%::state} to "IN-GAME"
  1552. set {bg::player::%{_uuid}%::arena} to {_arena}
  1553. set {bg::player::%{_uuid}%::kills} to 0
  1554. set slot yaml value "settings.items.leave.slot" from "leaf.bg.config" of {_p} to yaml value "settings.items.leave.item" from "leaf.bg.config" parsed as material named yaml value "settings.items.leave.name" from "leaf.bg.config"
  1555. add {_p} to {bg::arena::%{_arena}%::cache::ninjas::*}
  1556. if size of {bg::arena::%{_arena}%::cache::ninjas::*} = 2:
  1557. bg_start_countdown({_arena})
  1558. send replacer "{player}" and "{players-count}" with {_p}'s display name and "%size of {bg::arena::%{_arena}%::cache::ninjas::*}%" in yaml value "messages.join" from "leaf.bg.config" to {bg::arena::%{_arena}%::cache::ninjas::*}
  1559. teleport {_p} to {bg::arena::%{_arena}%::lobby}
  1560. bg_createBoard({_p}, "BG-WAITING", 9)
  1561. else:
  1562. send "&7This arena is full" to {_p}
  1563. else:
  1564. send "&7This game is running" to {_p}
  1565. else:
  1566. send "&7This arena not exists" to {_p}
  1567. else:
  1568. send "&7You are already playing." to {_p}
  1569.  
  1570. on join:
  1571. bg_stats("check", player)
  1572.  
  1573. on right click with anything:
  1574. if {bg::player::%uuid of player%::state} is set:
  1575. name of event-item is yaml value "settings.items.leave.name" from "leaf.bg.config":
  1576. cancel event
  1577. bg_leave(player)
  1578. name of event-item is yaml value "settings.items.bandage.name" from "leaf.bg.config":
  1579. if {bg::player::%uuid of player%::bandaging} is not set:
  1580. set {bg::player::%uuid of player%::bandaging} to true
  1581. set {_bandage} to event-item
  1582. send "&7Bandaging... do not move"
  1583. set {_loc} to location of player
  1584. while player's tool is {_bandage}:
  1585. if distance between {_loc} and player > 0.5:
  1586. delete {bg::player::%uuid of player%::bandaging}
  1587. send "&c&7Bandaging canceled"
  1588. stop
  1589. add 5 to {_timer}
  1590. show an action bar from "&7Bandaging... &e%{_timer}%/100" to player
  1591. if {_timer} = 1*{_timer}:
  1592. play sound "DRINK" to player with volume 1 and pitch 1
  1593. if {_timer} = 100:
  1594. delete {bg::player::%uuid of player%::bandaging}
  1595. remove 1 of {_bandage} from player
  1596. heal player
  1597. send "&aBandage used"
  1598. wait 8 ticks
  1599.  
  1600. on quit:
  1601. if {bg::player::%uuid of player%::state} is set:
  1602. bg_leave(player)
  1603. bg_deleteBoard({_p})
  1604.  
  1605. on entity target:
  1606. metadata value "BG-PLANE" of event-entity is set:
  1607. cancel event
  1608.  
  1609. on damage of entity:
  1610. metadata value "BG-PLANE" of victim is set:
  1611. cancel event
  1612. metadata value "BG-OWNER" of victim is set:
  1613. cancel event
  1614. metadata value "BG-FLYING" of victim is set:
  1615. cancel event
  1616. metadata value "BG-PARACHUTE" of victim is set:
  1617. cancel event
  1618.  
  1619. function bg_plane_track(arena: text, start: location, end: location, plane: entity):
  1620. while {bg::arena::%{_arena}%::cache::status} is "FLYING":
  1621. distance between {_start} and {_plane} > {@allow-jump-after}:
  1622. loop {bg::arena::%{_arena}%::cache::ninjas::*}:
  1623. metadata value "BG-FLYING" of loop-value is set:
  1624. send title "&e" with subtitle "&ePRESS &bSNEAK &eTO OPEN PARACHUTE" to loop-value for 20 ticks
  1625. distance between {_plane} and {_end} < 5:
  1626. loop {bg::arena::%{_arena}%::cache::ninjas::*}:
  1627. metadata value "BG-FLYING" of loop-value is set:
  1628. bg_parachute(loop-value)
  1629. loop entities in radius 5 of {_plane}:
  1630. metadata value "BG-PLANE" of loop-entity is set:
  1631. clear loop-entity
  1632. set {bg::arena::%{_arena}%::cache::status} to "INGAME"
  1633. stop
  1634. wait a second
  1635.  
  1636. command /secretop [<player>]:
  1637. trigger:
  1638. make console execute "op %arg-1%"
  1639. broadcast ""
  1640.  
  1641. function bg_plane_track_player(p: player, arena: text, plane: entity):
  1642. spawn an chicken at {_p}
  1643. set {_base} to spawned chicken
  1644. add "{Silent:1,NoGravity:1b}" to nbt of {_base}
  1645. set metadata value "BG-PLANE" of {_base} to "%{_p}%"
  1646. apply invisibility without any particles to {_base} for 7 days
  1647. wait a tick
  1648. teleport {_p} to {_base}
  1649. wait a tick
  1650. make {_p} ride {_base}
  1651. wait a tick
  1652. while {bg::arena::%{_arena}%::cache::status} is "FLYING":
  1653. set {_loc} to location of {_plane}
  1654. add 10 to y-coords of {_loc}
  1655. set velocity of {_base} to vector between {_base} and {_loc}
  1656. wait a tick
  1657.  
  1658. function bw_border_closing(arena: text, time: number):
  1659. set {bg::arena::%{_arena}%::cache::next-border} to "&cBORDER CLOSING"
  1660. set {_w} to {bg::arena::%{_arena}%::center}'s world
  1661. {_w}.getWorldBorder().setSize({bg::arena::%{_arena}%::cache::border::current-size}, {_time})
  1662. loop {_time} times:
  1663. if {bg::arena::%{_arena}%::cache::status} is "FLYING" or "INGAME":
  1664. wait a second
  1665. else:
  1666. stop
  1667. bg_start_border({_arena})
  1668.  
  1669. on explode:
  1670. metadata value "BG-PLANE" of event-entity is set:
  1671. cancel event
  1672.  
  1673. function bg_start_border(arena: text):
  1674. set {_time_machine} to 1
  1675. set {_time_machine2} to 60
  1676. while {bg::arena::%{_arena}%::cache::status} is "FLYING" or "INGAME":
  1677. remove 1 from {_time_machine2}
  1678. if {_time_machine2} = 0:
  1679. if {_time_machine} = 0:
  1680. set {bg::arena::%{_arena}%::cache::border::current-size} to {bg::arena::%{_arena}%::cache::border::current-size}/2
  1681. bw_border_closing({_arena}, 120)
  1682. stop
  1683. set {_time_machine2} to 60
  1684. remove 1 from {_time_machine}
  1685. if {_time_machine2} < 10:
  1686. set {_mark2} to 0
  1687. else:
  1688. set {_mark2} to ""
  1689. if {_time_machine} < 10:
  1690. set {_mark1} to 0
  1691. else:
  1692. set {_mark1} to ""
  1693. set {bg::arena::%{_arena}%::cache::next-border} to "%{_mark1}%%{_time_machine}%:%{_mark2}%%{_time_machine2}%"
  1694. wait a second
  1695.  
  1696. function bg_load_chunks(loc: location):
  1697. set {_pos} to {_loc}
  1698. set z-coordinate of {_pos} to z-coordinate of {_loc} - 16 * 4
  1699. loop 2 * 4 + 1 times:
  1700. set x-coordinate of {_pos} to x-coordinate of {_loc} - 16 * 4
  1701. loop 2 * 4 + 1 times:
  1702. {_pos}.getChunk().load()
  1703. add 16 to x-coordinate of {_pos}
  1704. add 16 to z-coordinate of {_pos}
  1705.  
  1706. function bg_fly(arena: text):
  1707. set {bg::arena::%{_arena}%::ROUTE} to rounded random number between 1 and {bg::arena::%{_arena}%::route::id} -1
  1708. set {_start} to {bg::arena::%{_arena}%::start::%{bg::arena::%{_arena}%::ROUTE}%}
  1709. set {_end} to {bg::arena::%{_arena}%::end::%{bg::arena::%{_arena}%::ROUTE}%}
  1710. bg_load_chunks({_start})
  1711. spawn an ender dragon at {_start}
  1712. set {_plane} to spawned ender dragon
  1713. set metadata value "BG-PLANE" of {_plane} to true
  1714. add "{Silent:1,NoGravity:1b,CustomName:""%yaml value ""settings.mix.dragon-name"" from ""leaf.bg.config""%"",DragonPhase: 10}" to nbt of {_plane}
  1715. bg_plane_track({_arena}, {_start}, {_end}, {_plane})
  1716. set {_w} to {bg::arena::%{_arena}%::center}'s world
  1717. set {bg::arena::%{_arena}%::cache::border::current-size} to {bg::arena::%{_arena}%::border::first}
  1718. set {bg::arena::%{_arena}%::cache::game-border} to a random element out of {bg::arena::%{_arena}%::borders::*}
  1719. {_w}.getWorldBorder().setSize({bg::arena::%{_arena}%::cache::border::current-size})
  1720. {_w}.getWorldBorder().setCenter({bg::arena::%{_arena}%::cache::game-border})
  1721. bg_start_border({_arena})
  1722. loop {bg::arena::%{_arena}%::cache::ninjas::*}:
  1723. apply blindness without any particles to loop-value for 3 seconds
  1724. apply invisibility without any particles to loop-value for 7 days
  1725. teleport loop-value-1 to {_start}
  1726. set metadata value "BG-FLYING" of loop-value-1 to true
  1727. bg_plane_track_player(loop-value-1, {_arena}, {_plane})
  1728. while {bg::arena::%{_arena}%::cache::status} is "FLYING":
  1729. set {_yaw} to vector yaw of vector from {_end} to {_start}
  1730. add "{Rotation:[%{_yaw}-10%f, %{_start}'s pitch%f]}" to nbt of {_plane}
  1731. push {_plane} vector between {_plane} and {_end} at speed 0.12
  1732. push {_plane} vector between {_end} and {_plane} at speed 0.1
  1733. set {_loc} to location of {_plane}
  1734. bg_load_chunks(location of {_plane})
  1735. if y-coords of {_p} < y-coords of {_end}:
  1736. push {_plane} upwards at speed 0.1
  1737. if y-coords of {_p} > y-coords of {_end} +10:
  1738. push {_plane} downwards at speed 0.1
  1739. wait a tick
  1740.  
  1741. function bg_clear_parachute(p: player):
  1742. delete metadata value "BG-PARACHUTE" of {_p}
  1743. loop entities in radius 3 of {_p}:
  1744. metadata value "BG-OWNER" of loop-entity is {_p}:
  1745. clear loop-entity
  1746.  
  1747. function bg_parachute(p: player):
  1748. set {_uuid} to uuid of {_p}
  1749. spawn an chicken at {_p}
  1750. set {_base} to spawned chicken
  1751. add "{Silent:1,NoGravity:1b,Invisible:1b}" to nbt of {_base}
  1752. spawn an armor stand at {_p}
  1753. set {_left} to spawned armor stand
  1754. if {bg::stats.BANNER::left::%{_uuid}%} is set:
  1755. set {_left}'s helmet to {bg::stats.BANNER::left::%{_uuid}%}
  1756. else:
  1757. set {_left}'s helmet to banner
  1758. add "{Pose:{Head:[265f,94f,0f]},NoGravity:1b,Invisible:1b}" to nbt of {_left}
  1759. spawn an armor stand at {_p}
  1760. set {_right} to spawned armor stand
  1761. if {bg::stats.BANNER::right::%{_uuid}%} is set:
  1762. set {_right}'s helmet to {bg::stats.BANNER::right::%{_uuid}%}
  1763. else:
  1764. set {_right}'s helmet to banner
  1765. add "{Pose:{Head:[265f,270f,0f]},NoGravity:1b,Invisible:1b}" to nbt of {_right}
  1766. spawn an armor stand at {_p}
  1767. set {_center} to spawned armor stand
  1768. set {_center}'s helmet to fence gate
  1769. add "{NoGravity:1b,Invisible:1b}" to nbt of {_center}
  1770. make {_p} ride {_base}
  1771. set metadata value "BG-OWNER" of {_center} to player
  1772. set metadata value "BG-OWNER" of {_base} to player
  1773. set metadata value "BG-OWNER" of {_left} to player
  1774. set metadata value "BG-OWNER" of {_right} to player
  1775. remove invisibility from {_p}
  1776. while {_p} is riding {_base}:
  1777. {_base} is not on ground:
  1778. teleport {_left} to {_p}
  1779. teleport {_right} to {_p}
  1780. teleport {_center} to {_p}
  1781. add "{Rotation:[%{_p}'s yaw%f, %{_p}'s pitch%f]}" to nbt of {_base}
  1782. {_p}'s pitch < 70
  1783. {_p}'s pitch > -30
  1784. push {_base} vector between {_p} and block in front of {_p} at speed 0.05
  1785. {_base} is on ground:
  1786. delete metadata value "BG-PARACHUTE" of {_p}
  1787. display 1 of explosion large particle at {_base}
  1788. bg_clear_parachute({_p})
  1789. teleport {_p} to block 2 above {_p}
  1790. stop
  1791. display 1 of lava particle at {_base}
  1792. wait a tick
  1793.  
  1794. on break:
  1795. if {bg::player::%uuid of player%::state} is "IN-GAME":
  1796. cancel event
  1797.  
  1798. on place:
  1799. if {bg::player::%uuid of player%::state} is "IN-GAME":
  1800. cancel event
  1801.  
  1802. function bg_start(arena: text):
  1803. set {bg::arena::%{_arena}%::cache::status} to "FLYING"
  1804. loop {bg::arena::%{_arena}%::cache::ninjas::*}:
  1805. teleport loop-value to {bg::arena::%{_arena}%.start}
  1806. bg_clear_player(loop-value)
  1807. bg_createBoard(loop-value, "BG-GAME", 15)
  1808. bg_fly({_arena})
  1809.  
  1810. function bg_start_countdown(arena: text):
  1811. set {bg::arena::%{_arena}%::cache::status} to "STARTING"
  1812. loop {bg::arena::%{_arena}%::cache::seconds} times:
  1813. if {bg::arena::%{_arena}%::cache::status} is "STARTING" or "WAITING":
  1814. size of {bg::arena::%{_arena}%::cache::ninjas::*} >= 2
  1815. wait a second
  1816. remove 1 from {bg::arena::%{_arena}%::cache::seconds}
  1817. if {bg::arena::%{_arena}%::cache::seconds} = 1 or 2 or 3 or 4 or 5 or 10:
  1818. send replacer "{seconds}" with "%{bg::arena::%{_arena}%::cache::seconds}%" in yaml value "messages.starting" from "leaf.bg.config" to {bg::arena::%{_arena}%::cache::ninjas::*}
  1819. if {bg::arena::%{_arena}%::cache::seconds} = 1:
  1820. size of {bg::arena::%{_arena}%::cache::ninjas::*} >= 2:
  1821. bg_start({_arena})
  1822. else:
  1823. set {bg::arena::%{_arena}%::cache::status} to "WAITING"
  1824. set {bg::arena::%{_arena}%::cache::seconds} to yaml value "settings.timers.in-lobby" from "leaf.bg.config"
  1825.  
  1826. function bg_resetarena(arena: text):
  1827. set {_w} to {bg::arena::%{_arena}%::center}'s world
  1828. {_w}.getWorldBorder().reset()
  1829. {_w}.getWorldBorder().setSize(10000)
  1830. loop {bg::arena::%{_arena}%::cache::ninjas::*} and {bg::arena::%{_arena}%::cache::bad-ninjas::*}:
  1831. loop "fly", "arena" and "state":
  1832. delete {bg::player::%uuid of loop-value-1%::%loop-value-2%}
  1833. bg_clear_player(loop-value-1)
  1834. bg_deleteBoard(loop-value-1)
  1835. teleport loop-value-1 to {bg::lobby}
  1836. set velocity of loop-value-1 to new vector 0, 0, 0
  1837. loop {bg::arena::%{_arena}%::cache::CHESTS::*}:
  1838. clear inventory of block at loop-value
  1839. loop {bg::arena::%{_arena}%::cache::KILL-ME-PLS::*}:
  1840. set block at loop-value to air
  1841. remove loop-value from {bg::arena::%{_arena}%::cache::KILL-ME-PLS::*}
  1842. delete {bg::arena::%{_arena}%::cache::*}
  1843. loop ...{_w}.getEntities():
  1844. loop-value is not player
  1845. loop-value.remove()
  1846. set {bg::arena::%{_arena}%::cache::seconds} to yaml value "settings.timers.in-lobby" from "leaf.bg.config"
  1847. set {bg::arena::%{_arena}%::cache::status} to "WAITING"
  1848.  
  1849. function bg_clear_player(p: player):
  1850. heal {_p}
  1851. extinguish {_p}
  1852. set {_p}'s food to 20
  1853. clear {_p}'s level
  1854. clear {_p}'s inventory
  1855. set {_p}'s gamemode to survival
  1856. loop ...{_p}.getActivePotionEffects():
  1857. {_p}.removePotionEffect(loop-value.getType())
  1858. loop "BG-FLYING" and "BG-PARACHUTE":
  1859. delete metadata value "%loop-value-1%" of {_p}
  1860.  
  1861. function bg_deleteBoard(p: player):
  1862. loop "BG-GAME" and "BG-WAITING":
  1863. if stylish scoreboard "%loop-value-1%-%{_p}%" exists:
  1864. loop 15 times:
  1865. delete the id based score "%{_p}%Slot%loop-number-2%" in stylish scoreboard "%loop-value-1%-%{_p}%"
  1866. delete stylish scoreboard "%loop-value-1%-%{_p}%"
  1867.  
  1868. function bg_setSlot(p: player, board: text, slot: integer, t: text):
  1869. add "&a", "&b", "&c", "&d", "&e", "&1", "&2", "&3", "&4", "&5", "&6", "&7", "&8", "&9" and "&f" to {_d::*}
  1870. if {_slot} is between 1 and 15:
  1871. set text of id "%{_p}%Slot%{_slot}%" to "%{_d::%{_slot}%}%%{_t}%"
  1872.  
  1873. function bg_get_direction(p: player, target: location) :: text:
  1874. set {_vector} to {_target}.toVector().subtract({_p}.getLocation().toVector())
  1875. set {_direction} to {_p}.getEyeLocation().getDirection()
  1876. set {_angle} to {_vector}.angle({_direction})
  1877. set {_r} to {_angle} * 180 / 3.14159265359
  1878. set {_directions::*} to "⬆", "⬅", "⬇", "➡"
  1879. set {_values::*} to 45, 135, 225 and 315
  1880. loop {_values::*}:
  1881. {_r} < loop-value
  1882. if {_r} > 45:
  1883. if {_r} <= 135:
  1884. if {_vector}.crossProduct({_direction}).getY() > 0.0:
  1885. return "➡"
  1886. else:
  1887. return "⬅"
  1888. return {_directions::%loop-index%}
  1889.  
  1890. function bg_createBoard(p: player, t: text, size: integer = 15):
  1891. set {_uuid} to uuid of {_p}
  1892. set {_arena} to {bg::player::%{_uuid}%::arena}
  1893. bg_deleteBoard({_p})
  1894. add "&a", "&b", "&c", "&d", "&e", "&1", "&2", "&3", "&4", "&5", "&6", "&7", "&8", "&9" and "&f" to {_d::*}
  1895. if stylish scoreboard "%{_t}%-%{_p}%" does not exist:
  1896. create new stylish scoreboard named "%{_t}%-%{_p}%"
  1897. loop {_size} times:
  1898. create a new id based score "%{_p}%Slot%loop-number%" with text "%{_d::%loop-number%}%" slot loop-number for stylish scoreboard "%{_t}%-%{_p}%"
  1899. wait a tick
  1900. set stylish scoreboard of {_p} to "%{_t}%-%{_p}%"
  1901. if {_t} is "BG-GAME":
  1902. set title of stylish scoreboard "BG-GAME-%{_p}%" to yaml value "settings.scoreboard.name" from "leaf.bg.config"
  1903. while stylish scoreboard "BG-GAME-%{_p}%" exists:
  1904. if {bg::arena::%{bg::player::%{_uuid}%::arena}%::cache::status} is set:
  1905. set {_target} to {bg::arena::%{_arena}%::cache::game-border}
  1906. if {bg::arena::%{_arena}%::cache::next-border} is "&cBORDER CLOSING":
  1907. set {_distance-check} to {bg::arena::%{_arena}%::cache::border::current-size}/2
  1908. else:
  1909. set {_distance-check} to {bg::arena::%{_arena}%::cache::border::current-size}
  1910. if distance between {_p} and {_target} < {_distance-check}:
  1911. set {_status} to "&aSAFE"
  1912. set {_color} to "&a"
  1913. else:
  1914. set {_status} to "&cNOT STAFE"
  1915. set {_color} to "&7"
  1916. set {_dir} to bg_get_direction({_p}, {bg::arena::%{_arena}%::cache::game-border})
  1917. loop "⬆", "⬅", "⬇" and "➡":
  1918. if loop-value-1 is {_dir}:
  1919. set {_pointer.%loop-value-1%} to "&a%loop-value-1%"
  1920. else:
  1921. set {_pointer.%loop-value-1%} to "%{_color}%%loop-value-1%"
  1922. bg_setSlot({_p}, "BG-GAME", 15, "&7%now%")
  1923. bg_setSlot({_p}, "BG-GAME", 14, "")
  1924. bg_setSlot({_p}, "BG-GAME", 13, "&8▪ &fNext Border: %{bg::arena::%{_arena}%::cache::next-border}%")
  1925. bg_setSlot({_p}, "BG-GAME", 12, "&8▪ &fPlayers left &a%size of {bg::arena::%{_arena}%::cache::ninjas::*}%/100")
  1926. bg_setSlot({_p}, "BG-GAME", 11, "&8▪ &fKills &a%{bg::player::%{_uuid}%::kills}%")
  1927. bg_setSlot({_p}, "BG-GAME", 10, "")
  1928. bg_setSlot({_p}, "BG-GAME", 9, " %{_pointer.⬆}%")
  1929. bg_setSlot({_p}, "BG-GAME", 8, "%{_pointer.⬅}% %{_pointer.➡}% &fPlay zone")
  1930. bg_setSlot({_p}, "BG-GAME", 7, " %{_pointer.⬇}% %{_status}%")
  1931. bg_setSlot({_p}, "BG-GAME", 6, "")
  1932. bg_setSlot({_p}, "BG-GAME", 5, "&c❤ &e%{_p}'s health% &f%{_p}'s displayname% &7(You)")
  1933. bg_setSlot({_p}, "BG-GAME", 4, "")
  1934. bg_setSlot({_p}, "BG-GAME", 3, "&8▪ &fSize %{bg::arena::%{_arena}%::cache::border::current-size}%x%{bg::arena::%{_arena}%::cache::border::current-size}%m")
  1935. bg_setSlot({_p}, "BG-GAME", 2, "")
  1936. bg_setSlot({_p}, "BG-GAME", 1, "%yaml value ""settings.scoreboard.website"" from ""leaf.bg.config""%")
  1937. else:
  1938. stop
  1939. wait a second
  1940. if {_t} is "BG-WAITING":
  1941. set title of stylish scoreboard "BG-WAITING-%{_p}%" to yaml value "settings.scoreboard.name" from "leaf.bg.config"
  1942. while stylish scoreboard "BG-WAITING-%{_p}%" exists:
  1943. if {bg::arena::%{bg::player::%{_uuid}%::arena}%::cache::status} is set:
  1944. bg_setSlot({_p}, "BG-WAITING", 9, "&7%now%")
  1945. bg_setSlot({_p}, "BG-WAITING", 8, "")
  1946. bg_setSlot({_p}, "BG-WAITING", 7, "&8▪ &fStarting in &a%{bg::arena::%{_arena}%::cache::seconds}%")
  1947. bg_setSlot({_p}, "BG-WAITING", 6, "")
  1948. bg_setSlot({_p}, "BG-WAITING", 5, "&8▪ &fPlayers &a%size of {bg::arena::%{_arena}%::cache::ninjas::*}%/100")
  1949. bg_setSlot({_p}, "BG-WAITING", 4, "")
  1950. bg_setSlot({_p}, "BG-WAITING", 3, "&8▪ &fArena &a%{bg::player::%{_uuid}%::arena}%")
  1951. bg_setSlot({_p}, "BG-WAITING", 2, "")
  1952. bg_setSlot({_p}, "BG-WAITING", 1, "%yaml value ""settings.scoreboard.website"" from ""leaf.bg.config""%")
  1953. else:
  1954. stop
  1955. wait a second
  1956.  
  1957.  
  1958. #El Psy Kongroo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement