aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/mc_buf/write.rs
diff options
context:
space:
mode:
authormat <github@matdoes.dev>2022-05-14 19:14:34 -0500
committermat <github@matdoes.dev>2022-05-14 19:14:34 -0500
commit42f86f73f256c0219a923c5ff67a509e7a8a898d (patch)
treeda9db6effc1503c003b3d08175a35ed3bfb546b7 /azalea-protocol/src/mc_buf/write.rs
parent8fb95866093245bd802bebec08148c87f1188db3 (diff)
downloadazalea-drasl-42f86f73f256c0219a923c5ff67a509e7a8a898d.tar.xz
add unhandled ClientboundSectionBlocksUpdatePacket
Diffstat (limited to 'azalea-protocol/src/mc_buf/write.rs')
-rw-r--r--azalea-protocol/src/mc_buf/write.rs13
1 files changed, 12 insertions, 1 deletions
diff --git a/azalea-protocol/src/mc_buf/write.rs b/azalea-protocol/src/mc_buf/write.rs
index 7fe61752..c46297a6 100644
--- a/azalea-protocol/src/mc_buf/write.rs
+++ b/azalea-protocol/src/mc_buf/write.rs
@@ -2,7 +2,7 @@ use super::{UnsizedByteArray, MAX_STRING_LENGTH};
use azalea_chat::component::Component;
use azalea_core::{
difficulty::Difficulty, game_type::GameType, resource_location::ResourceLocation,
- serializable_uuid::SerializableUuid, BlockPos, Direction, Slot,
+ serializable_uuid::SerializableUuid, BlockPos, ChunkSectionPos, Direction, Slot,
};
use byteorder::{BigEndian, WriteBytesExt};
use std::{collections::HashMap, io::Write};
@@ -425,3 +425,14 @@ impl McBufWritable for Direction {
buf.write_varint(*self as i32)
}
}
+
+// ChunkSectionPos
+impl McBufWritable for ChunkSectionPos {
+ fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> {
+ let long = (((self.x & 0x3FFFFF) as i64) << 42)
+ | (self.y & 0xFFFFF) as i64
+ | (((self.z & 0x3FFFFF) as i64) << 20);
+ long.write_into(buf)?;
+ Ok(())
+ }
+}