pocketmine\utils\Binary::writeMetadata PHP Méthode

writeMetadata() public static méthode

Writes a coded metadata string
public static writeMetadata ( array $data ) : string
$data array
Résultat string
    public static function writeMetadata(array $data)
    {
        $m = "";
        foreach ($data as $bottom => $d) {
            $m .= chr($d[0] << 5 | $bottom & 0x1f);
            switch ($d[0]) {
                case Entity::DATA_TYPE_BYTE:
                    $m .= self::writeByte($d[1]);
                    break;
                case Entity::DATA_TYPE_SHORT:
                    $m .= self::writeLShort($d[1]);
                    break;
                case Entity::DATA_TYPE_INT:
                    $m .= self::writeLInt($d[1]);
                    break;
                case Entity::DATA_TYPE_FLOAT:
                    $m .= self::writeLFloat($d[1]);
                    break;
                case Entity::DATA_TYPE_STRING:
                    $m .= self::writeLShort(strlen($d[1])) . $d[1];
                    break;
                case Entity::DATA_TYPE_SLOT:
                    $m .= self::writeLShort($d[1][0]);
                    $m .= self::writeByte($d[1][1]);
                    $m .= self::writeLShort($d[1][2]);
                    break;
                case Entity::DATA_TYPE_POS:
                    $m .= self::writeLInt($d[1][0]);
                    $m .= self::writeLInt($d[1][1]);
                    $m .= self::writeLInt($d[1][2]);
                    break;
                case Entity::DATA_TYPE_LONG:
                    $m .= self::writeLLong($d[1]);
                    break;
            }
        }
        $m .= "";
        return $m;
    }

Usage Example

 public function encode()
 {
     $this->reset();
     $this->putLong($this->eid);
     $meta = Binary::writeMetadata($this->metadata);
     $this->put($meta);
 }
All Usage Examples Of pocketmine\utils\Binary::writeMetadata