diff options
| author | mat <github@matdoes.dev> | 2021-12-16 17:51:05 -0600 |
|---|---|---|
| committer | mat <github@matdoes.dev> | 2021-12-16 17:51:05 -0600 |
| commit | 227ba5511d50af8c7c46a47e09db7f55a0ed84b7 (patch) | |
| tree | 1067828ee2082e0f073a4d16b201b2888c55b6e8 /azalea-protocol/src/packets/login/mod.rs | |
| parent | 999116ed7c5edf113e12aae150c2e23974d539dc (diff) | |
| download | azalea-drasl-227ba5511d50af8c7c46a47e09db7f55a0ed84b7.tar.xz | |
add a few more login packets
Diffstat (limited to 'azalea-protocol/src/packets/login/mod.rs')
| -rw-r--r-- | azalea-protocol/src/packets/login/mod.rs | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/azalea-protocol/src/packets/login/mod.rs b/azalea-protocol/src/packets/login/mod.rs index f0ed6717..7fee684a 100644 --- a/azalea-protocol/src/packets/login/mod.rs +++ b/azalea-protocol/src/packets/login/mod.rs @@ -1,5 +1,7 @@ pub mod clientbound_custom_query_packet; +pub mod clientbound_game_profile_packet; pub mod clientbound_hello_packet; +pub mod clientbound_login_compression_packet; pub mod serverbound_hello_packet; use async_trait::async_trait; @@ -15,8 +17,12 @@ where Self: Sized, { ClientboundCustomQueryPacket(clientbound_custom_query_packet::ClientboundCustomQueryPacket), - ServerboundHelloPacket(serverbound_hello_packet::ServerboundHelloPacket), + ClientboundGameProfilePacket(clientbound_game_profile_packet::ClientboundGameProfilePacket), ClientboundHelloPacket(clientbound_hello_packet::ClientboundHelloPacket), + ClientboundLoginCompressionPacket( + clientbound_login_compression_packet::ClientboundLoginCompressionPacket, + ), + ServerboundHelloPacket(serverbound_hello_packet::ServerboundHelloPacket), } #[async_trait] @@ -24,16 +30,20 @@ impl ProtocolPacket for LoginPacket { fn id(&self) -> u32 { match self { LoginPacket::ClientboundCustomQueryPacket(_packet) => 0x04, - LoginPacket::ServerboundHelloPacket(_packet) => 0x00, + LoginPacket::ClientboundGameProfilePacket(_packet) => 0x02, LoginPacket::ClientboundHelloPacket(_packet) => 0x01, + LoginPacket::ClientboundLoginCompressionPacket(_packet) => 0x03, + LoginPacket::ServerboundHelloPacket(_packet) => 0x00, } } fn write(&self, buf: &mut Vec<u8>) { match self { LoginPacket::ClientboundCustomQueryPacket(packet) => packet.write(buf), - LoginPacket::ServerboundHelloPacket(packet) => packet.write(buf), + LoginPacket::ClientboundGameProfilePacket(packet) => packet.write(buf), LoginPacket::ClientboundHelloPacket(packet) => packet.write(buf), + LoginPacket::ClientboundLoginCompressionPacket(packet) => packet.write(buf), + LoginPacket::ServerboundHelloPacket(packet) => packet.write(buf), } } @@ -49,9 +59,18 @@ impl ProtocolPacket for LoginPacket { Ok(match flow { PacketFlow::ServerToClient => match id { 0x01 => clientbound_hello_packet::ClientboundHelloPacket::read(buf).await?, + 0x02 => { + clientbound_game_profile_packet::ClientboundGameProfilePacket::read(buf).await? + } 0x04 => { clientbound_custom_query_packet::ClientboundCustomQueryPacket::read(buf).await? } + 0x03 => { + clientbound_login_compression_packet::ClientboundLoginCompressionPacket::read( + buf, + ) + .await? + } _ => return Err(format!("Unknown ServerToClient status packet id: {}", id)), }, PacketFlow::ClientToServer => match id { |
