40 public static function create(
BlockPosition $baseBlockPosition, array $layer0Updates, array $layer1Updates) : self{
42 $result->baseBlockPosition = $baseBlockPosition;
43 $result->layer0Updates = $layer0Updates;
44 $result->layer1Updates = $layer1Updates;
57 $this->baseBlockPosition =
CommonTypes::getBlockPosition($in);
58 $this->layer0Updates = [];
59 for($i = 0, $count = VarInt::readUnsignedInt($in); $i < $count; ++$i){
60 $this->layer0Updates[] = UpdateSubChunkBlocksPacketEntry::read($in);
62 $this->layer1Updates = [];
63 for($i = 0, $count = VarInt::readUnsignedInt($in); $i < $count; ++$i){
64 $this->layer1Updates[] = UpdateSubChunkBlocksPacketEntry::read($in);
69 CommonTypes::putBlockPosition($out, $this->baseBlockPosition);
70 VarInt::writeUnsignedInt($out, count($this->layer0Updates));
71 foreach($this->layer0Updates as $update){
74 VarInt::writeUnsignedInt($out, count($this->layer1Updates));
75 foreach($this->layer1Updates as $update){