aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/login/mod.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2021-12-16 17:51:05 -0600
committermat <github@matdoes.dev>2021-12-16 17:51:05 -0600
commit227ba5511d50af8c7c46a47e09db7f55a0ed84b7 (patch)
tree1067828ee2082e0f073a4d16b201b2888c55b6e8 /azalea-protocol/src/packets/login/mod.rs
parent999116ed7c5edf113e12aae150c2e23974d539dc (diff)
downloadazalea-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.rs25
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 {