Skip to content
This repository was archived by the owner on Jan 16, 2024. It is now read-only.
This repository was archived by the owner on Jan 16, 2024. It is now read-only.

LL权限组无法正确加载数据文件中的权限信息 #6

@harry-xi

Description

@harry-xi

环境

在llse的qiuckjs环境中进行的测试
LiteLoader版本 2.9.2
PermissionAPI版本 v2.9.0

发生了什么

LL权限组无法正确加载数据文件中的权限信息。

复现

第一步

编写并运行如下QJS插件 运行的输出见代码内的注释

log(Permission.permissionExists("test:test"));
// 第一次启动本插件 这里输出 0  符合期待

try {
    Permission.registerPermission("test:test", "test");
} catch (error) {
    log(error);
    // 第一次启动本插件 未发现本输出  符合期待
}

log(Permission.permissionExists("test:test"));
// 第一次启动本插件 这里输出 1  符合期待

第二步

输入perm list perm得到以下输出

23:03:01 INFO [Server] 权限列表:
23:03:01 INFO [Server] * PermissionAPI:cmd_control: Access to /perm commands
23:03:01 INFO [Server] * test:test: test

输入stop关闭服务器。
查看\plugins\PermissionAPI\data.json
此时内容如下

{
    "permissions": {
        "PermissionAPI:cmd_control": {
            "desc": "Access to /perm commands"
        },
        "test:test": {
            "desc": "test"
        }
    },
    "roles": {
        "admin": {
            "displayName": "§cadmin",
            "members": [],
            "permissions": {},
            "priority": 2147483647
        },
        "everyone": {
            "displayName": "§7everyone",
            "permissions": {},
            "priority": 0
        }
    }
}

如果需要此时的相关文件的原始文件,下载这个
plugins-firstTimeRun.zip

第三步

再次启动服务器,并观察插件输出,结果如下(依旧采用代码内注释的形式标注)

log(Permission.permissionExists("test:test"));
// 第二次启动本插件 这里输出 1  不符合期待

try {
    Permission.registerPermission("test:test", "test");
} catch (error) {
    log(error);
    // 第二次启动本插件 未发现本输出  不符合期待
}

log(Permission.permissionExists("test:test"));
// 第二次启动本插件 这里输出 1  符合期待

查看\plugins\PermissionAPI\data.json 发现内容与之前相同

第四步

移除测试插件
启动服务器
启动后,输入perm list perm
得到如下输出

23:08:19 INFO [Server] 权限列表:
23:08:19 INFO [Server] * PermissionAPI:cmd_control: Access to /perm commands

此时文件\plugins\PermissionAPI\data.json内容为

{
    "permissions": {
        "PermissionAPI:cmd_control": {
            "desc": "Access to /perm commands"
        }
    },
    "roles": {
        "admin": {
            "displayName": "§cadmin",
            "members": [],
            "permissions": {},
            "priority": 2147483647
        },
        "everyone": {
            "displayName": "§7everyone",
            "permissions": {},
            "priority": 0
        }
    }
}

综上所述

LL权限组无法正确加载数据文件中的权限信息。

补充信息:第四步是我写到这里时才想起来补充的,所得结果使得上序步骤意义不明,但是我懒得删了,所以就留着吧,希望没有给阅读带来挑战

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions