aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHacktheTime <l4bg0jb7@duck.com>2023-07-09 18:10:26 +0200
committerhackthetime <l4bg0jb7@duck.com>2023-09-05 08:21:41 +0200
commit95a750557c36971ecce5e5e207df35da5ae81c23 (patch)
treeaf27e8a195a0a190731d4b8dd5a1b835d1e82fb4
parent0e1630dd2afd2eb2f23d47ab89d646b81744fc9e (diff)
downloadBBsentials-95a750557c36971ecce5e5e207df35da5ae81c23.tar.gz
BBsentials-95a750557c36971ecce5e5e207df35da5ae81c23.tar.bz2
BBsentials-95a750557c36971ecce5e5e207df35da5ae81c23.zip
Added Client for BBsential Server
-rw-r--r--.gitignore2
-rw-r--r--run/.fabric/processedMods/antighost-1.19.3-fabric0.68.1-1.1.5-64b5720b4b825f21.jarbin45964 -> 45964 bytes
-rw-r--r--run/.fabric/processedMods/betterbeds-1.3.0-64b5720b4b825f21.jarbin50255 -> 50255 bytes
-rw-r--r--run/.fabric/processedMods/bettermounthud-1.2.2-64b5720b4b825f21.jarbin21015 -> 21015 bytes
-rw-r--r--run/.fabric/processedMods/caffeineconfig-1.1.0+1.17-bcaf9693f125021d.jarbin13867 -> 13867 bytes
-rw-r--r--run/.fabric/processedMods/capes-1.5.2+1.20-64b5720b4b825f21.jarbin170540 -> 170540 bytes
-rw-r--r--run/.fabric/processedMods/chat_heads-0.10.16-64b5720b4b825f21.jarbin45079 -> 45079 bytes
-rw-r--r--run/.fabric/processedMods/citresewn-1.1.3+1.20-64b5720b4b825f21.jarbin390403 -> 390403 bytes
-rw-r--r--run/.fabric/processedMods/citresewn-defaults-1.1.3+1.20-7076b54f88b6d836.jarbin223181 -> 223181 bytes
-rw-r--r--run/.fabric/processedMods/cloth-basic-math-0.6.1-17ea6dce277cc3b8.jarbin11697 -> 11697 bytes
-rw-r--r--run/.fabric/processedMods/cloth-config-11.0.99-64b5720b4b825f21.jarbin1151295 -> 1151295 bytes
-rw-r--r--run/.fabric/processedMods/com_akuleshov7_ktoml-core-jvm-0.4.1-e9272c81224d47c4.jarbin225436 -> 225436 bytes
-rw-r--r--run/.fabric/processedMods/com_electronwill_night-config_core-3.6.5-6101ee350e9a1f1.jarbin201384 -> 211281 bytes
-rw-r--r--run/.fabric/processedMods/com_electronwill_night-config_toml-3.6.5-e20002846e27490d.jarbin31893 -> 33187 bytes
-rw-r--r--run/.fabric/processedMods/com_github_llamalad7_mixinextras.2.0-beta.8-860d6c08bd5895cb.jarbin109689 -> 109689 bytes
-rw-r--r--run/.fabric/processedMods/com_moandjiezana_toml_toml4j-0.7.2-b4d6421ffa0bd06f.jarbin66103 -> 66103 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_common_common-image-3.9.4-e7d71c89d3bd9df3.jarbin88248 -> 88248 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_common_common-io-3.9.4-2bf324b9b2d6dab3.jarbin93002 -> 93002 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_common_common-lang-3.9.4-d436f6322794c292.jarbin124255 -> 124255 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-core-3.9.4-8d6a4438c38681f6.jarbin120530 -> 120530 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-webp-3.9.4-ae4139dd600339c3.jarbin80212 -> 80212 bytes
-rw-r--r--run/.fabric/processedMods/com_twelvemonkeys_imageio_imageiadata-3.9.4-fa7065863958c5fc.jarbin84785 -> 84785 bytes
-rw-r--r--run/.fabric/processedMods/conditional-mixin-0.3.2-dd37a05905f35dea.jarbin22738 -> 22738 bytes
-rw-r--r--run/.fabric/processedMods/continuity-3.0.0-beta.2+1.20-64b5720b4b825f21.jarbin1050451 -> 1050451 bytes
-rw-r--r--run/.fabric/processedMods/crowdin-translate-1.4+1.19.3-e7c940f69cf2d19e.jarbin26020 -> 26020 bytes
-rw-r--r--run/.fabric/processedMods/debugify-1.20.1+1.1-64b5720b4b825f21.jarbin357289 -> 357289 bytes
-rw-r--r--run/.fabric/processedMods/dev_isxander_settxi_settxi-core-2.10.6-2f4de042526145c9.jarbin91184 -> 91184 bytes
-rw-r--r--run/.fabric/processedMods/dev_isxander_settxi_settxi-kotlition-2.10.6-38e04dc8d625a569.jarbin15016 -> 15016 bytes
-rw-r--r--run/.fabric/processedMods/dynamicfps-2.3.0-64b5720b4b825f21.jarbin76643 -> 76643 bytes
-rw-r--r--run/.fabric/processedMods/e4mc_minecraft-3.2.0-64b5720b4b825f21.jarbin159172 -> 159172 bytes
-rw-r--r--run/.fabric/processedMods/entity_model_features-0.2.10-64b5720b4b825f21.jarbin451164 -> 451164 bytes
-rw-r--r--run/.fabric/processedMods/entity_texture_features-4.4.4-64b5720b4b825f21.jarbin437794 -> 437794 bytes
-rw-r--r--run/.fabric/processedMods/entityculling-1.6.2-mc1.20-64b5720b4b825f21.jarbin58354 -> 58354 bytes
-rw-r--r--run/.fabric/processedMods/fabric-api-0.83.1+1.20.1-64b5720b4b825f21.jarbin1969153 -> 1969153 bytes
-rw-r--r--run/.fabric/processedMods/fabric-command-api-v1-1.2.32+f71b366f77-a1540236707238ec.jarbin10779 -> 10779 bytes
-rw-r--r--run/.fabric/processedMods/fabric-commands-v0-0.2.49+df3654b377-55d14c49c546aeca.jarbin8542 -> 8542 bytes
-rw-r--r--run/.fabric/processedMods/fabric-containers-v0-0.1.61+df3654b377-9be501e547d4b7d7.jarbin21573 -> 21573 bytes
-rw-r--r--run/.fabric/processedMods/fabric-events-lifecycle-v0-0.2.6+df3654b377-c9e08438050291d9.jarbin19816 -> 19816 bytes
-rw-r--r--run/.fabric/processedMods/fabric-keybindings-v0-0.2.34+df3654b377-dee97229f08b7c50.jarbin11132 -> 11132 bytes
-rw-r--r--run/.fabric/processedMods/fabric-language-kotlin-1.9.5+kotlin.1.8.22-64b5720b4b825f21.jarbin6631040 -> 6631040 bytes
-rw-r--r--run/.fabric/processedMods/fabric-loot-tables-v1-1.1.41+9e7660c677-bb03cb2032e5265.jarbin25960 -> 25960 bytes
-rw-r--r--run/.fabric/processedMods/fabric-networking-v0-0.3.48+df3654b377-606aac7010e47f9e.jarbin27092 -> 27092 bytes
-rw-r--r--run/.fabric/processedMods/fabric-renderer-registries-v1-3.+df3654b377-4cd7e9cd22c4f600.jarbin15613 -> 15613 bytes
-rw-r--r--run/.fabric/processedMods/fabric-rendering-v0-1.1.47+df3654b377-7398d14c28b5993c.jarbin13911 -> 13911 bytes
-rw-r--r--run/.fabric/processedMods/fabricskyboxes-0.7.1+mc1.20-64b5720b4b825f21.jarbin182524 -> 182524 bytes
-rw-r--r--run/.fabric/processedMods/fabrishot-1.9.2-64b5720b4b825f21.jarbin43907 -> 43907 bytes
-rw-r--r--run/.fabric/processedMods/fadeless-1.0.1-64b5720b4b825f21.jarbin7154 -> 7154 bytes
-rw-r--r--run/.fabric/processedMods/ferritecore-6.0.0-64b5720b4b825f21.jarbin114908 -> 114908 bytes
-rw-r--r--run/.fabric/processedMods/fsb-interop-1.3.2+mc1.20-build.36-64b5720b4b825f21.jarbin46225 -> 46225 bytes
-rw-r--r--run/.fabric/processedMods/holdthatchunk-2.0.1-64b5720b4b825f21.jarbin25674 -> 25674 bytes
-rw-r--r--run/.fabric/processedMods/immediatelyfast-1.1.15+1.20.1-64b5720b4b825f21.jarbin242074 -> 242074 bytes
-rw-r--r--run/.fabric/processedMods/indium-1.0.18+mc1.20-64b5720b4b825f21.jarbin115743 -> 115743 bytes
-rw-r--r--run/.fabric/processedMods/io_github_douira_glsl-transforme2.0.0-pre13-6a7b6b04ca3b4902.jarbin735233 -> 735233 bytes
-rw-r--r--run/.fabric/processedMods/iris-1.6.4-64b5720b4b825f21.jarbin2422119 -> 2422119 bytes
-rw-r--r--run/.fabric/processedMods/isxander-main-menu-credits-1.1.2-64b5720b4b825f21.jarbin16602 -> 16602 bytes
-rw-r--r--run/.fabric/processedMods/languagereload-1.5.7+1.20-64b5720b4b825f21.jarbin65054 -> 65054 bytes
-rw-r--r--run/.fabric/processedMods/lithium-0.11.2-64b5720b4b825f21.jarbin647870 -> 647870 bytes
-rw-r--r--run/.fabric/processedMods/me_djtheredstoner_common_-1.1.2-d92fc9766f5d28cc.jarbin43691 -> 45188 bytes
-rw-r--r--run/.fabric/processedMods/memoryleakfix-1.1.1-64b5720b4b825f21.jarbin143751 -> 143751 bytes
-rw-r--r--run/.fabric/processedMods/midnightcontrols-1.8.2+1.20-64b5720b4b825f21.jarbin564528 -> 564528 bytes
-rw-r--r--run/.fabric/processedMods/midnightlib-1.4.1-a900538900a6fc06.jarbin58029 -> 58029 bytes
-rw-r--r--run/.fabric/processedMods/mixintrace-1.1.1+1.17-64b5720b4b825f21.jarbin35025 -> 35025 bytes
-rw-r--r--run/.fabric/processedMods/modelfix-1.10-64b5720b4b825f21.jarbin61701 -> 61701 bytes
-rw-r--r--run/.fabric/processedMods/modmenu-7.0.1-64b5720b4b825f21.jarbin719589 -> 719589 bytes
-rw-r--r--run/.fabric/processedMods/morechathistory-1.1.1-64b5720b4b825f21.jarbin10609 -> 10609 bytes
-rw-r--r--run/.fabric/processedMods/moreculling-1.20-0.18.0-64b5720b4b825f21.jarbin334980 -> 334980 bytes
-rw-r--r--run/.fabric/processedMods/net_lenni0451_reflect-1.1.0-366548725211ffca.jarbin49198 -> 49198 bytes
-rw-r--r--run/.fabric/processedMods/nochatreports-1.20.1-v2.2.1-64b5720b4b825f21.jarbin614016 -> 614016 bytes
-rw-r--r--run/.fabric/processedMods/optiglue-2.1.2-mc.1.19.3-1aaa2901e8f1ed20.jarbin31207 -> 31207 bytes
-rw-r--r--run/.fabric/processedMods/optigui-2.1.2-64b5720b4b825f21.jarbin727762 -> 727762 bytes
-rw-r--r--run/.fabric/processedMods/org_anarres_jcpp-1.4.14-63555bd60a187a13.jarbin79442 -> 79442 bytes
-rw-r--r--run/.fabric/processedMods/org_antlr_antlr4-runtime-4.11.1-d9d901aa6c03fd48.jarbin341697 -> 341697 bytes
-rw-r--r--run/.fabric/processedMods/org_apache_commons_commons-text-1.10.0-bda1a4088f6c5f8a.jarbin251310 -> 251310 bytes
-rw-r--r--run/.fabric/processedMods/org_apache_httpcomponents_httpmime-4.5.10-99ec55876d7a8a8f.jarbin43796 -> 43796 bytes
-rw-r--r--run/.fabric/processedMods/org_aperlambda_lambdajcommon-1.8.1-99173ded6b6993b8.jarbin48113 -> 48113 bytes
-rw-r--r--run/.fabric/processedMods/org_ini4j_ini4j-0.5.4-747aa3a63cd36f82.jarbin108496 -> 108496 bytes
-rw-r--r--run/.fabric/processedMods/org_java-websocket_java-websocket-1.5.3-6e12b6f022bb1c3c.jarbin139342 -> 139342 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-reflect-1.8.22-f2626f7563424b32.jarbin3333917 -> 3333917 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdlib-1.8.22-b3eebd347af2cde2.jarbin1739920 -> 1739920 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk7-1.8.22-d1cf2136d849df87.jarbin720 -> 720 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk8-1.8.22-80e310db973a4ce9.jarbin719 -> 719 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_atomicfu-jvm-0.20.2-50d9a3e72939be5b.jarbin38075 -> 38075 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-co-jdk8-1.7.1-b355efeb079eab30.jarbin831 -> 831 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.1-d2fa1ba1e2a4653e.jarbin1608040 -> 1608040 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-dae-jvm-0.4.0-a246c7c993efa541.jarbin166183 -> 166183 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-see-jvm-1.5.1-a7135ab57b637972.jarbin433714 -> 433714 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-sen-jvm-1.5.1-795811f38d13c720.jarbin262680 -> 262680 bytes
-rw-r--r--run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-ser-jvm-1.5.1-a5a090eddd3bd65a.jarbin35586 -> 35586 bytes
-rw-r--r--run/.fabric/processedMods/puzzle-1.5.1+1.20-64b5720b4b825f21.jarbin133096 -> 133096 bytes
-rw-r--r--run/.fabric/processedMods/puzzle-base-1.5.1+1.20-57e3d921200c4070.jarbin14224 -> 14224 bytes
-rw-r--r--run/.fabric/processedMods/puzzle-gui-1.5.1+1.20-5540cc9385d01d03.jarbin41782 -> 41782 bytes
-rw-r--r--run/.fabric/processedMods/puzzle-models-1.5.1+1.20-18054042328d5130.jarbin6402 -> 6402 bytes
-rw-r--r--run/.fabric/processedMods/puzzle-splashscreen-1.5.1+1.20-2ea9f12402384e62.jarbin16356 -> 16356 bytes
-rw-r--r--run/.fabric/processedMods/reeses-sodium-options-1.5.1+mc1.20-build.74-64b5720b4b825f21.jarbin54431 -> 54431 bytes
-rw-r--r--run/.fabric/processedMods/sodium-0.4.10+build.27-64b5720b4b825f21.jarbin719604 -> 719604 bytes
-rw-r--r--run/.fabric/processedMods/sodium-extra-0.4.20+mc1.20-build.103-64b5720b4b825f21.jarbin339489 -> 339489 bytes
-rw-r--r--run/.fabric/processedMods/spruceui-5.0.0+1.20-a7e7164e506142b1.jarbin191303 -> 191303 bytes
-rw-r--r--run/.fabric/processedMods/symbol-chat-1.20.1-1.0.1-64b5720b4b825f21.jarbin163191 -> 163191 bytes
-rw-r--r--run/.fabric/processedMods/yet_another_config_lib_v3-3.0.1+1.20-64b5720b4b825f21.jarbin788367 -> 788367 bytes
-rw-r--r--run/.fabric/processedMods/yosbr-0.1.2-64b5720b4b825f21.jarbin17388 -> 17388 bytes
-rw-r--r--run/.fabric/processedMods/zoomify-2.10.0-64b5720b4b825f21.jarbin735831 -> 735831 bytes
-rw-r--r--run/config/indium-renderer.properties2
-rw-r--r--run/config/iris.properties2
-rw-r--r--run/mods/DevAuth-fabric-1.1.2.jarbin0 -> 271075 bytes
-rw-r--r--run/usercache.json0
-rw-r--r--src/main/java/de/hype/bbsentials/client/Commands.java290
106 files changed, 293 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index 1a99b58..0f47c9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,4 +44,4 @@
/run/config/sodium-extra-options.json
/run/config/symbol-chat.json
/run/usercache.json
-/run/config/zoomify.json
+/run/config/zoomify.json \ No newline at end of file
diff --git a/run/.fabric/processedMods/antighost-1.19.3-fabric0.68.1-1.1.5-64b5720b4b825f21.jar b/run/.fabric/processedMods/antighost-1.19.3-fabric0.68.1-1.1.5-64b5720b4b825f21.jar
index 9526659..5dd2d3f 100644
--- a/run/.fabric/processedMods/antighost-1.19.3-fabric0.68.1-1.1.5-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/antighost-1.19.3-fabric0.68.1-1.1.5-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/betterbeds-1.3.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/betterbeds-1.3.0-64b5720b4b825f21.jar
index 754ea85..cab0138 100644
--- a/run/.fabric/processedMods/betterbeds-1.3.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/betterbeds-1.3.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/bettermounthud-1.2.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/bettermounthud-1.2.2-64b5720b4b825f21.jar
index 9d04f88..94b3712 100644
--- a/run/.fabric/processedMods/bettermounthud-1.2.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/bettermounthud-1.2.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/caffeineconfig-1.1.0+1.17-bcaf9693f125021d.jar b/run/.fabric/processedMods/caffeineconfig-1.1.0+1.17-bcaf9693f125021d.jar
index 2a89e9b..e908ac7 100644
--- a/run/.fabric/processedMods/caffeineconfig-1.1.0+1.17-bcaf9693f125021d.jar
+++ b/run/.fabric/processedMods/caffeineconfig-1.1.0+1.17-bcaf9693f125021d.jar
Binary files differ
diff --git a/run/.fabric/processedMods/capes-1.5.2+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/capes-1.5.2+1.20-64b5720b4b825f21.jar
index 7c9d1d1..ab8b8c6 100644
--- a/run/.fabric/processedMods/capes-1.5.2+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/capes-1.5.2+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/chat_heads-0.10.16-64b5720b4b825f21.jar b/run/.fabric/processedMods/chat_heads-0.10.16-64b5720b4b825f21.jar
index 1ceb695..32b74cc 100644
--- a/run/.fabric/processedMods/chat_heads-0.10.16-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/chat_heads-0.10.16-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/citresewn-1.1.3+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/citresewn-1.1.3+1.20-64b5720b4b825f21.jar
index a202e33..77c13e0 100644
--- a/run/.fabric/processedMods/citresewn-1.1.3+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/citresewn-1.1.3+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/citresewn-defaults-1.1.3+1.20-7076b54f88b6d836.jar b/run/.fabric/processedMods/citresewn-defaults-1.1.3+1.20-7076b54f88b6d836.jar
index 5cd0ef4..8169df0 100644
--- a/run/.fabric/processedMods/citresewn-defaults-1.1.3+1.20-7076b54f88b6d836.jar
+++ b/run/.fabric/processedMods/citresewn-defaults-1.1.3+1.20-7076b54f88b6d836.jar
Binary files differ
diff --git a/run/.fabric/processedMods/cloth-basic-math-0.6.1-17ea6dce277cc3b8.jar b/run/.fabric/processedMods/cloth-basic-math-0.6.1-17ea6dce277cc3b8.jar
index 667b458..7ead1a8 100644
--- a/run/.fabric/processedMods/cloth-basic-math-0.6.1-17ea6dce277cc3b8.jar
+++ b/run/.fabric/processedMods/cloth-basic-math-0.6.1-17ea6dce277cc3b8.jar
Binary files differ
diff --git a/run/.fabric/processedMods/cloth-config-11.0.99-64b5720b4b825f21.jar b/run/.fabric/processedMods/cloth-config-11.0.99-64b5720b4b825f21.jar
index ea8cfaf..40a0f65 100644
--- a/run/.fabric/processedMods/cloth-config-11.0.99-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/cloth-config-11.0.99-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_akuleshov7_ktoml-core-jvm-0.4.1-e9272c81224d47c4.jar b/run/.fabric/processedMods/com_akuleshov7_ktoml-core-jvm-0.4.1-e9272c81224d47c4.jar
index da071ab..729bf32 100644
--- a/run/.fabric/processedMods/com_akuleshov7_ktoml-core-jvm-0.4.1-e9272c81224d47c4.jar
+++ b/run/.fabric/processedMods/com_akuleshov7_ktoml-core-jvm-0.4.1-e9272c81224d47c4.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_electronwill_night-config_core-3.6.5-6101ee350e9a1f1.jar b/run/.fabric/processedMods/com_electronwill_night-config_core-3.6.5-6101ee350e9a1f1.jar
index 43ba571..fffcc48 100644
--- a/run/.fabric/processedMods/com_electronwill_night-config_core-3.6.5-6101ee350e9a1f1.jar
+++ b/run/.fabric/processedMods/com_electronwill_night-config_core-3.6.5-6101ee350e9a1f1.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_electronwill_night-config_toml-3.6.5-e20002846e27490d.jar b/run/.fabric/processedMods/com_electronwill_night-config_toml-3.6.5-e20002846e27490d.jar
index f507765..45c4902 100644
--- a/run/.fabric/processedMods/com_electronwill_night-config_toml-3.6.5-e20002846e27490d.jar
+++ b/run/.fabric/processedMods/com_electronwill_night-config_toml-3.6.5-e20002846e27490d.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_github_llamalad7_mixinextras.2.0-beta.8-860d6c08bd5895cb.jar b/run/.fabric/processedMods/com_github_llamalad7_mixinextras.2.0-beta.8-860d6c08bd5895cb.jar
index e6a61f8..f73e25a 100644
--- a/run/.fabric/processedMods/com_github_llamalad7_mixinextras.2.0-beta.8-860d6c08bd5895cb.jar
+++ b/run/.fabric/processedMods/com_github_llamalad7_mixinextras.2.0-beta.8-860d6c08bd5895cb.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_moandjiezana_toml_toml4j-0.7.2-b4d6421ffa0bd06f.jar b/run/.fabric/processedMods/com_moandjiezana_toml_toml4j-0.7.2-b4d6421ffa0bd06f.jar
index 8b7515a..c823bdd 100644
--- a/run/.fabric/processedMods/com_moandjiezana_toml_toml4j-0.7.2-b4d6421ffa0bd06f.jar
+++ b/run/.fabric/processedMods/com_moandjiezana_toml_toml4j-0.7.2-b4d6421ffa0bd06f.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_common_common-image-3.9.4-e7d71c89d3bd9df3.jar b/run/.fabric/processedMods/com_twelvemonkeys_common_common-image-3.9.4-e7d71c89d3bd9df3.jar
index 60dd62a..e3753c0 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_common_common-image-3.9.4-e7d71c89d3bd9df3.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_common_common-image-3.9.4-e7d71c89d3bd9df3.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_common_common-io-3.9.4-2bf324b9b2d6dab3.jar b/run/.fabric/processedMods/com_twelvemonkeys_common_common-io-3.9.4-2bf324b9b2d6dab3.jar
index a062dbf..ba9b92c 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_common_common-io-3.9.4-2bf324b9b2d6dab3.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_common_common-io-3.9.4-2bf324b9b2d6dab3.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_common_common-lang-3.9.4-d436f6322794c292.jar b/run/.fabric/processedMods/com_twelvemonkeys_common_common-lang-3.9.4-d436f6322794c292.jar
index 83ba995..5d6b83f 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_common_common-lang-3.9.4-d436f6322794c292.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_common_common-lang-3.9.4-d436f6322794c292.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-core-3.9.4-8d6a4438c38681f6.jar b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-core-3.9.4-8d6a4438c38681f6.jar
index b5b92f4..8a01ae9 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-core-3.9.4-8d6a4438c38681f6.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-core-3.9.4-8d6a4438c38681f6.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-webp-3.9.4-ae4139dd600339c3.jar b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-webp-3.9.4-ae4139dd600339c3.jar
index 875c003..08186f5 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-webp-3.9.4-ae4139dd600339c3.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imagei-webp-3.9.4-ae4139dd600339c3.jar
Binary files differ
diff --git a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imageiadata-3.9.4-fa7065863958c5fc.jar b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imageiadata-3.9.4-fa7065863958c5fc.jar
index 7211f06..8bccf94 100644
--- a/run/.fabric/processedMods/com_twelvemonkeys_imageio_imageiadata-3.9.4-fa7065863958c5fc.jar
+++ b/run/.fabric/processedMods/com_twelvemonkeys_imageio_imageiadata-3.9.4-fa7065863958c5fc.jar
Binary files differ
diff --git a/run/.fabric/processedMods/conditional-mixin-0.3.2-dd37a05905f35dea.jar b/run/.fabric/processedMods/conditional-mixin-0.3.2-dd37a05905f35dea.jar
index 5ffac21..dd6000f 100644
--- a/run/.fabric/processedMods/conditional-mixin-0.3.2-dd37a05905f35dea.jar
+++ b/run/.fabric/processedMods/conditional-mixin-0.3.2-dd37a05905f35dea.jar
Binary files differ
diff --git a/run/.fabric/processedMods/continuity-3.0.0-beta.2+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/continuity-3.0.0-beta.2+1.20-64b5720b4b825f21.jar
index 2dfe599..3fb2fe1 100644
--- a/run/.fabric/processedMods/continuity-3.0.0-beta.2+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/continuity-3.0.0-beta.2+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/crowdin-translate-1.4+1.19.3-e7c940f69cf2d19e.jar b/run/.fabric/processedMods/crowdin-translate-1.4+1.19.3-e7c940f69cf2d19e.jar
index 8d84a83..aed93a2 100644
--- a/run/.fabric/processedMods/crowdin-translate-1.4+1.19.3-e7c940f69cf2d19e.jar
+++ b/run/.fabric/processedMods/crowdin-translate-1.4+1.19.3-e7c940f69cf2d19e.jar
Binary files differ
diff --git a/run/.fabric/processedMods/debugify-1.20.1+1.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/debugify-1.20.1+1.1-64b5720b4b825f21.jar
index b8352da..9b5ccfa 100644
--- a/run/.fabric/processedMods/debugify-1.20.1+1.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/debugify-1.20.1+1.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/dev_isxander_settxi_settxi-core-2.10.6-2f4de042526145c9.jar b/run/.fabric/processedMods/dev_isxander_settxi_settxi-core-2.10.6-2f4de042526145c9.jar
index 178b934..e4b3801 100644
--- a/run/.fabric/processedMods/dev_isxander_settxi_settxi-core-2.10.6-2f4de042526145c9.jar
+++ b/run/.fabric/processedMods/dev_isxander_settxi_settxi-core-2.10.6-2f4de042526145c9.jar
Binary files differ
diff --git a/run/.fabric/processedMods/dev_isxander_settxi_settxi-kotlition-2.10.6-38e04dc8d625a569.jar b/run/.fabric/processedMods/dev_isxander_settxi_settxi-kotlition-2.10.6-38e04dc8d625a569.jar
index 3717b0a..f9830b4 100644
--- a/run/.fabric/processedMods/dev_isxander_settxi_settxi-kotlition-2.10.6-38e04dc8d625a569.jar
+++ b/run/.fabric/processedMods/dev_isxander_settxi_settxi-kotlition-2.10.6-38e04dc8d625a569.jar
Binary files differ
diff --git a/run/.fabric/processedMods/dynamicfps-2.3.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/dynamicfps-2.3.0-64b5720b4b825f21.jar
index 22ee6f8..042b191 100644
--- a/run/.fabric/processedMods/dynamicfps-2.3.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/dynamicfps-2.3.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/e4mc_minecraft-3.2.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/e4mc_minecraft-3.2.0-64b5720b4b825f21.jar
index 4de6e46..b6488e9 100644
--- a/run/.fabric/processedMods/e4mc_minecraft-3.2.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/e4mc_minecraft-3.2.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/entity_model_features-0.2.10-64b5720b4b825f21.jar b/run/.fabric/processedMods/entity_model_features-0.2.10-64b5720b4b825f21.jar
index 9adc627..7ed533e 100644
--- a/run/.fabric/processedMods/entity_model_features-0.2.10-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/entity_model_features-0.2.10-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/entity_texture_features-4.4.4-64b5720b4b825f21.jar b/run/.fabric/processedMods/entity_texture_features-4.4.4-64b5720b4b825f21.jar
index 94d785a..e810d40 100644
--- a/run/.fabric/processedMods/entity_texture_features-4.4.4-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/entity_texture_features-4.4.4-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/entityculling-1.6.2-mc1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/entityculling-1.6.2-mc1.20-64b5720b4b825f21.jar
index 183a1e5..48a393e 100644
--- a/run/.fabric/processedMods/entityculling-1.6.2-mc1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/entityculling-1.6.2-mc1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-api-0.83.1+1.20.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/fabric-api-0.83.1+1.20.1-64b5720b4b825f21.jar
index 864a801..068e268 100644
--- a/run/.fabric/processedMods/fabric-api-0.83.1+1.20.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fabric-api-0.83.1+1.20.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-command-api-v1-1.2.32+f71b366f77-a1540236707238ec.jar b/run/.fabric/processedMods/fabric-command-api-v1-1.2.32+f71b366f77-a1540236707238ec.jar
index 827425a..fee7dd4 100644
--- a/run/.fabric/processedMods/fabric-command-api-v1-1.2.32+f71b366f77-a1540236707238ec.jar
+++ b/run/.fabric/processedMods/fabric-command-api-v1-1.2.32+f71b366f77-a1540236707238ec.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-commands-v0-0.2.49+df3654b377-55d14c49c546aeca.jar b/run/.fabric/processedMods/fabric-commands-v0-0.2.49+df3654b377-55d14c49c546aeca.jar
index f4a2249..da44042 100644
--- a/run/.fabric/processedMods/fabric-commands-v0-0.2.49+df3654b377-55d14c49c546aeca.jar
+++ b/run/.fabric/processedMods/fabric-commands-v0-0.2.49+df3654b377-55d14c49c546aeca.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-containers-v0-0.1.61+df3654b377-9be501e547d4b7d7.jar b/run/.fabric/processedMods/fabric-containers-v0-0.1.61+df3654b377-9be501e547d4b7d7.jar
index b22fe14..e9b3a91 100644
--- a/run/.fabric/processedMods/fabric-containers-v0-0.1.61+df3654b377-9be501e547d4b7d7.jar
+++ b/run/.fabric/processedMods/fabric-containers-v0-0.1.61+df3654b377-9be501e547d4b7d7.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-events-lifecycle-v0-0.2.6+df3654b377-c9e08438050291d9.jar b/run/.fabric/processedMods/fabric-events-lifecycle-v0-0.2.6+df3654b377-c9e08438050291d9.jar
index 1b53ded..812224b 100644
--- a/run/.fabric/processedMods/fabric-events-lifecycle-v0-0.2.6+df3654b377-c9e08438050291d9.jar
+++ b/run/.fabric/processedMods/fabric-events-lifecycle-v0-0.2.6+df3654b377-c9e08438050291d9.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-keybindings-v0-0.2.34+df3654b377-dee97229f08b7c50.jar b/run/.fabric/processedMods/fabric-keybindings-v0-0.2.34+df3654b377-dee97229f08b7c50.jar
index b74bda6..f6f7174 100644
--- a/run/.fabric/processedMods/fabric-keybindings-v0-0.2.34+df3654b377-dee97229f08b7c50.jar
+++ b/run/.fabric/processedMods/fabric-keybindings-v0-0.2.34+df3654b377-dee97229f08b7c50.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-language-kotlin-1.9.5+kotlin.1.8.22-64b5720b4b825f21.jar b/run/.fabric/processedMods/fabric-language-kotlin-1.9.5+kotlin.1.8.22-64b5720b4b825f21.jar
index fcf9d30..5e9e236 100644
--- a/run/.fabric/processedMods/fabric-language-kotlin-1.9.5+kotlin.1.8.22-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fabric-language-kotlin-1.9.5+kotlin.1.8.22-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-loot-tables-v1-1.1.41+9e7660c677-bb03cb2032e5265.jar b/run/.fabric/processedMods/fabric-loot-tables-v1-1.1.41+9e7660c677-bb03cb2032e5265.jar
index b35e47c..21a6a05 100644
--- a/run/.fabric/processedMods/fabric-loot-tables-v1-1.1.41+9e7660c677-bb03cb2032e5265.jar
+++ b/run/.fabric/processedMods/fabric-loot-tables-v1-1.1.41+9e7660c677-bb03cb2032e5265.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-networking-v0-0.3.48+df3654b377-606aac7010e47f9e.jar b/run/.fabric/processedMods/fabric-networking-v0-0.3.48+df3654b377-606aac7010e47f9e.jar
index 2108a63..aad42ab 100644
--- a/run/.fabric/processedMods/fabric-networking-v0-0.3.48+df3654b377-606aac7010e47f9e.jar
+++ b/run/.fabric/processedMods/fabric-networking-v0-0.3.48+df3654b377-606aac7010e47f9e.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-renderer-registries-v1-3.+df3654b377-4cd7e9cd22c4f600.jar b/run/.fabric/processedMods/fabric-renderer-registries-v1-3.+df3654b377-4cd7e9cd22c4f600.jar
index 70d33c9..56bfff4 100644
--- a/run/.fabric/processedMods/fabric-renderer-registries-v1-3.+df3654b377-4cd7e9cd22c4f600.jar
+++ b/run/.fabric/processedMods/fabric-renderer-registries-v1-3.+df3654b377-4cd7e9cd22c4f600.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabric-rendering-v0-1.1.47+df3654b377-7398d14c28b5993c.jar b/run/.fabric/processedMods/fabric-rendering-v0-1.1.47+df3654b377-7398d14c28b5993c.jar
index 8263bc7..76193f5 100644
--- a/run/.fabric/processedMods/fabric-rendering-v0-1.1.47+df3654b377-7398d14c28b5993c.jar
+++ b/run/.fabric/processedMods/fabric-rendering-v0-1.1.47+df3654b377-7398d14c28b5993c.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabricskyboxes-0.7.1+mc1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/fabricskyboxes-0.7.1+mc1.20-64b5720b4b825f21.jar
index f32b117..6c96246 100644
--- a/run/.fabric/processedMods/fabricskyboxes-0.7.1+mc1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fabricskyboxes-0.7.1+mc1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fabrishot-1.9.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/fabrishot-1.9.2-64b5720b4b825f21.jar
index 099395e..afd7ab3 100644
--- a/run/.fabric/processedMods/fabrishot-1.9.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fabrishot-1.9.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fadeless-1.0.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/fadeless-1.0.1-64b5720b4b825f21.jar
index ea357c8..c102d46 100644
--- a/run/.fabric/processedMods/fadeless-1.0.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fadeless-1.0.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/ferritecore-6.0.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/ferritecore-6.0.0-64b5720b4b825f21.jar
index e9ed53c..b2a4556 100644
--- a/run/.fabric/processedMods/ferritecore-6.0.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/ferritecore-6.0.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/fsb-interop-1.3.2+mc1.20-build.36-64b5720b4b825f21.jar b/run/.fabric/processedMods/fsb-interop-1.3.2+mc1.20-build.36-64b5720b4b825f21.jar
index d398dce..635d8b0 100644
--- a/run/.fabric/processedMods/fsb-interop-1.3.2+mc1.20-build.36-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/fsb-interop-1.3.2+mc1.20-build.36-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/holdthatchunk-2.0.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/holdthatchunk-2.0.1-64b5720b4b825f21.jar
index 27fcfa6..b493dcc 100644
--- a/run/.fabric/processedMods/holdthatchunk-2.0.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/holdthatchunk-2.0.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/immediatelyfast-1.1.15+1.20.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/immediatelyfast-1.1.15+1.20.1-64b5720b4b825f21.jar
index 8b5860b..103780a 100644
--- a/run/.fabric/processedMods/immediatelyfast-1.1.15+1.20.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/immediatelyfast-1.1.15+1.20.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/indium-1.0.18+mc1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/indium-1.0.18+mc1.20-64b5720b4b825f21.jar
index fffe89e..ef73e42 100644
--- a/run/.fabric/processedMods/indium-1.0.18+mc1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/indium-1.0.18+mc1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/io_github_douira_glsl-transforme2.0.0-pre13-6a7b6b04ca3b4902.jar b/run/.fabric/processedMods/io_github_douira_glsl-transforme2.0.0-pre13-6a7b6b04ca3b4902.jar
index 1b9f16f..0b56074 100644
--- a/run/.fabric/processedMods/io_github_douira_glsl-transforme2.0.0-pre13-6a7b6b04ca3b4902.jar
+++ b/run/.fabric/processedMods/io_github_douira_glsl-transforme2.0.0-pre13-6a7b6b04ca3b4902.jar
Binary files differ
diff --git a/run/.fabric/processedMods/iris-1.6.4-64b5720b4b825f21.jar b/run/.fabric/processedMods/iris-1.6.4-64b5720b4b825f21.jar
index 68240dc..aee106d 100644
--- a/run/.fabric/processedMods/iris-1.6.4-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/iris-1.6.4-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/isxander-main-menu-credits-1.1.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/isxander-main-menu-credits-1.1.2-64b5720b4b825f21.jar
index e3e892b..9d856c7 100644
--- a/run/.fabric/processedMods/isxander-main-menu-credits-1.1.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/isxander-main-menu-credits-1.1.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/languagereload-1.5.7+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/languagereload-1.5.7+1.20-64b5720b4b825f21.jar
index 4382cb4..f989bee 100644
--- a/run/.fabric/processedMods/languagereload-1.5.7+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/languagereload-1.5.7+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/lithium-0.11.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/lithium-0.11.2-64b5720b4b825f21.jar
index c0ae488..3cbbb81 100644
--- a/run/.fabric/processedMods/lithium-0.11.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/lithium-0.11.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/me_djtheredstoner_common_-1.1.2-d92fc9766f5d28cc.jar b/run/.fabric/processedMods/me_djtheredstoner_common_-1.1.2-d92fc9766f5d28cc.jar
index ca8e62d..5ed430c 100644
--- a/run/.fabric/processedMods/me_djtheredstoner_common_-1.1.2-d92fc9766f5d28cc.jar
+++ b/run/.fabric/processedMods/me_djtheredstoner_common_-1.1.2-d92fc9766f5d28cc.jar
Binary files differ
diff --git a/run/.fabric/processedMods/memoryleakfix-1.1.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/memoryleakfix-1.1.1-64b5720b4b825f21.jar
index 8171497..4a58981 100644
--- a/run/.fabric/processedMods/memoryleakfix-1.1.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/memoryleakfix-1.1.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/midnightcontrols-1.8.2+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/midnightcontrols-1.8.2+1.20-64b5720b4b825f21.jar
index 4bf3799..983f2cb 100644
--- a/run/.fabric/processedMods/midnightcontrols-1.8.2+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/midnightcontrols-1.8.2+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/midnightlib-1.4.1-a900538900a6fc06.jar b/run/.fabric/processedMods/midnightlib-1.4.1-a900538900a6fc06.jar
index c9cf32f..766ff71 100644
--- a/run/.fabric/processedMods/midnightlib-1.4.1-a900538900a6fc06.jar
+++ b/run/.fabric/processedMods/midnightlib-1.4.1-a900538900a6fc06.jar
Binary files differ
diff --git a/run/.fabric/processedMods/mixintrace-1.1.1+1.17-64b5720b4b825f21.jar b/run/.fabric/processedMods/mixintrace-1.1.1+1.17-64b5720b4b825f21.jar
index 5afd207..7f10168 100644
--- a/run/.fabric/processedMods/mixintrace-1.1.1+1.17-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/mixintrace-1.1.1+1.17-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/modelfix-1.10-64b5720b4b825f21.jar b/run/.fabric/processedMods/modelfix-1.10-64b5720b4b825f21.jar
index bf56475..85401aa 100644
--- a/run/.fabric/processedMods/modelfix-1.10-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/modelfix-1.10-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/modmenu-7.0.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/modmenu-7.0.1-64b5720b4b825f21.jar
index 820b1c3..098024e 100644
--- a/run/.fabric/processedMods/modmenu-7.0.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/modmenu-7.0.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/morechathistory-1.1.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/morechathistory-1.1.1-64b5720b4b825f21.jar
index 3558960..5be0984 100644
--- a/run/.fabric/processedMods/morechathistory-1.1.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/morechathistory-1.1.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/moreculling-1.20-0.18.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/moreculling-1.20-0.18.0-64b5720b4b825f21.jar
index dcfa2fc..2ff8c45 100644
--- a/run/.fabric/processedMods/moreculling-1.20-0.18.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/moreculling-1.20-0.18.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/net_lenni0451_reflect-1.1.0-366548725211ffca.jar b/run/.fabric/processedMods/net_lenni0451_reflect-1.1.0-366548725211ffca.jar
index bf45cef..31d0c6a 100644
--- a/run/.fabric/processedMods/net_lenni0451_reflect-1.1.0-366548725211ffca.jar
+++ b/run/.fabric/processedMods/net_lenni0451_reflect-1.1.0-366548725211ffca.jar
Binary files differ
diff --git a/run/.fabric/processedMods/nochatreports-1.20.1-v2.2.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/nochatreports-1.20.1-v2.2.1-64b5720b4b825f21.jar
index 79c89f9..95c212d 100644
--- a/run/.fabric/processedMods/nochatreports-1.20.1-v2.2.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/nochatreports-1.20.1-v2.2.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/optiglue-2.1.2-mc.1.19.3-1aaa2901e8f1ed20.jar b/run/.fabric/processedMods/optiglue-2.1.2-mc.1.19.3-1aaa2901e8f1ed20.jar
index 610d413..f430efe 100644
--- a/run/.fabric/processedMods/optiglue-2.1.2-mc.1.19.3-1aaa2901e8f1ed20.jar
+++ b/run/.fabric/processedMods/optiglue-2.1.2-mc.1.19.3-1aaa2901e8f1ed20.jar
Binary files differ
diff --git a/run/.fabric/processedMods/optigui-2.1.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/optigui-2.1.2-64b5720b4b825f21.jar
index 12e7a33..9389651 100644
--- a/run/.fabric/processedMods/optigui-2.1.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/optigui-2.1.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_anarres_jcpp-1.4.14-63555bd60a187a13.jar b/run/.fabric/processedMods/org_anarres_jcpp-1.4.14-63555bd60a187a13.jar
index 71334fa..ec872bc 100644
--- a/run/.fabric/processedMods/org_anarres_jcpp-1.4.14-63555bd60a187a13.jar
+++ b/run/.fabric/processedMods/org_anarres_jcpp-1.4.14-63555bd60a187a13.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_antlr_antlr4-runtime-4.11.1-d9d901aa6c03fd48.jar b/run/.fabric/processedMods/org_antlr_antlr4-runtime-4.11.1-d9d901aa6c03fd48.jar
index 52de43e..405ee6f 100644
--- a/run/.fabric/processedMods/org_antlr_antlr4-runtime-4.11.1-d9d901aa6c03fd48.jar
+++ b/run/.fabric/processedMods/org_antlr_antlr4-runtime-4.11.1-d9d901aa6c03fd48.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_apache_commons_commons-text-1.10.0-bda1a4088f6c5f8a.jar b/run/.fabric/processedMods/org_apache_commons_commons-text-1.10.0-bda1a4088f6c5f8a.jar
index 7c0ae5c..fae97f8 100644
--- a/run/.fabric/processedMods/org_apache_commons_commons-text-1.10.0-bda1a4088f6c5f8a.jar
+++ b/run/.fabric/processedMods/org_apache_commons_commons-text-1.10.0-bda1a4088f6c5f8a.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_apache_httpcomponents_httpmime-4.5.10-99ec55876d7a8a8f.jar b/run/.fabric/processedMods/org_apache_httpcomponents_httpmime-4.5.10-99ec55876d7a8a8f.jar
index becec69..810ec86 100644
--- a/run/.fabric/processedMods/org_apache_httpcomponents_httpmime-4.5.10-99ec55876d7a8a8f.jar
+++ b/run/.fabric/processedMods/org_apache_httpcomponents_httpmime-4.5.10-99ec55876d7a8a8f.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_aperlambda_lambdajcommon-1.8.1-99173ded6b6993b8.jar b/run/.fabric/processedMods/org_aperlambda_lambdajcommon-1.8.1-99173ded6b6993b8.jar
index 4be0c20..e2e880c 100644
--- a/run/.fabric/processedMods/org_aperlambda_lambdajcommon-1.8.1-99173ded6b6993b8.jar
+++ b/run/.fabric/processedMods/org_aperlambda_lambdajcommon-1.8.1-99173ded6b6993b8.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_ini4j_ini4j-0.5.4-747aa3a63cd36f82.jar b/run/.fabric/processedMods/org_ini4j_ini4j-0.5.4-747aa3a63cd36f82.jar
index 90a7a4b..fb735c7 100644
--- a/run/.fabric/processedMods/org_ini4j_ini4j-0.5.4-747aa3a63cd36f82.jar
+++ b/run/.fabric/processedMods/org_ini4j_ini4j-0.5.4-747aa3a63cd36f82.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_java-websocket_java-websocket-1.5.3-6e12b6f022bb1c3c.jar b/run/.fabric/processedMods/org_java-websocket_java-websocket-1.5.3-6e12b6f022bb1c3c.jar
index bfa1fd1..0fde3fc 100644
--- a/run/.fabric/processedMods/org_java-websocket_java-websocket-1.5.3-6e12b6f022bb1c3c.jar
+++ b/run/.fabric/processedMods/org_java-websocket_java-websocket-1.5.3-6e12b6f022bb1c3c.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-reflect-1.8.22-f2626f7563424b32.jar b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-reflect-1.8.22-f2626f7563424b32.jar
index 0913619..8b33d7c 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-reflect-1.8.22-f2626f7563424b32.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-reflect-1.8.22-f2626f7563424b32.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdlib-1.8.22-b3eebd347af2cde2.jar b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdlib-1.8.22-b3eebd347af2cde2.jar
index da37d46..c210afd 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdlib-1.8.22-b3eebd347af2cde2.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdlib-1.8.22-b3eebd347af2cde2.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk7-1.8.22-d1cf2136d849df87.jar b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk7-1.8.22-d1cf2136d849df87.jar
index 25f9a3b..0d91cf6 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk7-1.8.22-d1cf2136d849df87.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk7-1.8.22-d1cf2136d849df87.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk8-1.8.22-80e310db973a4ce9.jar b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk8-1.8.22-80e310db973a4ce9.jar
index 55cb1bf..5e95b31 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk8-1.8.22-80e310db973a4ce9.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlin_kotlin-stdljdk8-1.8.22-80e310db973a4ce9.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_atomicfu-jvm-0.20.2-50d9a3e72939be5b.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_atomicfu-jvm-0.20.2-50d9a3e72939be5b.jar
index e89b0b8..71f08c6 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_atomicfu-jvm-0.20.2-50d9a3e72939be5b.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_atomicfu-jvm-0.20.2-50d9a3e72939be5b.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-co-jdk8-1.7.1-b355efeb079eab30.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-co-jdk8-1.7.1-b355efeb079eab30.jar
index 8e85001..55c29be 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-co-jdk8-1.7.1-b355efeb079eab30.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-co-jdk8-1.7.1-b355efeb079eab30.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.1-d2fa1ba1e2a4653e.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.1-d2fa1ba1e2a4653e.jar
index 2b72882..2297a13 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.1-d2fa1ba1e2a4653e.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-coe-jvm-1.7.1-d2fa1ba1e2a4653e.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-dae-jvm-0.4.0-a246c7c993efa541.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-dae-jvm-0.4.0-a246c7c993efa541.jar
index 5c159b9..8d7d7a0 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-dae-jvm-0.4.0-a246c7c993efa541.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-dae-jvm-0.4.0-a246c7c993efa541.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-see-jvm-1.5.1-a7135ab57b637972.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-see-jvm-1.5.1-a7135ab57b637972.jar
index d86dec6..5ab7bad 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-see-jvm-1.5.1-a7135ab57b637972.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-see-jvm-1.5.1-a7135ab57b637972.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-sen-jvm-1.5.1-795811f38d13c720.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-sen-jvm-1.5.1-795811f38d13c720.jar
index bf1deb5..747f255 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-sen-jvm-1.5.1-795811f38d13c720.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-sen-jvm-1.5.1-795811f38d13c720.jar
Binary files differ
diff --git a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-ser-jvm-1.5.1-a5a090eddd3bd65a.jar b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-ser-jvm-1.5.1-a5a090eddd3bd65a.jar
index f2a8258..52307f1 100644
--- a/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-ser-jvm-1.5.1-a5a090eddd3bd65a.jar
+++ b/run/.fabric/processedMods/org_jetbrains_kotlinx_kotlinx-ser-jvm-1.5.1-a5a090eddd3bd65a.jar
Binary files differ
diff --git a/run/.fabric/processedMods/puzzle-1.5.1+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/puzzle-1.5.1+1.20-64b5720b4b825f21.jar
index 9e09619..3f52cd7 100644
--- a/run/.fabric/processedMods/puzzle-1.5.1+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/puzzle-1.5.1+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/puzzle-base-1.5.1+1.20-57e3d921200c4070.jar b/run/.fabric/processedMods/puzzle-base-1.5.1+1.20-57e3d921200c4070.jar
index f0a9955..1be1fca 100644
--- a/run/.fabric/processedMods/puzzle-base-1.5.1+1.20-57e3d921200c4070.jar
+++ b/run/.fabric/processedMods/puzzle-base-1.5.1+1.20-57e3d921200c4070.jar
Binary files differ
diff --git a/run/.fabric/processedMods/puzzle-gui-1.5.1+1.20-5540cc9385d01d03.jar b/run/.fabric/processedMods/puzzle-gui-1.5.1+1.20-5540cc9385d01d03.jar
index 4aa54c9..b5e3e5c 100644
--- a/run/.fabric/processedMods/puzzle-gui-1.5.1+1.20-5540cc9385d01d03.jar
+++ b/run/.fabric/processedMods/puzzle-gui-1.5.1+1.20-5540cc9385d01d03.jar
Binary files differ
diff --git a/run/.fabric/processedMods/puzzle-models-1.5.1+1.20-18054042328d5130.jar b/run/.fabric/processedMods/puzzle-models-1.5.1+1.20-18054042328d5130.jar
index 978bc31..ca6f7d1 100644
--- a/run/.fabric/processedMods/puzzle-models-1.5.1+1.20-18054042328d5130.jar
+++ b/run/.fabric/processedMods/puzzle-models-1.5.1+1.20-18054042328d5130.jar
Binary files differ
diff --git a/run/.fabric/processedMods/puzzle-splashscreen-1.5.1+1.20-2ea9f12402384e62.jar b/run/.fabric/processedMods/puzzle-splashscreen-1.5.1+1.20-2ea9f12402384e62.jar
index 46efb7e..7f6dfa4 100644
--- a/run/.fabric/processedMods/puzzle-splashscreen-1.5.1+1.20-2ea9f12402384e62.jar
+++ b/run/.fabric/processedMods/puzzle-splashscreen-1.5.1+1.20-2ea9f12402384e62.jar
Binary files differ
diff --git a/run/.fabric/processedMods/reeses-sodium-options-1.5.1+mc1.20-build.74-64b5720b4b825f21.jar b/run/.fabric/processedMods/reeses-sodium-options-1.5.1+mc1.20-build.74-64b5720b4b825f21.jar
index c2d97fc..154b4bb 100644
--- a/run/.fabric/processedMods/reeses-sodium-options-1.5.1+mc1.20-build.74-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/reeses-sodium-options-1.5.1+mc1.20-build.74-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/sodium-0.4.10+build.27-64b5720b4b825f21.jar b/run/.fabric/processedMods/sodium-0.4.10+build.27-64b5720b4b825f21.jar
index 3b3311c..2230b76 100644
--- a/run/.fabric/processedMods/sodium-0.4.10+build.27-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/sodium-0.4.10+build.27-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/sodium-extra-0.4.20+mc1.20-build.103-64b5720b4b825f21.jar b/run/.fabric/processedMods/sodium-extra-0.4.20+mc1.20-build.103-64b5720b4b825f21.jar
index 8902a12..fdfdc2e 100644
--- a/run/.fabric/processedMods/sodium-extra-0.4.20+mc1.20-build.103-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/sodium-extra-0.4.20+mc1.20-build.103-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/spruceui-5.0.0+1.20-a7e7164e506142b1.jar b/run/.fabric/processedMods/spruceui-5.0.0+1.20-a7e7164e506142b1.jar
index 06c7dfc..17ee9d6 100644
--- a/run/.fabric/processedMods/spruceui-5.0.0+1.20-a7e7164e506142b1.jar
+++ b/run/.fabric/processedMods/spruceui-5.0.0+1.20-a7e7164e506142b1.jar
Binary files differ
diff --git a/run/.fabric/processedMods/symbol-chat-1.20.1-1.0.1-64b5720b4b825f21.jar b/run/.fabric/processedMods/symbol-chat-1.20.1-1.0.1-64b5720b4b825f21.jar
index fa2afea..7b4dffb 100644
--- a/run/.fabric/processedMods/symbol-chat-1.20.1-1.0.1-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/symbol-chat-1.20.1-1.0.1-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/yet_another_config_lib_v3-3.0.1+1.20-64b5720b4b825f21.jar b/run/.fabric/processedMods/yet_another_config_lib_v3-3.0.1+1.20-64b5720b4b825f21.jar
index 1186cf4..6218d18 100644
--- a/run/.fabric/processedMods/yet_another_config_lib_v3-3.0.1+1.20-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/yet_another_config_lib_v3-3.0.1+1.20-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/yosbr-0.1.2-64b5720b4b825f21.jar b/run/.fabric/processedMods/yosbr-0.1.2-64b5720b4b825f21.jar
index 734c70e..979cb87 100644
--- a/run/.fabric/processedMods/yosbr-0.1.2-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/yosbr-0.1.2-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/.fabric/processedMods/zoomify-2.10.0-64b5720b4b825f21.jar b/run/.fabric/processedMods/zoomify-2.10.0-64b5720b4b825f21.jar
index ca6413a..de64f7c 100644
--- a/run/.fabric/processedMods/zoomify-2.10.0-64b5720b4b825f21.jar
+++ b/run/.fabric/processedMods/zoomify-2.10.0-64b5720b4b825f21.jar
Binary files differ
diff --git a/run/config/indium-renderer.properties b/run/config/indium-renderer.properties
index 28779fd..515ad92 100644
--- a/run/config/indium-renderer.properties
+++ b/run/config/indium-renderer.properties
@@ -1,5 +1,5 @@
#Indium properties file
-#Sun Jul 09 11:13:03 CEST 2023
+#Sun Jul 09 15:22:41 CEST 2023
fix-exterior-vertex-lighting=auto
ambient-occlusion-mode=auto
always-tesselate-blocks=auto
diff --git a/run/config/iris.properties b/run/config/iris.properties
index 77377f4..ea846d3 100644
--- a/run/config/iris.properties
+++ b/run/config/iris.properties
@@ -1,5 +1,5 @@
#This file stores configuration options for Iris, such as the currently active shaderpack
-#Sun Jul 09 11:13:04 CEST 2023
+#Sun Jul 09 15:22:42 CEST 2023
colorSpace=SRGB
disableUpdateMessage=false
enableDebugOptions=false
diff --git a/run/mods/DevAuth-fabric-1.1.2.jar b/run/mods/DevAuth-fabric-1.1.2.jar
new file mode 100644
index 0000000..cb2ec3c
--- /dev/null
+++ b/run/mods/DevAuth-fabric-1.1.2.jar
Binary files differ
diff --git a/run/usercache.json b/run/usercache.json
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/run/usercache.json
diff --git a/src/main/java/de/hype/bbsentials/client/Commands.java b/src/main/java/de/hype/bbsentials/client/Commands.java
new file mode 100644
index 0000000..6ec133e
--- /dev/null
+++ b/src/main/java/de/hype/bbsentials/client/Commands.java
@@ -0,0 +1,290 @@
+package de.hype.bbsentials.client;
+
+import com.mojang.brigadier.StringReader;
+import com.mojang.brigadier.arguments.ArgumentType;
+import com.mojang.brigadier.arguments.IntegerArgumentType;
+import com.mojang.brigadier.arguments.StringArgumentType;
+import com.mojang.brigadier.builder.LiteralArgumentBuilder;
+import com.mojang.brigadier.builder.RequiredArgumentBuilder;
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import de.hype.bbsentials.api.Discord;
+import de.hype.bbsentials.chat.Chat;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
+import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
+import net.minecraft.block.Block;
+import net.minecraft.block.BlockState;
+import net.minecraft.block.ChestBlock;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.command.CommandSource;
+import net.minecraft.command.argument.ArgumentTypes;
+import net.minecraft.command.argument.BlockPosArgumentType;
+import net.minecraft.command.argument.MessageArgumentType;
+import net.minecraft.entity.ai.brain.BlockPosLookTarget;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.server.command.ServerCommandSource;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import net.minecraft.util.hit.BlockHitResult;
+import net.minecraft.util.math.BlockPos;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
+
+import static de.hype.bbsentials.chat.Chat.*;
+import static de.hype.bbsentials.client.BBsentials.getConfig;
+
+public class Commands {
+ Commands() {
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("hci").then(ClientCommandManager.literal("menu").then(ClientCommandManager.argument("category", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(new String[]{"sbacm", "acm", "pcm"}, builder);
+ }).then(ClientCommandManager.argument("message", StringArgumentType.greedyString()).executes((context) -> {
+ String category = StringArgumentType.getString(context, "category");
+ String message = StringArgumentType.getString(context, "message");
+ followMenu(category, message);
+ return 1;
+ }))).executes((context) -> {
+ sendPrivateMessageToSelf(Formatting.RED + "Invalid");
+ return 1;
+ })).then(ClientCommandManager.literal("config").then(ClientCommandManager.argument("category", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for config subfolder
+ return CommandSource.suggestMatching(new String[]{"save", "reset", "load"}, builder);
+ }).executes((context) -> {
+ String category = StringArgumentType.getString(context, "category");
+ if (category.equals("save")) {
+ getConfig().save();
+ sendPrivateMessageToSelf(Formatting.GREEN + "Saved config successfully");
+ }
+ else if (category.equals("load")) {
+ BBsentials.config = Config.load();
+ }
+ else if (category.equals("reset")) {
+ // Reset logic here
+ }
+ return 1;
+ })).then(ClientCommandManager.literal("set-value").then(ClientCommandManager.argument("className", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for classes
+ ArrayList<String> classNames = new ArrayList<>();
+ classNames.add("Config");
+ // Replace with your own logic to retrieve class names
+ return CommandSource.suggestMatching(classNames, builder);
+ }).then(ClientCommandManager.argument("variableName", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for variable names
+ List<String> variableNames = null; // Replace with your own logic to retrieve variable names
+ variableNames = List.of(getVariableInfo("de.hype.bbsentials.client", "Config"));
+ return CommandSource.suggestMatching(variableNames, builder);
+ }).then(ClientCommandManager.argument("variableValue", StringArgumentType.string()).executes((context) -> {
+ // Handle "variableName" and "variableValue" logic here
+ String variableName = StringArgumentType.getString(context, "variableName");
+ String variableValue = StringArgumentType.getString(context, "variableValue");
+ try {
+ setVariableValue(getConfig(), variableName, variableValue);
+ getConfig().save();
+ } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException |
+ InstantiationException | InvocationTargetException | NoSuchMethodException e) {
+ }
+ return 1;
+ }))))).then(ClientCommandManager.literal("get-value").then(ClientCommandManager.argument("className", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for classes
+ ArrayList<String> classNames = new ArrayList<>();
+ classNames.add("Config");
+ // Replace with your own logic to retrieve class names
+ return CommandSource.suggestMatching(classNames, builder);
+ }).then(ClientCommandManager.argument("variableName", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for variable names
+ List<String> variableNames = null; // Replace with your own logic to retrieve variable names
+ variableNames = List.of(getVariableInfo("de.hype.bbsentials.client", "Config"));
+ return CommandSource.suggestMatching(variableNames, builder);
+ }).executes((context) -> {
+ // Handle "variableName" and "variableValue" logic here
+ String variableName = StringArgumentType.getString(context, "variableName");
+ try {
+ Chat.getVariableValue(getConfig(), variableName);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return 1;
+ }))).executes((context) -> {
+ // Handle the case when "config" argument is not provided
+ // ...
+ return 1;
+ })))
+
+ );
+
+ }); //hci
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("warp").then(ClientCommandManager.argument("destination", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(new String[]{"desert", "hub", "dhub", "nether", "isle", "wizard", "portal", "mines", "forge", "ch", "crystals", "nucleus", "end", "drag", "void", "castle", "howl", "park", "jungle", "nest", "arachne", "spider", "deep", "barn", "home", "kuurda", "wasteland", "dragontail", "scarleton", "smold", "garden", "da", "crypt", "museum", "trapper", "dungeon_hub"}, builder);
+ }).executes((context) -> {
+ // Handle "variableName" and "variableValue" logic here
+ String destination = StringArgumentType.getString(context, "destination");
+ getConfig().sender.addSendTask("/warp " + destination, 0);
+ return 1;
+ })));
+ }); //warp test
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("creport").then(ClientCommandManager.argument("Player_Name", StringArgumentType.string()).executes((context) -> {
+ String playerName = StringArgumentType.getString(context, "Player_Name");
+ getConfig().sender.addSendTask("/creport " + playerName, 0);
+ getConfig().addReported(playerName);
+ return 1;
+ })));
+ });//creport helper → no double report during same launch
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("hp").then(ClientCommandManager.literal("accept").then(ClientCommandManager.argument("player", StringArgumentType.string()).executes((context) -> {
+ String player = StringArgumentType.getString(context, "player");
+ getConfig().sender.addImmediateSendTask("/party accept " + player);
+ return 1;
+ }))).then(ClientCommandManager.literal("chat").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party chat");
+ return 1;
+ })).then(ClientCommandManager.literal("demote").then(ClientCommandManager.argument("player", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(getConfig().getPlayersInParty(), builder);
+ }).executes((context) -> {
+ String player = StringArgumentType.getString(context, "player");
+ getConfig().sender.addImmediateSendTask("/party demote " + player);
+ return 1;
+ }))).then(ClientCommandManager.literal("disband").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party disband");
+ return 1;
+ })).then(ClientCommandManager.literal("kick").then(ClientCommandManager.argument("player", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(getConfig().getPlayersInParty(), builder);
+ }).executes((context) -> {
+ String player = StringArgumentType.getString(context, "player");
+ getConfig().sender.addImmediateSendTask("/party kick " + player);
+ return 1;
+ }))).then(ClientCommandManager.literal("kickoffline").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party kickoffline");
+ return 1;
+ })).then(ClientCommandManager.literal("leave").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party leave");
+ return 1;
+ })).then(ClientCommandManager.literal("list").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party list");
+ return 1;
+ })).then(ClientCommandManager.literal("mute").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party mute");
+ return 1;
+ })).then(ClientCommandManager.literal("poll").then(ClientCommandManager.argument("question/answer/answer/answer", StringArgumentType.greedyString()).executes((context) -> {
+ String questionAndAnswers = StringArgumentType.getString(context, "question answer answer (answer)");
+ getConfig().sender.addImmediateSendTask("/party poll " + questionAndAnswers);
+ return 1;
+ }))).then(ClientCommandManager.literal("private").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party private");
+ return 1;
+ })).then(ClientCommandManager.literal("promote").then(ClientCommandManager.argument("player", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(getConfig().getPlayersInParty(), builder);
+ }).executes((context) -> {
+ String player = StringArgumentType.getString(context, "player");
+ getConfig().sender.addImmediateSendTask("/party promote " + player);
+ return 1;
+ }))).then(ClientCommandManager.literal("setting").then(ClientCommandManager.literal("allinvite")).executes((context) -> {
+ String setting = StringArgumentType.getString(context, "setting");
+ getConfig().sender.addImmediateSendTask("/party setting " + setting);
+ return 1;
+ })
+
+ ).then(ClientCommandManager.literal("transfer").then(ClientCommandManager.argument("player", StringArgumentType.string()).suggests((context, builder) -> {
+ // Provide tab-completion options for menu subfolder
+ return CommandSource.suggestMatching(getConfig().getPlayersInParty(), builder);
+ }).executes((context) -> {
+ String player = StringArgumentType.getString(context, "player");
+ getConfig().sender.addImmediateSendTask("/party transfer " + player);
+ return 1;
+ }))).then(ClientCommandManager.literal("warp").executes((context) -> {
+ getConfig().sender.addImmediateSendTask("/party warp");
+ return 1;
+ })).executes(context -> {
+ getConfig().sender.addImmediateSendTask("/p");
+ return 1;
+ }));
+ }); //party test
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(
+ ClientCommandManager.literal("goblinraid")
+ .executes((context) -> {
+ Discord.sendWebhookMessage("?goblinraid");
+ return 1;
+ })
+ );
+ });/*goblinraid*/
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(
+ ClientCommandManager.literal("2xpowder")
+ .executes((context) -> {
+ Discord.sendWebhookMessage("?2xpowder");
+ return 1;
+ })
+ );
+ });/*2xpowder*/
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(
+ ClientCommandManager.literal("bettertogether")
+ .executes((context) -> {
+ Discord.sendWebhookMessage("?bettertogether");
+ return 1;
+ })
+ );
+ });/*b2g*/
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(
+ ClientCommandManager.literal("raffle")
+ .executes((context) -> {
+ Discord.sendWebhookMessage("?raffle");
+ return 1;
+ })
+ );
+ });/*raffle*/
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(
+ ClientCommandManager.literal("gonewiththewind")
+ .executes((context) -> {
+ Discord.sendWebhookMessage("?gonewiththewind");
+ return 1;
+ })
+ );
+ });/*gonewiththewind*/
+ ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
+ dispatcher.register(ClientCommandManager.literal("chchest")
+ .then(ClientCommandManager.argument("Item", StringArgumentType.string())
+ .suggests((context, builder) -> {
+ return CommandSource.suggestMatching(new String[]{"PrehistoricEgg", "Pickonimbus2000", "ElectronTransmitter", "FTX3070", "RobotronReflector", "ControlSwitch", "SyntheticHeart", "SuperliteMotor", "BlueGoblinEgg", "YellowGoblinEgg", "FlawlessAmberGemstone", "FlawlessJadeGemstone", "FlawlessSapphireGemstone", "FlawlessRubyGemstone", "FlawlessAmethystGemstone", "JungleHeart", "FlawlessTopazGemstone", "FlawlessJasperGemstone"}, builder);
+ })
+ .then(ClientCommandManager.argument("X", IntegerArgumentType.integer())
+ .then(ClientCommandManager.argument("Y", IntegerArgumentType.integer())
+ .then(ClientCommandManager.argument("Z", IntegerArgumentType.integer())
+ .then(ClientCommandManager.argument("ContactWay", StringArgumentType.greedyString())
+ .suggests(((context, builder) -> {
+ return CommandSource.suggestMatching(new String[]{"Boop me", "Put IGN's in Thread", "bb:party me", "/p join"}, builder);
+ }))
+ .executes((context) -> {
+ String destination = StringArgumentType.getString(context, "Item");
+ int x = IntegerArgumentType.getInteger(context, "X");
+ int y = IntegerArgumentType.getInteger(context, "Y");
+ int z = IntegerArgumentType.getInteger(context, "Z");
+ String contactWay = StringArgumentType.getString(context, "ContactWay");
+
+ String combinedString = "?chchest " + destination + " " + x + " " + y + " " + z + " " + contactWay;
+ Discord.sendWebhookMessage(combinedString); // Call your method with the combined string
+ return 1;
+ }
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+ });
+ }
+} \ No newline at end of file