31 private array $intProperties,
32 private array $floatProperties,
40 return $this->intProperties;
48 return $this->floatProperties;
51 public static function read(ByteBufferReader $in) : self{
53 $floatProperties = [];
55 for($i = 0, $count = VarInt::readUnsignedInt($in); $i < $count; ++$i){
56 $intProperties[VarInt::readUnsignedInt($in)] = VarInt::readSignedInt($in);
58 for($i = 0, $count = VarInt::readUnsignedInt($in); $i < $count; ++$i){
59 $floatProperties[VarInt::readUnsignedInt($in)] = LE::readFloat($in);
62 return new self($intProperties, $floatProperties);
65 public function write(ByteBufferWriter $out) : void{
66 VarInt::writeUnsignedInt($out, count($this->intProperties));
67 foreach($this->intProperties as $key => $value){
68 VarInt::writeUnsignedInt($out, $key);
69 VarInt::writeSignedInt($out, $value);
71 VarInt::writeUnsignedInt($out, count($this->floatProperties));
72 foreach($this->floatProperties as $key => $value){
73 VarInt::writeUnsignedInt($out, $key);
74 LE::writeFloat($out, $value);