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);