aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/login
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2024-11-27 19:31:40 -0600
committerGitHub <noreply@github.com>2024-11-27 19:31:40 -0600
commit08958c2278b15ebeac8a964f392ebb792e479b61 (patch)
tree4ae3664cea38d7fd1a8f1e95ed06fac04ffe519e /azalea-protocol/src/packets/login
parent139d77d3c2b0922fba5e9d4fa2bd9819d78bd773 (diff)
downloadazalea-drasl-08958c2278b15ebeac8a964f392ebb792e479b61.tar.xz
Refactor azalea-protocol (#190)
* start updating to 1.21.4 * fix block codegen and stop using block data from burger * rename packet related modules and structs to be simpler * ItemSlot -> ItemStack for more consistency with mojmap * .get() -> .into_packet() * simplify declare_state_packets by removing packet ids * rename read_from and write_into to azalea_read and azalea_write * rename McBufReadable and McBufWritable to AzaleaRead and AzaleaWrite * McBuf -> AzBuf * remove most uses of into_variant * update codegen and use resourcelocation names for packets * implement #[limit(i)] attribute for AzBuf derive macro * fixes for 1.21.4 * fix examples * update some physics code and fix ChatType * remove unused imports in codegen * re-add some things to migrate.py and update +mc version numbers automatically * downgrade to 1.21.3 lol
Diffstat (limited to 'azalea-protocol/src/packets/login')
-rwxr-xr-xazalea-protocol/src/packets/login/c_cookie_request.rs8
-rwxr-xr-xazalea-protocol/src/packets/login/c_custom_query.rs (renamed from azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs)6
-rwxr-xr-xazalea-protocol/src/packets/login/c_hello.rs (renamed from azalea-protocol/src/packets/login/clientbound_hello_packet.rs)9
-rwxr-xr-xazalea-protocol/src/packets/login/c_login_compression.rs10
-rwxr-xr-xazalea-protocol/src/packets/login/c_login_disconnect.rs (renamed from azalea-protocol/src/packets/login/clientbound_login_disconnect_packet.rs)20
-rwxr-xr-xazalea-protocol/src/packets/login/c_login_finished.rs (renamed from azalea-protocol/src/packets/login/clientbound_login_finished_packet.rs)6
-rwxr-xr-xazalea-protocol/src/packets/login/clientbound_cookie_request_packet.rs8
-rwxr-xr-xazalea-protocol/src/packets/login/clientbound_login_compression_packet.rs10
-rwxr-xr-xazalea-protocol/src/packets/login/mod.rs46
-rwxr-xr-xazalea-protocol/src/packets/login/s_cookie_response.rs (renamed from azalea-protocol/src/packets/login/serverbound_cookie_response_packet.rs)6
-rwxr-xr-xazalea-protocol/src/packets/login/s_custom_query.rs9
-rw-r--r--azalea-protocol/src/packets/login/s_custom_query_answer.rs (renamed from azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs)6
-rwxr-xr-xazalea-protocol/src/packets/login/s_hello.rs (renamed from azalea-protocol/src/packets/login/serverbound_hello_packet.rs)15
-rwxr-xr-xazalea-protocol/src/packets/login/s_key.rs (renamed from azalea-protocol/src/packets/login/serverbound_key_packet.rs)6
-rw-r--r--azalea-protocol/src/packets/login/s_login_acknowledged.rs5
-rwxr-xr-xazalea-protocol/src/packets/login/serverbound_custom_query_packet.rs9
-rw-r--r--azalea-protocol/src/packets/login/serverbound_login_acknowledged_packet.rs5
17 files changed, 86 insertions, 98 deletions
diff --git a/azalea-protocol/src/packets/login/c_cookie_request.rs b/azalea-protocol/src/packets/login/c_cookie_request.rs
new file mode 100755
index 00000000..d0bb0cd7
--- /dev/null
+++ b/azalea-protocol/src/packets/login/c_cookie_request.rs
@@ -0,0 +1,8 @@
+use azalea_buf::AzBuf;
+use azalea_core::resource_location::ResourceLocation;
+use azalea_protocol_macros::ClientboundLoginPacket;
+
+#[derive(Clone, Debug, AzBuf, ClientboundLoginPacket)]
+pub struct ClientboundCookieRequest {
+ pub key: ResourceLocation,
+}
diff --git a/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs b/azalea-protocol/src/packets/login/c_custom_query.rs
index 75993fd9..80c698e6 100755
--- a/azalea-protocol/src/packets/login/clientbound_custom_query_packet.rs
+++ b/azalea-protocol/src/packets/login/c_custom_query.rs
@@ -1,11 +1,11 @@
use std::hash::Hash;
-use azalea_buf::{McBuf, UnsizedByteArray};
+use azalea_buf::{AzBuf, UnsizedByteArray};
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ClientboundLoginPacket;
-#[derive(Hash, Clone, Debug, McBuf, ClientboundLoginPacket)]
-pub struct ClientboundCustomQueryPacket {
+#[derive(Hash, Clone, Debug, AzBuf, ClientboundLoginPacket)]
+pub struct ClientboundCustomQuery {
#[var]
pub transaction_id: u32,
pub identifier: ResourceLocation,
diff --git a/azalea-protocol/src/packets/login/clientbound_hello_packet.rs b/azalea-protocol/src/packets/login/c_hello.rs
index 9beb499c..6011ec23 100755
--- a/azalea-protocol/src/packets/login/clientbound_hello_packet.rs
+++ b/azalea-protocol/src/packets/login/c_hello.rs
@@ -1,10 +1,9 @@
-use azalea_buf::McBuf;
+use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundLoginPacket;
-#[derive(Clone, Debug, McBuf, ClientboundLoginPacket)]
-pub struct ClientboundHelloPacket {
- // TODO: make this len thing work
- // #[len(20)]
+#[derive(Clone, Debug, AzBuf, ClientboundLoginPacket)]
+pub struct ClientboundHello {
+ #[limit(20)]
pub server_id: String,
pub public_key: Vec<u8>,
pub challenge: Vec<u8>,
diff --git a/azalea-protocol/src/packets/login/c_login_compression.rs b/azalea-protocol/src/packets/login/c_login_compression.rs
new file mode 100755
index 00000000..c53e3829
--- /dev/null
+++ b/azalea-protocol/src/packets/login/c_login_compression.rs
@@ -0,0 +1,10 @@
+use std::hash::Hash;
+
+use azalea_buf::AzBuf;
+use azalea_protocol_macros::ClientboundLoginPacket;
+
+#[derive(Hash, Clone, Debug, ClientboundLoginPacket, AzBuf)]
+pub struct ClientboundLoginCompression {
+ #[var]
+ pub compression_threshold: i32,
+}
diff --git a/azalea-protocol/src/packets/login/clientbound_login_disconnect_packet.rs b/azalea-protocol/src/packets/login/c_login_disconnect.rs
index 416ec63b..a0e50aa4 100755
--- a/azalea-protocol/src/packets/login/clientbound_login_disconnect_packet.rs
+++ b/azalea-protocol/src/packets/login/c_login_disconnect.rs
@@ -1,34 +1,32 @@
use std::io::{Cursor, Write};
-use azalea_buf::{BufReadError, McBufReadable, McBufWritable};
+use azalea_buf::{AzaleaRead, AzaleaWrite, BufReadError};
use azalea_chat::FormattedText;
use azalea_protocol_macros::ClientboundLoginPacket;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, ClientboundLoginPacket)]
-pub struct ClientboundLoginDisconnectPacket {
+pub struct ClientboundLoginDisconnect {
pub reason: FormattedText,
}
-impl McBufReadable for ClientboundLoginDisconnectPacket {
- fn read_from(
- buf: &mut Cursor<&[u8]>,
- ) -> Result<ClientboundLoginDisconnectPacket, BufReadError> {
- let disconnect_string = String::read_from(buf)?;
+impl AzaleaRead for ClientboundLoginDisconnect {
+ fn azalea_read(buf: &mut Cursor<&[u8]>) -> Result<ClientboundLoginDisconnect, BufReadError> {
+ let disconnect_string = String::azalea_read(buf)?;
let disconnect_json: serde_json::Value = serde_json::from_str(disconnect_string.as_str())?;
- Ok(ClientboundLoginDisconnectPacket {
+ Ok(ClientboundLoginDisconnect {
reason: FormattedText::deserialize(disconnect_json)?,
})
}
}
-impl McBufWritable for ClientboundLoginDisconnectPacket {
- fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+impl AzaleaWrite for ClientboundLoginDisconnect {
+ fn azalea_write(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
let status_string = FormattedText::serialize(&self.reason, serde_json::value::Serializer)
.unwrap()
.to_string();
- status_string.write_into(buf)?;
+ status_string.azalea_write(buf)?;
Ok(())
}
}
diff --git a/azalea-protocol/src/packets/login/clientbound_login_finished_packet.rs b/azalea-protocol/src/packets/login/c_login_finished.rs
index f885f67f..482ea53f 100755
--- a/azalea-protocol/src/packets/login/clientbound_login_finished_packet.rs
+++ b/azalea-protocol/src/packets/login/c_login_finished.rs
@@ -1,8 +1,8 @@
use azalea_auth::game_profile::GameProfile;
-use azalea_buf::McBuf;
+use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundLoginPacket;
-#[derive(Clone, Debug, McBuf, ClientboundLoginPacket)]
-pub struct ClientboundLoginFinishedPacket {
+#[derive(Clone, Debug, AzBuf, ClientboundLoginPacket)]
+pub struct ClientboundLoginFinished {
pub game_profile: GameProfile,
}
diff --git a/azalea-protocol/src/packets/login/clientbound_cookie_request_packet.rs b/azalea-protocol/src/packets/login/clientbound_cookie_request_packet.rs
deleted file mode 100755
index 27ea0c09..00000000
--- a/azalea-protocol/src/packets/login/clientbound_cookie_request_packet.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-use azalea_buf::McBuf;
-use azalea_chat::FormattedText;
-use azalea_protocol_macros::ClientboundLoginPacket;
-
-#[derive(Clone, Debug, McBuf, ClientboundLoginPacket)]
-pub struct ClientboundCookieRequestPacket {
- pub key: FormattedText,
-}
diff --git a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs b/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs
deleted file mode 100755
index 4b8fb0c8..00000000
--- a/azalea-protocol/src/packets/login/clientbound_login_compression_packet.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-use std::hash::Hash;
-
-use azalea_buf::McBuf;
-use azalea_protocol_macros::ClientboundLoginPacket;
-
-#[derive(Hash, Clone, Debug, ClientboundLoginPacket, McBuf)]
-pub struct ClientboundLoginCompressionPacket {
- #[var]
- pub compression_threshold: i32,
-}
diff --git a/azalea-protocol/src/packets/login/mod.rs b/azalea-protocol/src/packets/login/mod.rs
index 3d218cc1..9edf50cf 100755
--- a/azalea-protocol/src/packets/login/mod.rs
+++ b/azalea-protocol/src/packets/login/mod.rs
@@ -1,32 +1,22 @@
-pub mod clientbound_cookie_request_packet;
-pub mod clientbound_custom_query_packet;
-pub mod clientbound_hello_packet;
-pub mod clientbound_login_compression_packet;
-pub mod clientbound_login_disconnect_packet;
-pub mod clientbound_login_finished_packet;
-pub mod serverbound_cookie_response_packet;
-pub mod serverbound_custom_query_answer_packet;
-pub mod serverbound_hello_packet;
-pub mod serverbound_key_packet;
-pub mod serverbound_login_acknowledged_packet;
+// NOTE: This file is generated automatically by codegen/packet.py.
+// Don't edit it directly!
use azalea_protocol_macros::declare_state_packets;
-declare_state_packets!(
- LoginPacket,
- Serverbound => {
- 0x00: serverbound_hello_packet::ServerboundHelloPacket,
- 0x01: serverbound_key_packet::ServerboundKeyPacket,
- 0x02: serverbound_custom_query_answer_packet::ServerboundCustomQueryAnswerPacket,
- 0x03: serverbound_login_acknowledged_packet::ServerboundLoginAcknowledgedPacket,
- 0x04: serverbound_cookie_response_packet::ServerboundCookieResponsePacket,
- },
- Clientbound => {
- 0x00: clientbound_login_disconnect_packet::ClientboundLoginDisconnectPacket,
- 0x01: clientbound_hello_packet::ClientboundHelloPacket,
- 0x02: clientbound_login_finished_packet::ClientboundLoginFinishedPacket,
- 0x03: clientbound_login_compression_packet::ClientboundLoginCompressionPacket,
- 0x04: clientbound_custom_query_packet::ClientboundCustomQueryPacket,
- 0x05: clientbound_cookie_request_packet::ClientboundCookieRequestPacket,
- }
+declare_state_packets!(LoginPacket,
+ Clientbound => [
+ login_disconnect,
+ hello,
+ login_finished,
+ login_compression,
+ custom_query,
+ cookie_request,
+ ],
+ Serverbound => [
+ hello,
+ key,
+ custom_query_answer,
+ login_acknowledged,
+ cookie_response,
+ ]
);
diff --git a/azalea-protocol/src/packets/login/serverbound_cookie_response_packet.rs b/azalea-protocol/src/packets/login/s_cookie_response.rs
index 2074e2e7..5e757600 100755
--- a/azalea-protocol/src/packets/login/serverbound_cookie_response_packet.rs
+++ b/azalea-protocol/src/packets/login/s_cookie_response.rs
@@ -1,9 +1,9 @@
-use azalea_buf::McBuf;
+use azalea_buf::AzBuf;
use azalea_core::resource_location::ResourceLocation;
use azalea_protocol_macros::ServerboundLoginPacket;
-#[derive(Clone, Debug, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundCookieResponsePacket {
+#[derive(Clone, Debug, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundCookieResponse {
pub key: ResourceLocation,
pub payload: Option<Vec<u8>>,
}
diff --git a/azalea-protocol/src/packets/login/s_custom_query.rs b/azalea-protocol/src/packets/login/s_custom_query.rs
new file mode 100755
index 00000000..39ecdcef
--- /dev/null
+++ b/azalea-protocol/src/packets/login/s_custom_query.rs
@@ -0,0 +1,9 @@
+use azalea_buf::{AzBuf, UnsizedByteArray};
+use azalea_protocol_macros::ServerboundLoginPacket;
+
+#[derive(Clone, Debug, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundCustomQuery {
+ #[var]
+ pub transaction_id: u32,
+ pub data: Option<UnsizedByteArray>,
+}
diff --git a/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs b/azalea-protocol/src/packets/login/s_custom_query_answer.rs
index fe9460a2..34820294 100644
--- a/azalea-protocol/src/packets/login/serverbound_custom_query_answer_packet.rs
+++ b/azalea-protocol/src/packets/login/s_custom_query_answer.rs
@@ -1,10 +1,10 @@
use std::hash::Hash;
-use azalea_buf::{McBuf, UnsizedByteArray};
+use azalea_buf::{AzBuf, UnsizedByteArray};
use azalea_protocol_macros::ServerboundLoginPacket;
-#[derive(Hash, Clone, Debug, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundCustomQueryAnswerPacket {
+#[derive(Hash, Clone, Debug, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundCustomQueryAnswer {
#[var]
pub transaction_id: u32,
pub data: Option<UnsizedByteArray>,
diff --git a/azalea-protocol/src/packets/login/serverbound_hello_packet.rs b/azalea-protocol/src/packets/login/s_hello.rs
index 51ff1830..bae1947b 100755
--- a/azalea-protocol/src/packets/login/serverbound_hello_packet.rs
+++ b/azalea-protocol/src/packets/login/s_hello.rs
@@ -1,9 +1,10 @@
-use azalea_buf::McBuf;
+use azalea_buf::AzBuf;
use azalea_protocol_macros::ServerboundLoginPacket;
use uuid::Uuid;
-#[derive(Clone, Debug, PartialEq, Eq, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundHelloPacket {
+#[derive(Clone, Debug, PartialEq, Eq, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundHello {
+ #[limit(16)]
pub name: String,
pub profile_id: Uuid,
}
@@ -12,19 +13,19 @@ pub struct ServerboundHelloPacket {
mod tests {
use std::io::Cursor;
- use azalea_buf::{McBufReadable, McBufWritable};
+ use azalea_buf::{AzaleaRead, AzaleaWrite};
use super::*;
#[test]
fn test_read_write() {
- let packet = ServerboundHelloPacket {
+ let packet = ServerboundHello {
name: "test".to_string(),
profile_id: Uuid::nil(),
};
let mut buf: Vec<u8> = Vec::new();
- packet.write_into(&mut buf).unwrap();
- let packet2 = ServerboundHelloPacket::read_from(&mut Cursor::new(&buf)).unwrap();
+ packet.azalea_write(&mut buf).unwrap();
+ let packet2 = ServerboundHello::azalea_read(&mut Cursor::new(&buf)).unwrap();
assert_eq!(packet, packet2);
}
}
diff --git a/azalea-protocol/src/packets/login/serverbound_key_packet.rs b/azalea-protocol/src/packets/login/s_key.rs
index dc0abeac..1b96d445 100755
--- a/azalea-protocol/src/packets/login/serverbound_key_packet.rs
+++ b/azalea-protocol/src/packets/login/s_key.rs
@@ -1,8 +1,8 @@
-use azalea_buf::McBuf;
+use azalea_buf::AzBuf;
use azalea_protocol_macros::ServerboundLoginPacket;
-#[derive(Clone, Debug, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundKeyPacket {
+#[derive(Clone, Debug, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundKey {
pub key_bytes: Vec<u8>,
pub encrypted_challenge: Vec<u8>,
}
diff --git a/azalea-protocol/src/packets/login/s_login_acknowledged.rs b/azalea-protocol/src/packets/login/s_login_acknowledged.rs
new file mode 100644
index 00000000..e36648b6
--- /dev/null
+++ b/azalea-protocol/src/packets/login/s_login_acknowledged.rs
@@ -0,0 +1,5 @@
+use azalea_buf::AzBuf;
+use azalea_protocol_macros::ServerboundLoginPacket;
+
+#[derive(Clone, Debug, AzBuf, ServerboundLoginPacket)]
+pub struct ServerboundLoginAcknowledged {}
diff --git a/azalea-protocol/src/packets/login/serverbound_custom_query_packet.rs b/azalea-protocol/src/packets/login/serverbound_custom_query_packet.rs
deleted file mode 100755
index 1d1885cf..00000000
--- a/azalea-protocol/src/packets/login/serverbound_custom_query_packet.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-use azalea_buf::{McBuf, UnsizedByteArray};
-use azalea_protocol_macros::ServerboundLoginPacket;
-
-#[derive(Clone, Debug, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundCustomQueryPacket {
- #[var]
- pub transaction_id: u32,
- pub data: Option<UnsizedByteArray>,
-}
diff --git a/azalea-protocol/src/packets/login/serverbound_login_acknowledged_packet.rs b/azalea-protocol/src/packets/login/serverbound_login_acknowledged_packet.rs
deleted file mode 100644
index c242a494..00000000
--- a/azalea-protocol/src/packets/login/serverbound_login_acknowledged_packet.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-use azalea_buf::McBuf;
-use azalea_protocol_macros::ServerboundLoginPacket;
-
-#[derive(Clone, Debug, McBuf, ServerboundLoginPacket)]
-pub struct ServerboundLoginAcknowledgedPacket {}