From 7857a014b92e64361ee237ceae7ef1acc185ac46 Mon Sep 17 00:00:00 2001
From: mat <27899617+mat-1@users.noreply.github.com>
Date: Tue, 5 Dec 2023 10:59:05 -0600
Subject: [PATCH] 1.20.3 (#110)
* 23w40a
* 23w41a
* 23w42a
* 23w43a
* 23w44a
* serialize FormattedText as nbt in network
* use azalea-nbt/serde in azalea-chat
* 23w45a
* fix 23w45a to compile
* handle Object in codegen
* 1.20.3-pre2
* remove unused clientbound_resource_pack_packet.rs
* merge main and make azalea-chat use simdnbt
* 1.20.3-rc1
* fix tests
* use simdnbt 0.3
* fix ServerboundSetJigsawBlockPacket
* 1.20.3
---
Cargo.lock | 430 ++-
README.md | 2 +-
azalea-block/src/generated.rs | 273 +-
azalea-buf/Cargo.toml | 2 +-
azalea-chat/Cargo.toml | 5 +
azalea-chat/src/base_component.rs | 20 +
azalea-chat/src/component.rs | 177 +-
azalea-chat/src/lib.rs | 2 +
azalea-chat/src/numbers.rs | 52 +
azalea-chat/src/style.rs | 209 +-
azalea-chat/src/text_component.rs | 22 +
azalea-chat/src/translatable_component.rs | 60 +
azalea-client/Cargo.toml | 2 +-
.../src/packet_handling/configuration.rs | 10 +-
azalea-client/src/packet_handling/game.rs | 14 +-
azalea-core/Cargo.toml | 2 +-
azalea-core/src/lib.rs | 1 +
azalea-core/src/objectives.rs | 33 +
azalea-core/src/registry_holder.rs | 23 +-
azalea-core/src/resource_location.rs | 2 +-
azalea-entity/Cargo.toml | 2 +-
azalea-entity/src/metadata.rs | 144 +-
azalea-inventory/Cargo.toml | 2 +-
azalea-inventory/src/lib.rs | 3 +
azalea-inventory/src/operations.rs | 25 +-
azalea-language/src/en_us.json | 282 +-
azalea-physics/src/collision/blocks.rs | 3269 +++++++++++------
azalea-protocol/Cargo.toml | 6 +-
.../clientbound_resource_pack_pop_packet.rs | 8 +
.../clientbound_resource_pack_push_packet.rs | 13 +
.../src/packets/configuration/mod.rs | 10 +-
.../serverbound_resource_pack_packet.rs | 5 +
.../game/clientbound_commands_packet.rs | 1 +
.../game/clientbound_explode_packet.rs | 36 +-
.../game/clientbound_player_chat_packet.rs | 38 -
.../game/clientbound_reset_score_packet.rs | 8 +
.../clientbound_resource_pack_pop_packet.rs | 8 +
... clientbound_resource_pack_push_packet.rs} | 4 +-
.../game/clientbound_set_objective_packet.rs | 89 +-
.../game/clientbound_set_score_packet.rs | 64 +-
.../game/clientbound_ticking_state_packet.rs | 8 +
.../game/clientbound_ticking_step_packet.rs | 8 +
.../clientbound_update_advancements_packet.rs | 4 +-
.../game/clientbound_update_recipes_packet.rs | 80 +-
azalea-protocol/src/packets/game/mod.rs | 184 +-
...und_container_slot_state_changed_packet.rs | 11 +
.../game/serverbound_resource_pack_packet.rs | 5 +
.../serverbound_set_jigsaw_block_packet.rs | 4 +
.../clientbound_login_disconnect_packet.rs | 30 +-
azalea-protocol/src/packets/mod.rs | 2 +-
.../clientbound_status_response_packet.rs | 4 +-
azalea-registry/Cargo.toml | 2 +-
azalea-registry/src/lib.rs | 531 ++-
azalea-registry/src/tags/blocks.rs | 10 +-
azalea-world/Cargo.toml | 2 +-
azalea/examples/testbot.rs | 6 +
azalea/src/accept_resource_packs.rs | 2 +
codegen/lib/code/utils.py | 3 +
codegen/migrate.py | 2 +-
59 files changed, 4430 insertions(+), 1826 deletions(-)
create mode 100644 azalea-chat/src/numbers.rs
create mode 100644 azalea-core/src/objectives.rs
create mode 100644 azalea-protocol/src/packets/configuration/clientbound_resource_pack_pop_packet.rs
create mode 100644 azalea-protocol/src/packets/configuration/clientbound_resource_pack_push_packet.rs
create mode 100644 azalea-protocol/src/packets/game/clientbound_reset_score_packet.rs
create mode 100644 azalea-protocol/src/packets/game/clientbound_resource_pack_pop_packet.rs
rename azalea-protocol/src/packets/game/{clientbound_resource_pack_packet.rs => clientbound_resource_pack_push_packet.rs} (76%)
mode change 100755 => 100644
create mode 100644 azalea-protocol/src/packets/game/clientbound_ticking_state_packet.rs
create mode 100644 azalea-protocol/src/packets/game/clientbound_ticking_step_packet.rs
create mode 100644 azalea-protocol/src/packets/game/serverbound_container_slot_state_changed_packet.rs
diff --git a/Cargo.lock b/Cargo.lock
index 5e3a1056f..c60595d2c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -70,9 +70,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anstyle"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
name = "anyhow"
@@ -87,31 +87,33 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
- "event-listener",
+ "event-listener 2.5.3",
"futures-core",
]
[[package]]
name = "async-executor"
-version = "1.5.4"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499"
+checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
dependencies = [
"async-lock",
"async-task",
"concurrent-queue",
"fastrand 2.0.1",
- "futures-lite 1.13.0",
+ "futures-lite 2.0.1",
"slab",
]
[[package]]
name = "async-lock"
-version = "2.8.0"
+version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
+checksum = "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
dependencies = [
- "event-listener",
+ "event-listener 4.0.0",
+ "event-listener-strategy",
+ "pin-project-lite",
]
[[package]]
@@ -127,9 +129,9 @@ dependencies = [
[[package]]
name = "async-task"
-version = "4.4.1"
+version = "4.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921"
+checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1"
[[package]]
name = "async-trait"
@@ -265,9 +267,11 @@ version = "0.8.0"
dependencies = [
"azalea-buf",
"azalea-language",
+ "azalea-registry",
"once_cell",
"serde",
"serde_json",
+ "simdnbt",
"tracing",
]
@@ -572,7 +576,7 @@ dependencies = [
"bevy_tasks",
"bevy_utils",
"downcast-rs",
- "event-listener",
+ "event-listener 2.5.3",
"fixedbitset",
"rustc-hash",
"serde",
@@ -603,7 +607,7 @@ dependencies = [
"bevy_ecs",
"bevy_utils",
"console_error_panic_hook",
- "tracing-log 0.1.3",
+ "tracing-log 0.1.4",
"tracing-subscriber",
"tracing-wasm",
]
@@ -706,7 +710,7 @@ dependencies = [
"ahash",
"bevy_utils_proc_macros",
"getrandom",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
"instant",
"nonmax",
"petgraph",
@@ -850,18 +854,18 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.4.3"
+version = "4.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6"
+checksum = "41fffed7514f420abec6d183b1d3acfd9099c79c3a10a06ade4f8203f1411272"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.4.2"
+version = "4.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
+checksum = "63361bae7eef3771745f02d8d892bec2fee5f6e34af316ba556e7f97a7069ff1"
dependencies = [
"anstyle",
"clap_lex",
@@ -869,9 +873,9 @@ dependencies = [
[[package]]
name = "clap_lex"
-version = "0.5.1"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1"
[[package]]
name = "concurrent-queue"
@@ -906,9 +910,9 @@ checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
[[package]]
name = "core-foundation"
-version = "0.9.3"
+version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
dependencies = [
"core-foundation-sys",
"libc",
@@ -916,15 +920,15 @@ dependencies = [
[[package]]
name = "core-foundation-sys"
-version = "0.8.4"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "cpufeatures"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0"
dependencies = [
"libc",
]
@@ -1029,9 +1033,9 @@ dependencies = [
[[package]]
name = "data-encoding"
-version = "2.4.0"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5"
[[package]]
name = "der"
@@ -1131,12 +1135,12 @@ dependencies = [
[[package]]
name = "errno"
-version = "0.3.5"
+version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
dependencies = [
"libc",
- "windows-sys",
+ "windows-sys 0.52.0",
]
[[package]]
@@ -1145,6 +1149,27 @@ version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+[[package]]
+name = "event-listener"
+version = "4.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
+dependencies = [
+ "concurrent-queue",
+ "parking",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "event-listener-strategy"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
+dependencies = [
+ "event-listener 4.0.0",
+ "pin-project-lite",
+]
+
[[package]]
name = "fastrand"
version = "1.9.0"
@@ -1184,9 +1209,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
"percent-encoding",
]
@@ -1321,9 +1346,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.10"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
"cfg-if",
"js-sys",
@@ -1334,9 +1359,9 @@ dependencies = [
[[package]]
name = "gimli"
-version = "0.28.0"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "glam"
@@ -1350,9 +1375,9 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.3.21"
+version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178"
dependencies = [
"bytes",
"fnv",
@@ -1360,7 +1385,7 @@ dependencies = [
"futures-sink",
"futures-util",
"http",
- "indexmap 1.9.3",
+ "indexmap 2.1.0",
"slab",
"tokio",
"tokio-util",
@@ -1381,9 +1406,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]]
name = "hashbrown"
-version = "0.14.2"
+version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
+checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
dependencies = [
"ahash",
"allocator-api2",
@@ -1404,9 +1429,9 @@ checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
[[package]]
name = "http"
-version = "0.2.9"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
dependencies = [
"bytes",
"fnv",
@@ -1459,7 +1484,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2 0.4.9",
+ "socket2 0.4.10",
"tokio",
"tower-service",
"tracing",
@@ -1468,9 +1493,9 @@ dependencies = [
[[package]]
name = "hyper-rustls"
-version = "0.24.1"
+version = "0.24.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97"
+checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
"http",
@@ -1490,6 +1515,16 @@ dependencies = [
"unicode-normalization",
]
+[[package]]
+name = "idna"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
[[package]]
name = "indexmap"
version = "1.9.3"
@@ -1507,7 +1542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f"
dependencies = [
"equivalent",
- "hashbrown 0.14.2",
+ "hashbrown 0.14.3",
]
[[package]]
@@ -1533,9 +1568,9 @@ dependencies = [
[[package]]
name = "ipnet"
-version = "2.8.0"
+version = "2.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6"
+checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
[[package]]
name = "is-terminal"
@@ -1545,7 +1580,7 @@ checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1565,9 +1600,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "js-sys"
-version = "0.3.64"
+version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
dependencies = [
"wasm-bindgen",
]
@@ -1578,7 +1613,7 @@ version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
dependencies = [
- "spin",
+ "spin 0.5.2",
]
[[package]]
@@ -1601,9 +1636,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
[[package]]
name = "linux-raw-sys"
-version = "0.4.10"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
[[package]]
name = "lock_api"
@@ -1687,7 +1722,7 @@ checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0"
dependencies = [
"libc",
"wasi",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1698,9 +1733,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
[[package]]
name = "nonmax"
-version = "0.5.3"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99756f5493e135528f0cd660ac67b4c3a542bb65a3565efe92bb2c2317eb3669"
+checksum = "610a5acd306ec67f907abe5567859a3c693fb9886eb1f012ab8f2a47bef3db51"
[[package]]
name = "nu-ansi-term"
@@ -1869,10 +1904,10 @@ dependencies = [
"cfg-if",
"libc",
"petgraph",
- "redox_syscall 0.4.1",
+ "redox_syscall",
"smallvec",
"thread-id",
- "windows-targets",
+ "windows-targets 0.48.5",
]
[[package]]
@@ -1886,9 +1921,9 @@ dependencies = [
[[package]]
name = "percent-encoding"
-version = "2.3.0"
+version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "petgraph"
@@ -1979,9 +2014,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.69"
+version = "1.0.70"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b"
dependencies = [
"unicode-ident",
]
@@ -2027,9 +2062,9 @@ dependencies = [
[[package]]
name = "rayon"
-version = "1.7.0"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
dependencies = [
"either",
"rayon-core",
@@ -2037,23 +2072,12 @@ dependencies = [
[[package]]
name = "rayon-core"
-version = "1.11.0"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
dependencies = [
- "crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags 1.3.2",
]
[[package]]
@@ -2166,24 +2190,23 @@ dependencies = [
[[package]]
name = "ring"
-version = "0.16.20"
+version = "0.17.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+checksum = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866"
dependencies = [
"cc",
+ "getrandom",
"libc",
- "once_cell",
- "spin",
+ "spin 0.9.8",
"untrusted",
- "web-sys",
- "winapi",
+ "windows-sys 0.48.0",
]
[[package]]
name = "rsa"
-version = "0.9.3"
+version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86ef35bf3e7fe15a53c4ab08a998e42271eab13eb0db224126bc7bc4c4bad96d"
+checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
dependencies = [
"const-oid",
"digest",
@@ -2234,22 +2257,22 @@ dependencies = [
[[package]]
name = "rustix"
-version = "0.38.20"
+version = "0.38.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0"
+checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
dependencies = [
"bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys",
- "windows-sys",
+ "windows-sys 0.52.0",
]
[[package]]
name = "rustls"
-version = "0.21.7"
+version = "0.21.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8"
+checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9"
dependencies = [
"log",
"ring",
@@ -2259,18 +2282,18 @@ dependencies = [
[[package]]
name = "rustls-pemfile"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
+checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
dependencies = [
"base64",
]
[[package]]
name = "rustls-webpki"
-version = "0.101.6"
+version = "0.101.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe"
+checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
dependencies = [
"ring",
"untrusted",
@@ -2299,9 +2322,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "sct"
-version = "0.7.0"
+version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
dependencies = [
"ring",
"untrusted",
@@ -2309,24 +2332,24 @@ dependencies = [
[[package]]
name = "semver"
-version = "1.0.18"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
-version = "1.0.192"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001"
+checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.192"
+version = "1.0.193"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1"
+checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [
"proc-macro2",
"quote",
@@ -2398,9 +2421,9 @@ dependencies = [
[[package]]
name = "signature"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [
"digest",
"rand_core",
@@ -2408,9 +2431,9 @@ dependencies = [
[[package]]
name = "simdnbt"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89e3431666c99066308d860437da87ac1dfdf7225b80b551aa007cbd3a46a086"
+checksum = "b3d42fda2b44594e802fc92a5b3c633cd442cdb1c0a31e0b624ec5c6aab0d063"
dependencies = [
"byteorder",
"flate2",
@@ -2421,9 +2444,9 @@ dependencies = [
[[package]]
name = "simdnbt-derive"
-version = "0.2.1"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "840927b3f00258339cb4ccb4658a33f572409a1bf42e1b98a3f872a995894b4e"
+checksum = "6241f3aeb4a7cf50ab268d21af2d0cf5d5ede8d928d3c2709e01425fc7e8d54c"
dependencies = [
"proc-macro2",
"quote",
@@ -2453,9 +2476,9 @@ dependencies = [
[[package]]
name = "smallvec"
-version = "1.11.1"
+version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
dependencies = [
"serde",
]
@@ -2471,9 +2494,9 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.4.9"
+version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d"
dependencies = [
"libc",
"winapi",
@@ -2486,7 +2509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
dependencies = [
"libc",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2495,11 +2518,17 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
[[package]]
name = "spki"
-version = "0.7.2"
+version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d"
dependencies = [
"base64ct",
"der",
@@ -2556,9 +2585,9 @@ dependencies = [
[[package]]
name = "termcolor"
-version = "1.3.0"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449"
dependencies = [
"winapi-util",
]
@@ -2585,12 +2614,11 @@ dependencies = [
[[package]]
name = "thread-id"
-version = "4.2.0"
+version = "4.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669"
+checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b"
dependencies = [
"libc",
- "redox_syscall 0.2.16",
"winapi",
]
@@ -2645,7 +2673,7 @@ dependencies = [
"signal-hook-registry",
"socket2 0.5.5",
"tokio-macros",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -2740,12 +2768,12 @@ dependencies = [
[[package]]
name = "tracing-log"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2"
dependencies = [
- "lazy_static",
"log",
+ "once_cell",
"tracing-core",
]
@@ -2802,7 +2830,7 @@ dependencies = [
"futures-channel",
"futures-io",
"futures-util",
- "idna",
+ "idna 0.4.0",
"ipnet",
"once_cell",
"rand",
@@ -2868,26 +2896,26 @@ dependencies = [
[[package]]
name = "untrusted"
-version = "0.7.1"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
+checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
dependencies = [
"form_urlencoded",
- "idna",
+ "idna 0.5.0",
"percent-encoding",
]
[[package]]
name = "uuid"
-version = "1.5.0"
+version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
+checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
dependencies = [
"getrandom",
"md-5",
@@ -2939,9 +2967,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasm-bindgen"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
@@ -2949,9 +2977,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-backend"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826"
dependencies = [
"bumpalo",
"log",
@@ -2964,9 +2992,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.37"
+version = "0.4.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03"
+checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12"
dependencies = [
"cfg-if",
"js-sys",
@@ -2976,9 +3004,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -2986,9 +3014,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283"
dependencies = [
"proc-macro2",
"quote",
@@ -2999,15 +3027,15 @@ dependencies = [
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.87"
+version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f"
[[package]]
name = "web-sys"
-version = "0.3.64"
+version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -3015,9 +3043,9 @@ dependencies = [
[[package]]
name = "webpki-roots"
-version = "0.25.2"
+version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
[[package]]
name = "winapi"
@@ -3056,7 +3084,16 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
- "windows-targets",
+ "windows-targets 0.48.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+dependencies = [
+ "windows-targets 0.52.0",
]
[[package]]
@@ -3065,13 +3102,28 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
- "windows_aarch64_gnullvm",
- "windows_aarch64_msvc",
- "windows_i686_gnu",
- "windows_i686_msvc",
- "windows_x86_64_gnu",
- "windows_x86_64_gnullvm",
- "windows_x86_64_msvc",
+ "windows_aarch64_gnullvm 0.48.5",
+ "windows_aarch64_msvc 0.48.5",
+ "windows_i686_gnu 0.48.5",
+ "windows_i686_msvc 0.48.5",
+ "windows_x86_64_gnu 0.48.5",
+ "windows_x86_64_gnullvm 0.48.5",
+ "windows_x86_64_msvc 0.48.5",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd"
+dependencies = [
+ "windows_aarch64_gnullvm 0.52.0",
+ "windows_aarch64_msvc 0.52.0",
+ "windows_i686_gnu 0.52.0",
+ "windows_i686_msvc 0.52.0",
+ "windows_x86_64_gnu 0.52.0",
+ "windows_x86_64_gnullvm 0.52.0",
+ "windows_x86_64_msvc 0.52.0",
]
[[package]]
@@ -3080,47 +3132,89 @@ version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea"
+
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef"
+
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313"
+
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a"
+
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd"
+
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e"
+
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
+
[[package]]
name = "winnow"
-version = "0.5.16"
+version = "0.5.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907"
+checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
dependencies = [
"memchr",
]
@@ -3132,23 +3226,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
dependencies = [
"cfg-if",
- "windows-sys",
+ "windows-sys 0.48.0",
]
[[package]]
name = "zerocopy"
-version = "0.7.26"
+version = "0.7.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
+checksum = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.7.26"
+version = "0.7.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
+checksum = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b"
dependencies = [
"proc-macro2",
"quote",
@@ -3157,6 +3251,6 @@ dependencies = [
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/README.md b/README.md
index 55ed89488..60c944efc 100755
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ A collection of Rust crates for making Minecraft bots, clients, and tools.
-*Currently supported Minecraft version: `1.20.2`.*
+*Currently supported Minecraft version: `1.20.3`.*
> [!WARNING]
> Azalea is still very unfinished, though most crates are in a somewhat useable state
diff --git a/azalea-block/src/generated.rs b/azalea-block/src/generated.rs
index e3f8fb9e3..5a700d786 100755
--- a/azalea-block/src/generated.rs
+++ b/azalea-block/src/generated.rs
@@ -282,11 +282,6 @@ make_block_states! {
},
"short" => bool,
"unstable" => bool,
- "slot_0_occupied" => bool,
- "slot_1_occupied" => bool,
- "slot_2_occupied" => bool,
- "slot_3_occupied" => bool,
- "slot_4_occupied" => bool,
"slot_5_occupied" => bool,
"age" => FireAge {
_0,
@@ -1863,7 +1858,8 @@ make_block_states! {
_14,
_15,
},
- "south" => bool,
+ "east" => bool,
+ "up" => bool,
"west" => bool,
"bloom" => bool,
"can_summon" => bool,
@@ -1920,12 +1916,21 @@ make_block_states! {
Partial,
Full,
},
- "axis" => CacheSize {
+ "axis" => Falling {
X,
Y,
Z,
},
"cracked" => bool,
+ "crafting" => bool,
+ "trial_spawner_state" => State {
+ Inactive,
+ WaitingForPlayers,
+ Active,
+ WaitingForRewardEjection,
+ EjectingReward,
+ Cooldown,
+ },
},
Blocks => {
air => BlockBehavior::new(), {},
@@ -2276,7 +2281,7 @@ make_block_states! {
facing: FacingCubic::North,
},
cobweb => BlockBehavior::new().requires_correct_tool_for_drops().strength(4.0, 4.0), {},
- grass => BlockBehavior::new(), {},
+ short_grass => BlockBehavior::new(), {},
fern => BlockBehavior::new(), {},
dead_bush => BlockBehavior::new(), {},
seagrass => BlockBehavior::new(), {},
@@ -2666,7 +2671,6 @@ make_block_states! {
waterlogged: false,
west: false,
},
- pumpkin => BlockBehavior::new().strength(1.0, 1.0), {},
netherrack => BlockBehavior::new().requires_correct_tool_for_drops().strength(0.4, 0.4), {},
soul_sand => BlockBehavior::new().strength(0.5, 0.5), {},
soul_soil => BlockBehavior::new().strength(0.5, 0.5), {},
@@ -2832,6 +2836,7 @@ make_block_states! {
waterlogged: false,
west: false,
},
+ pumpkin => BlockBehavior::new().strength(1.0, 1.0), {},
melon => BlockBehavior::new().strength(1.0, 1.0), {},
attached_pumpkin_stem => BlockBehavior::new(), {
facing: FacingCardinal::North,
@@ -4854,6 +4859,64 @@ make_block_states! {
waterlogged: false,
},
tuff => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {},
+ tuff_slab => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ kind: Type::Bottom,
+ waterlogged: false,
+ },
+ tuff_stairs => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ shape: StairShape::Straight,
+ waterlogged: false,
+ },
+ tuff_wall => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ east: EastWall::None,
+ north: NorthWall::None,
+ south: SouthWall::None,
+ up: true,
+ waterlogged: false,
+ west: WestWall::None,
+ },
+ polished_tuff => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {},
+ polished_tuff_slab => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ kind: Type::Bottom,
+ waterlogged: false,
+ },
+ polished_tuff_stairs => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ shape: StairShape::Straight,
+ waterlogged: false,
+ },
+ polished_tuff_wall => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ east: EastWall::None,
+ north: NorthWall::None,
+ south: SouthWall::None,
+ up: true,
+ waterlogged: false,
+ west: WestWall::None,
+ },
+ chiseled_tuff => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {},
+ tuff_bricks => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {},
+ tuff_brick_slab => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ kind: Type::Bottom,
+ waterlogged: false,
+ },
+ tuff_brick_stairs => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ shape: StairShape::Straight,
+ waterlogged: false,
+ },
+ tuff_brick_wall => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {
+ east: EastWall::None,
+ north: NorthWall::None,
+ south: SouthWall::None,
+ up: true,
+ waterlogged: false,
+ west: WestWall::None,
+ },
+ chiseled_tuff_bricks => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.5, 6.0), {},
calcite => BlockBehavior::new().requires_correct_tool_for_drops().strength(0.75, 0.75), {},
tinted_glass => BlockBehavior::new().strength(0.3, 0.3), {},
powder_snow => BlockBehavior::new().strength(0.25, 0.25), {},
@@ -4886,16 +4949,24 @@ make_block_states! {
shrieking: false,
waterlogged: false,
},
- oxidized_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
- weathered_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
- exposed_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
copper_block => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ exposed_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ weathered_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ oxidized_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
copper_ore => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {},
deepslate_copper_ore => BlockBehavior::new().requires_correct_tool_for_drops().strength(4.5, 3.0), {},
oxidized_cut_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
weathered_cut_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
exposed_cut_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
cut_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ oxidized_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ weathered_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ exposed_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ waxed_oxidized_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ waxed_weathered_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ waxed_exposed_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
+ waxed_chiseled_copper => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {},
oxidized_cut_copper_stairs => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
facing: FacingCardinal::North,
half: TopBottom::Bottom,
@@ -4984,6 +5055,174 @@ make_block_states! {
kind: Type::Bottom,
waterlogged: false,
},
+ copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ exposed_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ oxidized_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ weathered_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ waxed_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ waxed_exposed_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ waxed_oxidized_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ waxed_weathered_copper_door => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: Half::Lower,
+ hinge: Hinge::Left,
+ open: false,
+ powered: false,
+ },
+ copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ exposed_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ oxidized_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ weathered_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ waxed_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ waxed_exposed_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ waxed_oxidized_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ waxed_weathered_copper_trapdoor => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 3.0), {
+ facing: FacingCardinal::North,
+ half: TopBottom::Bottom,
+ open: false,
+ powered: false,
+ waterlogged: false,
+ },
+ copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ exposed_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ weathered_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ oxidized_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ waxed_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ waxed_exposed_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ waxed_weathered_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ waxed_oxidized_copper_grate => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ waterlogged: false,
+ },
+ copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ exposed_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ weathered_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ oxidized_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ waxed_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ waxed_exposed_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ waxed_weathered_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
+ waxed_oxidized_copper_bulb => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
+ lit: false,
+ powered: false,
+ },
lightning_rod => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.0, 6.0), {
facing: FacingCubic::Up,
powered: false,
@@ -5113,7 +5352,7 @@ make_block_states! {
cracked_deepslate_bricks => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.5, 6.0), {},
cracked_deepslate_tiles => BlockBehavior::new().requires_correct_tool_for_drops().strength(3.5, 6.0), {},
infested_deepslate => BlockBehavior::new().strength(1.5, 0.75), {
- axis: CacheSize::Y,
+ axis: Falling::Y,
},
smooth_basalt => BlockBehavior::new().requires_correct_tool_for_drops().strength(1.25, 4.2), {},
raw_iron_block => BlockBehavior::new().requires_correct_tool_for_drops().strength(5.0, 6.0), {},
@@ -5137,5 +5376,13 @@ make_block_states! {
facing: FacingCardinal::North,
waterlogged: false,
},
+ crafter => BlockBehavior::new().strength(1.5, 3.5), {
+ crafting: false,
+ orientation: Orientation::NorthUp,
+ triggered: false,
+ },
+ trial_spawner => BlockBehavior::new().requires_correct_tool_for_drops().strength(50.0, 50.0), {
+ trial_spawner_state: State::Inactive,
+ },
}
}
diff --git a/azalea-buf/Cargo.toml b/azalea-buf/Cargo.toml
index dc25632b0..8876c7a80 100644
--- a/azalea-buf/Cargo.toml
+++ b/azalea-buf/Cargo.toml
@@ -15,7 +15,7 @@ tracing = "0.1.40"
serde_json = { version = "^1.0", optional = true }
thiserror = "1.0.50"
uuid = "^1.5.0"
-simdnbt = { version = "0.2.1" }
+simdnbt = "0.3"
[features]
serde_json = ["dep:serde_json"]
diff --git a/azalea-chat/Cargo.toml b/azalea-chat/Cargo.toml
index 96b3da9f1..96979212d 100644
--- a/azalea-chat/Cargo.toml
+++ b/azalea-chat/Cargo.toml
@@ -10,13 +10,18 @@ version = "0.8.0"
[features]
default = ["azalea-buf"]
+azalea-buf = ["dep:azalea-buf", "simdnbt"]
+numbers = ["dep:azalea-registry", "dep:simdnbt"]
+simdnbt = ["dep:simdnbt"]
[dependencies]
azalea-buf = { path = "../azalea-buf", features = [
"serde_json",
], version = "^0.8.0", optional = true }
azalea-language = { path = "../azalea-language", version = "0.8.0" }
+simdnbt = { version = "0.3", optional = true }
tracing = "0.1.40"
once_cell = "1.18.0"
serde = { version = "^1.0", features = ["derive"] }
serde_json = "^1.0.108"
+azalea-registry = { path = "../azalea-registry", version = "0.8.0", optional = true }
diff --git a/azalea-chat/src/base_component.rs b/azalea-chat/src/base_component.rs
index dcc28ecc7..8f70ecb7f 100755
--- a/azalea-chat/src/base_component.rs
+++ b/azalea-chat/src/base_component.rs
@@ -19,6 +19,26 @@ impl BaseComponent {
}
}
+#[cfg(feature = "simdnbt")]
+impl simdnbt::Serialize for BaseComponent {
+ fn to_compound(self) -> simdnbt::owned::NbtCompound {
+ let mut compound = simdnbt::owned::NbtCompound::new();
+ if !self.siblings.is_empty() {
+ compound.insert(
+ "extra",
+ simdnbt::owned::NbtList::from(
+ self.siblings
+ .into_iter()
+ .map(|component| component.to_compound())
+ .collect::>(),
+ ),
+ );
+ }
+ compound.extend(self.style.to_compound());
+ compound
+ }
+}
+
impl Default for BaseComponent {
fn default() -> Self {
Self::new()
diff --git a/azalea-chat/src/component.rs b/azalea-chat/src/component.rs
index e80e7e4bc..ded77d016 100755
--- a/azalea-chat/src/component.rs
+++ b/azalea-chat/src/component.rs
@@ -8,11 +8,9 @@ use crate::{
use azalea_buf::{BufReadError, McBufReadable, McBufWritable};
use once_cell::sync::Lazy;
use serde::{de, Deserialize, Deserializer, Serialize};
-use std::{
- fmt::Display,
- io::{Cursor, Write},
-};
-use tracing::debug;
+#[cfg(feature = "simdnbt")]
+use simdnbt::{Deserialize as _, FromNbtTag as _, Serialize as _};
+use std::fmt::Display;
/// A chat component, basically anything you can see in chat.
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Hash)]
@@ -52,14 +50,21 @@ impl FormattedText {
fn parse_separator(
json: &serde_json::Value,
) -> Result