pocketmine\permission\Permission::loadPermission PHP Method

loadPermission() public static method

public static loadPermission ( string $name, array $data, string $default = self::DEFAULT_OP, array &$output = [] ) : Permission
$name string
$data array
$default string
$output array
return Permission
    public static function loadPermission($name, array $data, $default = self::DEFAULT_OP, &$output = [])
    {
        $desc = null;
        $children = [];
        if (isset($data["default"])) {
            $value = Permission::getByName($data["default"]);
            if ($value !== null) {
                $default = $value;
            } else {
                throw new \InvalidStateException("'default' key contained unknown value");
            }
        }
        if (isset($data["children"])) {
            if (is_array($data["children"])) {
                foreach ($data["children"] as $k => $v) {
                    if (is_array($v)) {
                        if (($perm = self::loadPermission($k, $v, $default, $output)) !== null) {
                            $output[] = $perm;
                        }
                    }
                    $children[$k] = true;
                }
            } else {
                throw new \InvalidStateException("'children' key is of wrong type");
            }
        }
        if (isset($data["description"])) {
            $desc = $data["description"];
        }
        return new Permission($name, $desc, $default, $children);
    }