diff --git a/src/handshake.rs b/src/handshake.rs index 8a1ad5e..bbb7325 100644 --- a/src/handshake.rs +++ b/src/handshake.rs @@ -17,7 +17,7 @@ pub mod serverbound { if packet_id == Handshake::packet_id() { return Ok(Self::Handshake(Handshake::get(&mut data)?)) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } } diff --git a/src/login.rs b/src/login.rs index 9885ba9..dd003e2 100644 --- a/src/login.rs +++ b/src/login.rs @@ -36,7 +36,7 @@ pub mod clientbound { return Ok(Self::CookieRequest( CookieRequest::get(&mut data)?)) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } } @@ -295,7 +295,7 @@ pub mod serverbound { return Ok(Self::CookieResponse( CookieResponse::get(&mut data)?)) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } } diff --git a/src/mc_types.rs b/src/mc_types.rs index 00c8691..8d66da4 100644 --- a/src/mc_types.rs +++ b/src/mc_types.rs @@ -30,7 +30,7 @@ const CONTINUE_BIT: u8 = 0x80; pub enum PacketError { ValueTooLarge, RanOutOfBytes, - InvalidPacketId, + InvalidPacketId(i32), InvalidUUIDString, EncryptionError, } @@ -42,8 +42,8 @@ impl fmt::Display for PacketError { write!(f, "VarInt value is too large"), PacketError::RanOutOfBytes => write!(f, "Ran out of bytes while reading VarInt"), - PacketError::InvalidPacketId => - write!(f, "Invalid packet id"), + PacketError::InvalidPacketId(packet_id) => + write!(f, "Invalid packet id: {}", packet_id), PacketError::InvalidUUIDString => write!(f, "Invalid UUID format"), PacketError::EncryptionError => @@ -384,7 +384,7 @@ pub trait Packet: Sized { if packet_id == Self::packet_id() { return Ok(Self::get(&mut data)?) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } diff --git a/src/status.rs b/src/status.rs index db0f482..c1ac512 100644 --- a/src/status.rs +++ b/src/status.rs @@ -116,7 +116,7 @@ pub mod clientbound { } else if packet_id == Ping::packet_id() { return Ok(Self::Ping(Ping::get(&mut data)?)) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } } @@ -205,7 +205,7 @@ pub mod serverbound { } else if packet_id == Ping::packet_id() { return Ok(Self::Ping(Ping::get(&mut data)?)) } else { - return Err(Box::new(PacketError::InvalidPacketId)) + return Err(Box::new(PacketError::InvalidPacketId(packet_id))) } } }