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

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

private static parseList ( $str, &$offset )
    private static function parseList($str, &$offset = 0)
    {
        $len = strlen($str);
        $key = 0;
        $value = null;
        $data = [];
        for (; $offset < $len; ++$offset) {
            if ($str[$offset - 1] === "]") {
                break;
            } elseif ($str[$offset] === "]") {
                ++$offset;
                break;
            }
            $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;
            }
            $key++;
        }
        return $data;
    }