pocketmine\nbt\NBT::parseCompound PHP Метод

parseCompound() приватный статический Метод

private static parseCompound ( $str, &$offset )
    private static function parseCompound($str, &$offset = 0)
    {
        $len = strlen($str);
        $data = [];
        for (; $offset < $len; ++$offset) {
            if ($str[$offset - 1] === "}") {
                break;
            } elseif ($str[$offset] === "}") {
                ++$offset;
                break;
            }
            $key = self::readKey($str, $offset);
            $value = self::readValue($str, $offset, $type);
            switch ($type) {
                case NBT::TAG_Byte:
                    $data[$key] = new ByteTag($key, $value);
                    break;
                case NBT::TAG_Short:
                    $data[$key] = new ShortTag($key, $value);
                    break;
                case NBT::TAG_Int:
                    $data[$key] = new IntTag($key, $value);
                    break;
                case NBT::TAG_Long:
                    $data[$key] = new LongTag($key, $value);
                    break;
                case NBT::TAG_Float:
                    $data[$key] = new FloatTag($key, $value);
                    break;
                case NBT::TAG_Double:
                    $data[$key] = new DoubleTag($key, $value);
                    break;
                case NBT::TAG_ByteArray:
                    $data[$key] = new ByteArrayTag($key, $value);
                    break;
                case NBT::TAG_String:
                    $data[$key] = new StringTag($key, $value);
                    break;
                case NBT::TAG_List:
                    $data[$key] = new ListTag($key, $value);
                    break;
                case NBT::TAG_Compound:
                    $data[$key] = new CompoundTag($key, $value);
                    break;
                case NBT::TAG_IntArray:
                    $data[$key] = new IntArrayTag($key, $value);
                    break;
            }
        }
        return $data;
    }