33 private array $xCoordinates,
34 private array $yCoordinates,
35 private array $zCoordinates
41 public function getCells() : array{ return $this->cells; }
58 public static function read(ByteBufferReader $in) : self{
60 for($i = 0, $cellsCount = VarInt::readUnsignedInt($in); $i < $cellsCount; ++$i){
61 $cells[] = SerializableVoxelCells::read($in);
65 for($i = 0, $xCoordinatesCount = VarInt::readUnsignedInt($in); $i < $xCoordinatesCount; ++$i){
66 $xCoordinates[] = LE::readFloat($in);
70 for($i = 0, $yCoordinatesCount = VarInt::readUnsignedInt($in); $i < $yCoordinatesCount; ++$i){
71 $yCoordinates[] = LE::readFloat($in);
75 for($i = 0, $zCoordinatesCount = VarInt::readUnsignedInt($in); $i < $zCoordinatesCount; ++$i){
76 $zCoordinates[] = LE::readFloat($in);
87 public function write(ByteBufferWriter $out) : void{
88 VarInt::writeUnsignedInt($out, count($this->cells));
89 foreach($this->cells as $cell){
93 VarInt::writeUnsignedInt($out, count($this->xCoordinates));
94 foreach($this->xCoordinates as $value){
95 LE::writeFloat($out, $value);
98 VarInt::writeUnsignedInt($out, count($this->yCoordinates));
99 foreach($this->yCoordinates as $value){
100 LE::writeFloat($out, $value);
103 VarInt::writeUnsignedInt($out, count($this->zCoordinates));
104 foreach($this->zCoordinates as $value){
105 LE::writeFloat($out, $value);