fix(kubejs): update kubejs scripts
This commit is contained in:
parent
28a30d94c0
commit
57be389894
13 changed files with 921 additions and 251 deletions
356
index.toml
356
index.toml
|
|
@ -209,24 +209,364 @@ file = "config/yosbr/config/xaerohud.txt"
|
|||
hash = "8d13c5f398016036aa4fdefb366ef3926d89f96ca104155bc9f6e5a7ec682ecd"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/config/settings.json"
|
||||
hash = "9fd66cebb740daa8b6def1c7f841cf2189ab9b43bc6611f39f7f383868cc0716"
|
||||
file = "kubejs/jsconfig.json"
|
||||
hash = "864c770339c71a8440b339acafb80e4227e18c41afaed93163fd2d141c050fe7"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/cachedForgeEvents.json"
|
||||
hash = "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/cachedJava.json"
|
||||
hash = "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/dynamicjs.json"
|
||||
hash = "71f12ab6d05a72e8c58748b232ed57ab955f5f337070cff27002ad26a3f58b3a"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/events.json"
|
||||
hash = "578aee5d392e6da1a4b12d91bd075d1b824d9fba6ee98f07b49e28f00d8c0dfd"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/kubejs.json"
|
||||
hash = "3db4ef01ff3999f14b21c7ff42346884f5de71a2569001c52ef4773b2ea593ab"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/kubejs_recipes.json"
|
||||
hash = "0ab68fcd509638e3735063b6490c32261c40289eed123cc8a6e977f951e38151"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/morejs.json"
|
||||
hash = "3b6076d8ff5ab4dcc2086e27691d7e3b8abfccdf7be23f890cdb28b23d50e779"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/probe.json"
|
||||
hash = "eabf3964c5cf77d0f31b58cd091776631bf5800ffcca1be6c4c4cd8d14cfbf83"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/registry.json"
|
||||
hash = "c76e8fdae5ab850f764c8d069258a5b2a0611f4b691ac563829dd1af7157f2d8"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/docs/types.json"
|
||||
hash = "01421362d4ee8c607708669ffb084303e9b9921a15fbe35090b277da7a8e587d"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/cache/modHash.txt"
|
||||
hash = "4bf677940baa625315d769f50986404774b8a7cf37e907ec1dedbb91e23d0714"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/constants.d.ts"
|
||||
hash = "3f0688de159c8f78d0018b1cba6a4de322cd26b28d74f6dad50ea0f3ab865c2f"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/events.d.ts"
|
||||
hash = "3a7a5e19233433179ea7042842cda9f19e349bb8baaf35cfc486b34eb11a3c65"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/globals.d.ts"
|
||||
hash = "8c84c2251730c2051ce14557744a2b49eaed5f50837f29e631958123b52e8a88"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/index.d.ts"
|
||||
hash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_0.d.ts"
|
||||
hash = "05efb4309e9318973b0dd40e0757c5324193224c6071172db95985095833ca35"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_1.d.ts"
|
||||
hash = "c7393e04687b44030b768aa5568cb00376d83e38923e1f5a1067f90d6db7dca5"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_10.d.ts"
|
||||
hash = "9eeb94f0c91ed0be235a3d7a9ca45ec0b7f3fe77006d1a93e0f987b3cb451b86"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_11.d.ts"
|
||||
hash = "9d37ffec6b2a26ed9eddb88ee2d94a3b9c9c0afb69e860f63d5e1d530a646549"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_12.d.ts"
|
||||
hash = "a8e09f86914ba956f13a7845f4dfcb552ffb59346d3f99215cc198546f519741"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_13.d.ts"
|
||||
hash = "308c852b5737d6c08a2bd4285828fd6fc652c0e3bf211136f182a3fb01959158"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_14.d.ts"
|
||||
hash = "686e8205709f17343e9b44e1e1b9704eefc22eefd515cfe873f5afc3b6762c4d"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_15.d.ts"
|
||||
hash = "a3e5847e76b2260f68d8c3721cd584961822e2d70028284c26967a2519a8690f"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_16.d.ts"
|
||||
hash = "3139a912f96abf324c0f9748ef696fa297cbd62aa0568f65576f3156df6d4edd"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_17.d.ts"
|
||||
hash = "87a0de08964c36f70cad4cd316e7bfe357de2de090ed3244eb5d87d8cde914a3"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_18.d.ts"
|
||||
hash = "c75500e2d80a1d65f370065a8031e69d4618239e327a6f58efb55995a6c21f31"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_19.d.ts"
|
||||
hash = "0fb53828d29639228ca6da34d46aa2793c19e6a95703bf0361d3f7d433900186"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_2.d.ts"
|
||||
hash = "94b14c71bd02069fda4289337b70f074f7fdc5718675cdcdeca7177e7bb481e5"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_20.d.ts"
|
||||
hash = "f4cc4c39650314ba066be56d72c04dee21bad9bc838f4b5713c52b6d3e594d29"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_21.d.ts"
|
||||
hash = "60ead406157fe45a0928ee3c4598a65d1812b95de0bebb7f16c12faaa3e49cd6"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_22.d.ts"
|
||||
hash = "c1ec77318cd413b0996f72c0fb1ed4ed9c763116da84108d5895a5bb6652a832"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_23.d.ts"
|
||||
hash = "fbfb05ab5767c8fa494e55473b3f24a9dea4dfcf922641a08f0a78acb8c33f2d"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_24.d.ts"
|
||||
hash = "9f5ea590bb4a0c4afc7d897952cc5e281d69080af713f2d045ac1c20ca2cc02a"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_25.d.ts"
|
||||
hash = "744f5cb4994f8f0c3d2ac74539140a020f6aa79f70eabd3ad46011b6e367c119"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_26.d.ts"
|
||||
hash = "104365ef9efb7fc4708e0f2f3a47ddc9894b38c7e7e4e438d4ead8acbe123466"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_27.d.ts"
|
||||
hash = "5655aec20e066c537ab800aa2a4edf7a933531d0f85c5236a06de2a299481aa1"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_28.d.ts"
|
||||
hash = "abec9c75772c54662e6149ae1d995e51c34e541e2663dec0b5341f7c3fb795df"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_29.d.ts"
|
||||
hash = "cf820354503b1a41fa573c842a971d22c7cf7dc6548e2673bfddc726256cb94f"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_3.d.ts"
|
||||
hash = "4feb977b87a4a59ac366b8135f727558c2fd04d1590e9233567842f17e857bde"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_30.d.ts"
|
||||
hash = "bc544739fe6bf1d40fc4fbc3e9819f2d710efcc4242033daffc49ba1691c5028"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_31.d.ts"
|
||||
hash = "1bf84ffd32dc25c932340de4588de5fa52b6606db6edd28a3a01274ef3c38dbd"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_32.d.ts"
|
||||
hash = "f06cd3ec507906530953fc43a356bb008687ec5795c4079f34aee89fe0f9ec08"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_33.d.ts"
|
||||
hash = "e0d0f7f60783e6be6de9901e7bc5505170d57f708007548c9fd0ad473042694c"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_34.d.ts"
|
||||
hash = "6000866a1f5f1c43a1fabc09264846a72ff3e6823698de57034c9683762d290b"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_35.d.ts"
|
||||
hash = "dc9eab8d37c1e62ba6d8b8570b23f09729e0cc9d7745523a0a3db268bb51e6bb"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_36.d.ts"
|
||||
hash = "d7386b73a33cef6e438918b66bacbff8439200cc596ae57a51b5b1d726ec8847"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_37.d.ts"
|
||||
hash = "c72f8476952d52a707681cae5192f16e2009232e5000e559079aa420168db87e"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_38.d.ts"
|
||||
hash = "6938f2290c5f442c64cfd2d0407449ab9564bd351f0d4744ab73934f9567a281"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_39.d.ts"
|
||||
hash = "efea49dc32e18c079ba632d877e2ec3e756036e64153d69a7a58c7abd7b3b9ee"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_4.d.ts"
|
||||
hash = "2b553642b2e81f61a9c0574034c164fc54063a6fb6f3004b15338baede322223"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_40.d.ts"
|
||||
hash = "47e2019ae09673d63e29b122bf6c66bdb6f20a1f0c7eec4dfd87df563984de74"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_41.d.ts"
|
||||
hash = "959fe62ec175d1f9a53843500293acc6db7f5eb2b89f0a70b792000d3d506358"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_42.d.ts"
|
||||
hash = "e6737ff3647560b3844d1576b4397fe911062bbeae2bc60f0a261699bc713589"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_43.d.ts"
|
||||
hash = "9ec6ce66382d04d5442e20b58d5e2eb5156456f320136fb7c87f0c2939a8dcab"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_44.d.ts"
|
||||
hash = "1fb4f28307f3fe6224748765b06531bd88f50bc3bea6aff377460a6e38d7a7eb"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_45.d.ts"
|
||||
hash = "482ef4dfca47a0ee451d6c76f002f8bc365bfe497bf3b30a868c13f27812f1f4"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_46.d.ts"
|
||||
hash = "e0304fbd850b01307fd91bdbe5ddbb7ca99cf71c6425ef79f08ac76a497a9877"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_47.d.ts"
|
||||
hash = "57bd96564f249e4c673a7bbe690ea18e8fd1e2a1e4e14110010ba45c20865dc9"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_48.d.ts"
|
||||
hash = "3ebf33e995efb718c39a6d1b9839e5d4e49dad590be74ba1dd81a77fe5bed9a6"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_49.d.ts"
|
||||
hash = "284d1e6031ba9d7ec5c1d9c399003ab48d2c97f7ab57aa36b4c2425be30c7633"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_5.d.ts"
|
||||
hash = "0bd73b349eff5efccb823faa7de4c4f8e7e3bdfac7d54218834cd124357d5d74"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_50.d.ts"
|
||||
hash = "287b4215e490c4d78c3cfb3f584f974a97d2b95a578bdbc1dd58984eb9186bda"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_51.d.ts"
|
||||
hash = "8722897f9a2d985b14ad3a68e46c3e5fd8740474f51b405c61cff33a4bd18df2"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_52.d.ts"
|
||||
hash = "563b42d4fa0fc85610b5e29981dd8557046f0beab96b54e036d85bf554870c34"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_53.d.ts"
|
||||
hash = "5adee5f7f0ad51fe5655c3b8e28b24ee9fc6c2ccb3af98e232b3628548fc677e"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_54.d.ts"
|
||||
hash = "c1e95ba91b4262f292713cb190740f47c563e052b559245ee895745f4e5f053a"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_55.d.ts"
|
||||
hash = "83a12c6c838a3b0bdddf2e4d210e1fa14e0b3f7c97d650b9a6806495778ed0bc"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_56.d.ts"
|
||||
hash = "dc5833122081c674952fead87ac12e4eb5222534f950a3a180caa6241a2b3a21"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_57.d.ts"
|
||||
hash = "ec11796e9c4d10d67f31606663188ff297cc9cdfeb2dea9717cd4447b040a87d"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_58.d.ts"
|
||||
hash = "334e63cfd4ff9554fe376734067d0b223765d55e6d7e7786c7e05bf47032d774"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_59.d.ts"
|
||||
hash = "b123afa30743083f59850998e285701afb3ef1bcc28192567666a1e4f42aaa29"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_6.d.ts"
|
||||
hash = "cd85c3f39085c300ede3d304318c69d3b5eb647308af51fa773ec5a2f984ff50"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_60.d.ts"
|
||||
hash = "ecabe1fb3e035dcd062b5dcd917dce9203a35f0d2664512acc31b1c5a609da80"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_61.d.ts"
|
||||
hash = "44f77c9a67f80a98f51fddd1d0666edbb3bbe64053be3e328a466869fc8df4e5"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_62.d.ts"
|
||||
hash = "ffe97e4483943cf8e28a11f85c2a5c6946fb3630d1be2563683626594ecbae4c"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_7.d.ts"
|
||||
hash = "76956a65954267852796116f363c3d3ed85c9c1790c57b6251ba8a60499ca49f"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_8.d.ts"
|
||||
hash = "2e0a8934c7151ad5fd5b76c92da7e6da3a8c294d2133221478eeb47ad18a5135"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/internals/internal_9.d.ts"
|
||||
hash = "4de08c233886a9c3e3343333701e4335f3b1046a55a43e82c5fc5ffddebaf344"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/names.d.ts"
|
||||
hash = "d1fe0c1e3467db9c16cb4f0788d8f307cae2499664c53206bac2a42fc875bdaa"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/raw.d.ts"
|
||||
hash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/registries.d.ts"
|
||||
hash = "df255f756df465a20d2cb0c4f5fd99464151abfe30b07cfedc456af772e67abb"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/probe/generated/tag_events.d.ts"
|
||||
hash = "11e270f145ea9f70a88b7fd3f81d4d1d2ce0461d99e3f5c674400b28b4df7cc6"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/config.js"
|
||||
hash = "2ddfe0c97692239f5da5345ae6ef205b24eda645e895c41f5c21ead9d39ec4cf"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/dimensions.js"
|
||||
hash = "ed4bbe0ce44a979d99d9eaf349deae606a66a666a54a55435890d319f6468ade"
|
||||
hash = "c3552991419c567c95e5f358706658ff2a81660604f697878297e9f091f85623"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/greeting.js"
|
||||
hash = "21b025bcdcdd2f007c2cc09598d2b03c7aa25eda71995d1246457385cef3fd2a"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/keep.js"
|
||||
hash = "b6c7c97c62ce6308042fd50f84a44ea516285af074b033ef7c8a302f2b8400eb"
|
||||
hash = "71a928c167ea49e6897603f2302043b9f83a7c1295026cd05d2223fc957169bb"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/rsapi-commands.js"
|
||||
hash = "51561835f16ee0c399532bc3d0f8cd05c4b65bcb08567a24ccaa2256a595b4d7"
|
||||
file = "kubejs/server_scripts/lib.js"
|
||||
hash = "5258c66e0ec980e1e587ea293751594c0d03ece9a57490c5e875ca6993bb21ed"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/rsapi-events.js"
|
||||
hash = "94e5e19adcee506246fb7d1ce202d2d9307e8f27b4aee314beedff2fbf76bd5c"
|
||||
file = "kubejs/server_scripts/rsapi.js"
|
||||
hash = "8ed5ffb14c844074cb650aaa0e8b20598c42c1d1ed8ef37c6554a9175ab123fe"
|
||||
|
||||
[[files]]
|
||||
file = "kubejs/server_scripts/warzone.js"
|
||||
hash = "bc1185a8579afb6fada57b27a06c34dea85a9873a66d8d22aac7c37a0a4d297a"
|
||||
|
||||
[[files]]
|
||||
file = "mods/3dskinlayers.pw.toml"
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"dimensions": [
|
||||
{
|
||||
"id": "retards:creative",
|
||||
"gamemode": "creative",
|
||||
"portal": {
|
||||
"material": "minecraft:glowstone",
|
||||
"fluid": "minecraft:water",
|
||||
"color": "#1E66F5"
|
||||
},
|
||||
"worldgen": {
|
||||
"minecraft:bedrock": 1,
|
||||
"minecraft:stone": 40,
|
||||
"minecraft:dirt": 8,
|
||||
"minecraft:grass_block": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "retards:adventure",
|
||||
"gamemode": "adventure",
|
||||
"portal": {
|
||||
"material": "minecraft:bedrock",
|
||||
"fluid": "minecraft:water",
|
||||
"color": "#1E66F5"
|
||||
},
|
||||
"worldgen": {
|
||||
"minecraft:bedrock": 1,
|
||||
"minecraft:stone": 40,
|
||||
"minecraft:dirt": 8,
|
||||
"minecraft:grass_block": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
17
kubejs/jsconfig.json
Normal file
17
kubejs/jsconfig.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"noEmit": true,
|
||||
"checkJs": true,
|
||||
"strict": true,
|
||||
"target": "ES2020",
|
||||
"module": "ES2020",
|
||||
"lib": ["ES2020", "DOM"],
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["*"]
|
||||
}
|
||||
},
|
||||
"include": ["**/*.js", "**/*.d.ts"],
|
||||
"exclude": ["probe/cache/**/*"]
|
||||
}
|
||||
61
kubejs/server_scripts/config.js
Normal file
61
kubejs/server_scripts/config.js
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/**
|
||||
* @type {{
|
||||
* dimensions: Array<{
|
||||
* id: string,
|
||||
* gamemode: string,
|
||||
* portal: {
|
||||
* material: string,
|
||||
* fluid: string,
|
||||
* color: string,
|
||||
* },
|
||||
* worldgen: {
|
||||
* [key: string]: number,
|
||||
* },
|
||||
* }>,
|
||||
* greeting: {
|
||||
* [key: string]: string
|
||||
* },
|
||||
* }}
|
||||
*/
|
||||
const config = {
|
||||
dimensions: [
|
||||
{
|
||||
id: "retards:creative",
|
||||
gamemode: "creative",
|
||||
portal: {
|
||||
material: "minecraft:glowstone",
|
||||
fluid: "minecraft:water",
|
||||
color: "#1E66F5",
|
||||
},
|
||||
worldgen: {
|
||||
"minecraft:bedrock": 1,
|
||||
"minecraft:stone": 40,
|
||||
"minecraft:dirt": 8,
|
||||
"minecraft:grass_block": 1,
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "retards:adventure",
|
||||
gamemode: "adventure",
|
||||
portal: {
|
||||
material: "minecraft:bedrock",
|
||||
fluid: "minecraft:water",
|
||||
color: "#1E66F5",
|
||||
},
|
||||
worldgen: {
|
||||
"minecraft:bedrock": 1,
|
||||
"minecraft:stone": 40,
|
||||
"minecraft:dirt": 8,
|
||||
"minecraft:grass_block": 1,
|
||||
},
|
||||
},
|
||||
],
|
||||
greeting: {
|
||||
Sbebas_s: "MCFLURRY!!!",
|
||||
Mark917: "CUCARACHA",
|
||||
Anthony_7: "onion rings",
|
||||
Tren_boy: "Kebab",
|
||||
Cheruz: "Fa freddo",
|
||||
default: "Welcome",
|
||||
},
|
||||
};
|
||||
|
|
@ -1,17 +1,3 @@
|
|||
// Creates and configures custom dimensions
|
||||
|
||||
const raw = JsonIO.readJson("kubejs/config/settings.json");
|
||||
const config = raw ? JSON.parse(raw.toString()) : {};
|
||||
|
||||
function hexToRgb(hex) {
|
||||
const h = hex.replace("#", "");
|
||||
return {
|
||||
r: parseInt(h.substring(0, 2), 16),
|
||||
g: parseInt(h.substring(2, 4), 16),
|
||||
b: parseInt(h.substring(4, 6), 16),
|
||||
};
|
||||
}
|
||||
|
||||
var portalColor;
|
||||
|
||||
ServerEvents.highPriorityData((event) => {
|
||||
|
|
@ -19,9 +5,8 @@ ServerEvents.highPriorityData((event) => {
|
|||
config.dimensions.forEach((dimension) => {
|
||||
const [modId, dimId] = dimension.id.split(":");
|
||||
|
||||
/////////////////
|
||||
/// DIMENSION ///
|
||||
/////////////////
|
||||
// Add dimension
|
||||
/** @type {any} */
|
||||
const dimJson = { type: "minecraft:overworld" };
|
||||
if (dimension.worldgen)
|
||||
dimJson["generator"] = {
|
||||
|
|
@ -41,13 +26,13 @@ ServerEvents.highPriorityData((event) => {
|
|||
};
|
||||
event.addJson(`${modId}:dimension/${dimId}.json`, dimJson);
|
||||
|
||||
//////////////
|
||||
/// PORTAL ///
|
||||
//////////////
|
||||
// Add portal
|
||||
const portal = dimension.portal;
|
||||
if (portal) {
|
||||
portalColor = hexToRgb(portal.color);
|
||||
event.addJson(`${modId}:portals/${dimId}.json`, {
|
||||
event.addJson(
|
||||
`${modId}:portals/${dimId}.json`,
|
||||
/** @type {any} */ ({
|
||||
block: portal.material,
|
||||
dim: dimension.id,
|
||||
r: portalColor.r,
|
||||
|
|
@ -55,15 +40,14 @@ ServerEvents.highPriorityData((event) => {
|
|||
b: portalColor.b,
|
||||
ignitionType: "FLUID",
|
||||
ignitionSource: portal.fluid,
|
||||
});
|
||||
}),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//////////////
|
||||
/// DIMINV ///
|
||||
//////////////
|
||||
// Setup Dimensional Inventories
|
||||
PlayerEvents.loggedIn((event) => {
|
||||
if (config.dimensions) {
|
||||
config.dimensions.forEach((dimension) => {
|
||||
|
|
@ -71,7 +55,10 @@ PlayerEvents.loggedIn((event) => {
|
|||
const data = event.server.persistentData;
|
||||
if (!data.getBoolean(`${dimId}Initialized`)) {
|
||||
data.putBoolean(`${dimId}Initialized`, true);
|
||||
event.server.scheduleInTicks(20, () => {
|
||||
event.server.scheduleInTicks(
|
||||
20,
|
||||
/** @type {any} */ (
|
||||
() => {
|
||||
event.server.runCommandSilent(`diminv pool ${dimId} create`);
|
||||
event.server.runCommandSilent(
|
||||
`diminv pool ${dimId} dimension ${dimension.id} assign`,
|
||||
|
|
@ -85,8 +72,21 @@ PlayerEvents.loggedIn((event) => {
|
|||
event.server.runCommandSilent(
|
||||
`diminv pool ${dimId} incrementStatistics false`,
|
||||
);
|
||||
});
|
||||
}
|
||||
),
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Disable entity spawning
|
||||
EntityEvents.checkSpawn((event) => {
|
||||
if (!event.level) return;
|
||||
|
||||
config.dimensions.forEach((dimension) => {
|
||||
if (event.level.dimension.toString() === dimension.id) {
|
||||
event.cancel();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
|
|||
11
kubejs/server_scripts/greeting.js
Normal file
11
kubejs/server_scripts/greeting.js
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
// Shows a greeting message on player join
|
||||
PlayerEvents.loggedIn((event) => {
|
||||
const username = event.player.username;
|
||||
title(
|
||||
event.server,
|
||||
username,
|
||||
config.greeting[username]
|
||||
? config.greeting[username]
|
||||
: config.greeting.default,
|
||||
);
|
||||
});
|
||||
|
|
@ -1,24 +1,29 @@
|
|||
// Makes Tickets of Eternal Keeping not consumed on death.
|
||||
|
||||
/** @type {Object<string, ?Internal.ItemStack>} */
|
||||
const tickets = {};
|
||||
|
||||
EntityEvents.death((event) => {
|
||||
// Register ticket on player death
|
||||
EntityEvents.death("player", (event) => {
|
||||
const player = event.player;
|
||||
if (event.entity.isPlayer()) {
|
||||
tickets[player.uuid] = null;
|
||||
const uuid = String(player.uuid);
|
||||
|
||||
player.inventory.allItems.forEach((item) => {
|
||||
if (item.nbt && item.nbt.EternalKeep) tickets[player.uuid] = item.copy();
|
||||
if (
|
||||
event.entity.isPlayer() &&
|
||||
String(player.level.dimension) !== "retards:adventure"
|
||||
) {
|
||||
tickets[uuid] = null;
|
||||
|
||||
iterateInventory(player, (item) => {
|
||||
if (item.nbt && item.nbt.get("EternalKeep")) tickets[uuid] = item.copy();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Give ticket on player respawn
|
||||
PlayerEvents.respawned((event) => {
|
||||
const player = event.player;
|
||||
const uuid = String(player.uuid);
|
||||
|
||||
const ticket = tickets[player.uuid];
|
||||
|
||||
if (ticket != null) player.give(Item.of(ticket, 1));
|
||||
|
||||
tickets[player.uuid] = null;
|
||||
const ticket = tickets[uuid];
|
||||
if (ticket) player.give(Item.of(ticket, 1));
|
||||
tickets[uuid] = null;
|
||||
});
|
||||
|
|
|
|||
127
kubejs/server_scripts/lib.js
Normal file
127
kubejs/server_scripts/lib.js
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
// priority: 100
|
||||
|
||||
/**
|
||||
* Converts a hex color to RGB.
|
||||
* @param {string} hex - The hex color.
|
||||
* @returns {{r: number, g: number, b: number}} - The resulting RGB.
|
||||
*/
|
||||
function hexToRgb(hex) {
|
||||
const h = hex.replace("#", "");
|
||||
return {
|
||||
r: parseInt(h.substring(0, 2), 16),
|
||||
g: parseInt(h.substring(2, 4), 16),
|
||||
b: parseInt(h.substring(4, 6), 16),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Iterates over a player's inventory.
|
||||
* @param {Internal.Player} player
|
||||
* @param {(item: Internal.ItemStack) => void} callback
|
||||
*/
|
||||
function iterateInventory(player, callback) {
|
||||
player.inventory.allItems.forEach(
|
||||
/** @type {any} */ (
|
||||
(/** @type {Internal.ItemStack} */ item) => {
|
||||
callback(item);
|
||||
}
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters entities in a level.
|
||||
* @param {Internal.ServerLevel} level
|
||||
* @param {(entity: Internal.Entity) => boolean} callback
|
||||
* @returns {Internal.EntityArrayList} - The filtered entities.
|
||||
*/
|
||||
function filterEntities(level, callback) {
|
||||
return level
|
||||
.getEntities()
|
||||
.filter(
|
||||
/** @type {any} */ (
|
||||
(/** @type {Internal.Entity} */ entity) => callback(entity)
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a title message to a player.
|
||||
* @param {Internal.MinecraftServer} server - The server instance.
|
||||
* @param {string} username - The player's username.
|
||||
* @param {string} message - The message to send.
|
||||
*/
|
||||
function title(server, username, message) {
|
||||
server.runCommandSilent("title @a times 20 200 20");
|
||||
server.runCommandSilent(`title ${username} title ["${message}"]`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a command.
|
||||
* @param {Internal.CommandRegistryEventJS} event
|
||||
* @param {{
|
||||
* command: string,
|
||||
* operator?: boolean,
|
||||
* handler?: (ctx: Internal.CommandContext<Internal.CommandSourceStack>) => void,
|
||||
* parameters?: Array<{
|
||||
* name: string,
|
||||
* type: Internal.ArgumentTypeWrappers,
|
||||
* handler?: (ctx: Internal.CommandContext<Internal.CommandSourceStack>) => void,
|
||||
* }>
|
||||
* }} options
|
||||
*/
|
||||
function registerCommand(event, options) {
|
||||
const command = options.command;
|
||||
const operator = options.operator !== undefined ? options.operator : false;
|
||||
const parameters = options.parameters !== undefined ? options.parameters : [];
|
||||
const handler = options.handler !== undefined ? options.handler : null;
|
||||
|
||||
const cmd = event.commands.literal(command);
|
||||
if (operator)
|
||||
cmd.requires(
|
||||
/** @type {any} */ (
|
||||
(/** @type {Internal.CommandSourceStack} */ source) =>
|
||||
source.hasPermission(2)
|
||||
),
|
||||
);
|
||||
|
||||
if (handler !== null)
|
||||
cmd.executes(
|
||||
/** @type {any} */ (
|
||||
/** @param {Internal.CommandContext<Internal.CommandSourceStack>} ctx */
|
||||
(ctx) => {
|
||||
handler(ctx);
|
||||
return 1;
|
||||
}
|
||||
),
|
||||
);
|
||||
|
||||
/** @type { Internal.LiteralArgumentBuilder<Internal.CommandSourceStack> | Internal.RequiredArgumentBuilder<Internal.CommandSourceStack, any> } */
|
||||
let current = cmd;
|
||||
parameters.forEach((param, index) => {
|
||||
const name = param.name;
|
||||
const type = param.type;
|
||||
const paramHandler = param.handler;
|
||||
const arg = event.commands.argument(name, type.create(event));
|
||||
const isLast = index === parameters.length - 1;
|
||||
|
||||
const finalHandler = paramHandler ? paramHandler : isLast ? handler : null;
|
||||
|
||||
if (finalHandler) {
|
||||
arg.executes(
|
||||
/** @type {any} */ (
|
||||
/** @param {Internal.CommandContext<Internal.CommandSourceStack>} ctx */
|
||||
(ctx) => {
|
||||
finalHandler(ctx);
|
||||
return 1;
|
||||
}
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
current.then(arg);
|
||||
current = arg;
|
||||
});
|
||||
|
||||
event.register(cmd);
|
||||
}
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
ServerEvents.commandRegistry((event) => {
|
||||
const { commands: Commands, arguments: Arguments } = event;
|
||||
|
||||
// /rsapi [<player>]
|
||||
function playerInventory(player) {
|
||||
const result = [];
|
||||
|
||||
function pushItem(pos, item) {
|
||||
if (item.isEmpty()) return;
|
||||
let nbtData = {};
|
||||
try {
|
||||
if (item.nbt) {
|
||||
nbtData = JSON.parse(item.nbt.toString());
|
||||
}
|
||||
} catch (e) {
|
||||
nbtData = {};
|
||||
}
|
||||
result.push([pos, item.id, item.count, nbtData]);
|
||||
}
|
||||
|
||||
// Main inventory (27 slots)
|
||||
player.inventory.items.forEach((item, i) => {
|
||||
pushItem(["inventory", i], item);
|
||||
});
|
||||
|
||||
// Hotbar (9 slots)
|
||||
// player.inventory.hotbar.forEach((item, i) => {
|
||||
// pushItem(["hotbar", i], item);
|
||||
// });
|
||||
|
||||
console.log(result);
|
||||
return 1;
|
||||
|
||||
// Armor
|
||||
// pushItem(["armor", "head"], player.headArmorItem);
|
||||
// pushItem(["armor", "chest"], player.chestArmorItem);
|
||||
// pushItem(["armor", "legs"], player.legsArmorItem);
|
||||
// pushItem(["armor", "feet"], player.feetArmorItem);
|
||||
|
||||
// Offhand
|
||||
// pushItem(["offhand", 0], player.offHandItem);
|
||||
|
||||
// Trinkets (if present)
|
||||
if (player.trinkets) {
|
||||
player.trinkets.groups.forEach((group) => {
|
||||
group.slots.forEach((slot) => {
|
||||
slot.items.forEach((item, index) => {
|
||||
pushItem(["trinkets", group.id, slot.id, index], item);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
console.log(JSON.stringify(result));
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
// /rsapi
|
||||
event.register(
|
||||
Commands.literal("rsapi")
|
||||
.requires((src) => src.hasPermission(2))
|
||||
.executes((ctx) => playerInventory(ctx.source.player))
|
||||
.then(
|
||||
// /rsapi [<player>]
|
||||
Commands.argument("target", Arguments.PLAYER.create(event)).executes(
|
||||
(ctx) => playerInventory(Arguments.PLAYER.getResult(ctx, "target")),
|
||||
),
|
||||
),
|
||||
);
|
||||
});
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
var _hooks = {};
|
||||
|
||||
function rsapi(event, id, data) {
|
||||
console.log(`rsapi:${id}:${JSON.stringify(data)}`);
|
||||
if (_hooks[id]) _hooks[id](event, data);
|
||||
}
|
||||
|
||||
const RSEvent = {
|
||||
on: (id, func) => {
|
||||
_hooks[id] = func;
|
||||
},
|
||||
};
|
||||
|
||||
function getData(event) {
|
||||
return {
|
||||
username: event.player ? String(event.player.username) : null,
|
||||
message: event.message ? String(event.message) : null,
|
||||
input: event.input ? String(event.input) : null,
|
||||
};
|
||||
}
|
||||
|
||||
///////////////////
|
||||
/// === API === ///
|
||||
///////////////////
|
||||
|
||||
// rsapi:event.playerJoined:"Player"
|
||||
PlayerEvents.loggedIn((event) => {
|
||||
const { username } = getData(event);
|
||||
rsapi(event, "event.playerJoined", username);
|
||||
});
|
||||
|
||||
// rsapi:event.playerLeft:"Player"
|
||||
PlayerEvents.loggedOut((event) => {
|
||||
const { username } = getData(event);
|
||||
rsapi(event, "event.playerLeft", username);
|
||||
});
|
||||
|
||||
// rsapi:event.playerChat:["Player","Message"]
|
||||
PlayerEvents.chat((event) => {
|
||||
const { username, message } = getData(event);
|
||||
rsapi(event, "event.playerChat", [username, message]);
|
||||
});
|
||||
|
||||
// rsapi:event.serverChat:"Message"
|
||||
ServerEvents.command("say", (event) => {
|
||||
const { input } = getData(event);
|
||||
rsapi(
|
||||
event,
|
||||
"event.serverChat",
|
||||
input.startsWith("say ") ? input.slice(4) : input,
|
||||
);
|
||||
});
|
||||
|
||||
// rsapi:event.playerDied:"Player"
|
||||
EntityEvents.death("player", (event) => {
|
||||
const { username } = getData(event);
|
||||
rsapi(event, "event.playerDied", username);
|
||||
});
|
||||
|
||||
/////////////////////
|
||||
/// === HOOKS === ///
|
||||
/////////////////////
|
||||
|
||||
RSEvent.on("event.playerJoined", (event, username) => {
|
||||
function title(player, message) {
|
||||
event.server.runCommandSilent("title @a times 20 200 20");
|
||||
event.server.runCommandSilent(
|
||||
"title " + player + ' title ["' + message + '"]',
|
||||
);
|
||||
}
|
||||
|
||||
if (username === "Sbebas_s") title(username, "MCFLURRY!!!!");
|
||||
else if (username === "Mark917") title(username, "CUCARACHA");
|
||||
else if (username === "Anthony_7") title(username, "onion rings");
|
||||
else if (username === "Tren_boy") title(username, "Kebab");
|
||||
else if (username === "Cheruz") title(username, "Basta\ngiocare\nnegro");
|
||||
else title(username, "Welcome");
|
||||
});
|
||||
42
kubejs/server_scripts/rsapi.js
Normal file
42
kubejs/server_scripts/rsapi.js
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
// priority: 90
|
||||
|
||||
/**
|
||||
* Runs an RSAPI callback.
|
||||
* @param {string} id
|
||||
* @param {*} data
|
||||
*/
|
||||
function rsapi(id, data) {
|
||||
console.log(`rsapi:${id}:${JSON.stringify(data)}`);
|
||||
}
|
||||
|
||||
// rsapi:event.playerJoined:"Player"
|
||||
PlayerEvents.loggedIn((event) => {
|
||||
const username = String(event.player.username);
|
||||
rsapi("event.playerJoined", username);
|
||||
});
|
||||
|
||||
// rsapi:event.playerLeft:"Player"
|
||||
PlayerEvents.loggedOut((event) => {
|
||||
const username = String(event.player.username);
|
||||
rsapi("event.playerLeft", username);
|
||||
});
|
||||
|
||||
// rsapi:event.playerChat:["Player","Message"]
|
||||
PlayerEvents.chat((event) => {
|
||||
const username = String(event.player.username);
|
||||
const message = String(event.message);
|
||||
rsapi("event.playerChat", [username, message]);
|
||||
});
|
||||
|
||||
// rsapi:event.serverChat:"Message"
|
||||
ServerEvents.command("say", (event) => {
|
||||
const input = String(event.input);
|
||||
const message = input.startsWith("say ") ? input.slice(4) : input;
|
||||
rsapi("event.serverChat", message);
|
||||
});
|
||||
|
||||
// rsapi:event.playerDied:"Player"
|
||||
EntityEvents.death("player", (event) => {
|
||||
const username = String(event.player.username);
|
||||
rsapi("event.playerDied", username);
|
||||
});
|
||||
250
kubejs/server_scripts/warzone.js
Normal file
250
kubejs/server_scripts/warzone.js
Normal file
|
|
@ -0,0 +1,250 @@
|
|||
/**
|
||||
* @type {{
|
||||
* guns: [Internal.ItemStack, Internal.ItemStack][],
|
||||
* items: Internal.ItemStack[],
|
||||
* }}
|
||||
*/
|
||||
var loot = { guns: [], items: [] };
|
||||
|
||||
/** @type {{[key: string]: number }} */
|
||||
var playerKills = {};
|
||||
/** @type {?string} */
|
||||
var playerBoss = null;
|
||||
|
||||
ServerEvents.commandRegistry((event) => {
|
||||
// /enter_warzone <target>
|
||||
registerCommand(event, {
|
||||
command: "enter_warzone",
|
||||
operator: true,
|
||||
parameters: [
|
||||
{
|
||||
name: "target",
|
||||
type: event.arguments.PLAYER,
|
||||
handler: (ctx) => {
|
||||
const server = ctx.source.server;
|
||||
const player = event.arguments.PLAYER.getResult(ctx, "target");
|
||||
|
||||
// Initialize scoreboards
|
||||
if (!server.persistentData.getBoolean("scoreboardsInitialized")) {
|
||||
server.runCommandSilent(
|
||||
`scoreboard objectives add warzone_kills dummy "Kills"`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`scoreboard objectives setdisplay sidebar warzone_kills`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`scoreboard objectives setdisplay belowName warzone_kills`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`scoreboard objectives add warzone_total_kills dummy "Total Kills"`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`scoreboard objectives setdisplay list warzone_total_kills`,
|
||||
);
|
||||
server.persistentData.putBoolean("scoreboardsInitialized", true);
|
||||
}
|
||||
|
||||
// Teleport to warzone
|
||||
server.runCommandSilent(
|
||||
`execute in retards:adventure run tp ${player.username} 424 122 552`,
|
||||
);
|
||||
|
||||
// Clear inventory
|
||||
server.runCommandSilent(`clear ${player.username}`);
|
||||
|
||||
// Initialize kill count
|
||||
const data = player.persistentData;
|
||||
if (!data.getInt("kills")) data.putInt("kills", 0);
|
||||
|
||||
// Set scoreboard kill count
|
||||
server.runCommandSilent(
|
||||
`scoreboard players set ${player.username} warzone_total_kills ${data.getInt("kills")}`,
|
||||
);
|
||||
|
||||
// Initialize kill streak
|
||||
playerKills[player.username] = 0;
|
||||
|
||||
// Set scoreboard kill streak
|
||||
server.runCommandSilent(
|
||||
`scoreboard players set ${player.username} warzone_kills 0`,
|
||||
);
|
||||
|
||||
// Toggle layout
|
||||
server.runCommandSilent(
|
||||
`fmlayout default_hud_layout false ${player.username}`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`fmlayout warzone_hud_layout true ${player.username}`,
|
||||
);
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// /exit_warzone <target>
|
||||
registerCommand(event, {
|
||||
command: "exit_warzone",
|
||||
operator: true,
|
||||
parameters: [
|
||||
{
|
||||
name: "target",
|
||||
type: event.arguments.PLAYER,
|
||||
handler: (ctx) => {
|
||||
const server = ctx.source.server;
|
||||
const player = event.arguments.PLAYER.getResult(ctx, "target");
|
||||
|
||||
// Teleport to portal
|
||||
server.runCommandSilent(
|
||||
`execute in retards:adventure run tp ${player.username} -103 -14 -82`,
|
||||
);
|
||||
|
||||
// Clear inventory
|
||||
server.runCommandSilent(`clear ${player.username}`);
|
||||
|
||||
// Remove from scoreboards
|
||||
server.runCommandSilent(
|
||||
`scoreboard players remove ${player.username} warzone_total_kills`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`scoreboard players remove ${player.username} warzone_kills`,
|
||||
);
|
||||
|
||||
// Toggle layout
|
||||
server.runCommandSilent(
|
||||
`fmlayout warzone_hud_layout false ${player.username}`,
|
||||
);
|
||||
server.runCommandSilent(
|
||||
`fmlayout default_hud_layout true ${player.username}`,
|
||||
);
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
// /warzone_load_loot_tables
|
||||
registerCommand(event, {
|
||||
command: "warzone_load_loot_tables",
|
||||
operator: true,
|
||||
handler: (ctx) => {
|
||||
const server = ctx.source.server;
|
||||
const level = server.getLevel("retards:adventure");
|
||||
|
||||
const itemFrames = filterEntities(
|
||||
level,
|
||||
(e) => e.type === "minecraft:item_frame",
|
||||
);
|
||||
|
||||
loot = { guns: [], items: [] };
|
||||
|
||||
const isAir = (/** @type {Internal.ItemStack} */ item) =>
|
||||
item.id === "minecraft:air";
|
||||
|
||||
for (var i = 0; i < itemFrames.size(); i++) {
|
||||
var frame = itemFrames.get(i);
|
||||
if (frame.item && frame.item.id === "minecraft:copper_ingot") {
|
||||
var pos = frame.blockPosition().below();
|
||||
var block = level.getBlock(pos);
|
||||
if (block.id == "minecraft:chest") {
|
||||
console.log(pos);
|
||||
/** @type {Internal.Optional<Internal.ChestBlockEntity>} */
|
||||
var chestEntity = level.getBlockEntity(pos, "chest");
|
||||
if (chestEntity.isPresent()) {
|
||||
/** @type {Internal.ChestBlockEntity} */
|
||||
var chest = chestEntity.get();
|
||||
for (var col = 0; col < 9; col++) {
|
||||
var first = chest.getItem(col).copy();
|
||||
var second = chest.getItem(col + 9).copy();
|
||||
var third = chest.getItem(col + 18).copy();
|
||||
|
||||
if (!isAir(first) && !isAir(second))
|
||||
loot.guns.push([first, second]);
|
||||
if (!isAir(third)) loot.items.push(third);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const gunCount = loot.guns.length;
|
||||
const itemCount = loot.items.length;
|
||||
|
||||
server.runCommandSilent(
|
||||
`say Loaded ${gunCount} guns and ${itemCount} items`,
|
||||
);
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
ServerEvents.tick((event) => {
|
||||
if (event.server.tickCount % 1200 !== 0) return;
|
||||
if (event.server.tickCount % 2400 === 0)
|
||||
event.server.runCommandSilent(
|
||||
"execute in retards:adventure run effect give @a[x=424,y=-1,z=552,distance=..128] minecraft:glowing 3 1 true",
|
||||
);
|
||||
const level = event.server.getLevel("retards:adventure");
|
||||
|
||||
const itemFrames = filterEntities(
|
||||
level,
|
||||
(entity) => entity.type === "minecraft:item_frame",
|
||||
);
|
||||
|
||||
for (var i = 0; i < itemFrames.size(); i++) {
|
||||
var frame = itemFrames.get(i);
|
||||
if (frame.item && frame.item.id === "minecraft:gunpowder") {
|
||||
var pos = frame.blockPosition().above().above();
|
||||
var block = level.getBlock(pos);
|
||||
if (block.id === "minecraft:chest") {
|
||||
/** @type {Internal.Optional<Internal.ChestBlockEntity>} */
|
||||
var chestEntity = level.getBlockEntity(pos, "chest");
|
||||
if (chestEntity.isPresent()) {
|
||||
/** @type {Internal.ChestBlockEntity} */
|
||||
var chest = chestEntity.get();
|
||||
chest.clearContent();
|
||||
var { guns, items } = loot;
|
||||
if (guns.length) {
|
||||
var [gun, ammo] = guns[Math.floor(Math.random() * guns.length)];
|
||||
chest.setItem(0, gun.copy());
|
||||
chest.setItem(1, ammo.copy());
|
||||
}
|
||||
if (items.length) {
|
||||
var item = items[Math.floor(Math.random() * items.length)];
|
||||
chest.setItem(2, item.copy());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
EntityEvents.death("player", (event) => {
|
||||
const killer = event.source.player;
|
||||
const victim = event.entity;
|
||||
|
||||
if (!killer) return;
|
||||
|
||||
// Increase killer total kill count
|
||||
const data = killer.persistentData;
|
||||
data.putInt("kills", data.getInt("kills") + 1);
|
||||
event.server.runCommandSilent(
|
||||
`scoreboard players set ${killer.username} warzone_total_kills ${data.getInt("kills")}`,
|
||||
);
|
||||
|
||||
// Increase killer kill streak
|
||||
if (!playerKills[killer.username]) playerKills[killer.username] = 0;
|
||||
playerKills[killer.username]++;
|
||||
event.server.runCommandSilent(
|
||||
`scoreboard players set ${killer.username} warzone_kills ${playerKills[killer.username]}`,
|
||||
);
|
||||
|
||||
// Reset victim kill streak
|
||||
playerKills[victim.username] = 0;
|
||||
event.server.runCommandSilent(
|
||||
`scoreboard players set ${victim.username} warzone_kills 0`,
|
||||
);
|
||||
|
||||
// Update player boss
|
||||
event.server.runCommandSilent(`effect clear ${playerBoss} minecraft:glowing`);
|
||||
for (const [username, kills] of Object.entries(playerKills))
|
||||
if (!playerBoss || kills > playerKills[playerBoss]) playerBoss = username;
|
||||
event.server.runCommandSilent(`effect clear ${playerBoss} minecraft:glowing`);
|
||||
});
|
||||
|
|
@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0"
|
|||
[index]
|
||||
file = "index.toml"
|
||||
hash-format = "sha256"
|
||||
hash = "dc720d3ef625d5bc29b1ff7b981efa4edf89dc11fd4529167813a298be08756d"
|
||||
hash = "eb615df8d9e9060e8732539fff7543656f0654aa55717a853d2fe7be2c084a53"
|
||||
|
||||
[versions]
|
||||
fabric = "0.18.4"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue