aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol/src/packets')
-rw-r--r--azalea-protocol/src/packets/game/clientbound_damage_event_packet.rs13
-rwxr-xr-xazalea-protocol/src/packets/game/clientbound_login_packet.rs2
2 files changed, 10 insertions, 5 deletions
diff --git a/azalea-protocol/src/packets/game/clientbound_damage_event_packet.rs b/azalea-protocol/src/packets/game/clientbound_damage_event_packet.rs
index 93731445..941ed01f 100644
--- a/azalea-protocol/src/packets/game/clientbound_damage_event_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_damage_event_packet.rs
@@ -16,15 +16,20 @@ pub struct ClientboundDamageEventPacket {
}
#[derive(Clone, Debug)]
-pub struct OptionalEntityId(pub u32);
+pub struct OptionalEntityId(pub Option<u32>);
impl McBufReadable for OptionalEntityId {
fn read_from(buf: &mut Cursor<&[u8]>) -> Result<Self, azalea_buf::BufReadError> {
- Ok(OptionalEntityId(u32::var_read_from(buf)? - 1))
+ match u32::var_read_from(buf)? {
+ 0 => Ok(OptionalEntityId(None)),
+ id => Ok(OptionalEntityId(Some(id - 1))),
+ }
}
}
impl McBufWritable for OptionalEntityId {
fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
- (self.0 + 1).var_write_into(buf)?;
- Ok(())
+ match self.0 {
+ Some(id) => (id + 1).var_write_into(buf),
+ None => 0u32.var_write_into(buf),
+ }
}
}
diff --git a/azalea-protocol/src/packets/game/clientbound_login_packet.rs b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
index 42f93c40..a35951a7 100755
--- a/azalea-protocol/src/packets/game/clientbound_login_packet.rs
+++ b/azalea-protocol/src/packets/game/clientbound_login_packet.rs
@@ -515,7 +515,7 @@ mod tests {
.unwrap()
.as_compound()
.unwrap();
- let dimension_type = dimension.get("type").unwrap().as_string().unwrap();
+ let dimension_type = dimension.get("type").unwrap().as_string().unwrap().as_str();
assert!(dimension_type == "minecraft:dimension_type");
}
}