权限系统基本是每个服主的必修课,Essentials的建筑控制正是基于权限系统对玩家一切使用方块的行为进行限制,从而可以使服主完全限制玩家的行为,包括放置,破坏,扔掉,拾取,使用指定方块,并且可以限制玩家与指定方块交互,如限制玩家使用按钮,开关等。
首先是最基本的建筑权限
- essentials.build
给予玩家此权限代表了玩家可以使用并放置所有方块。
如果当一个玩家没有 Essentials.build权限或者 build: false那么Essentials接着会检查如下权限
- essentials.build.place.<id>
- essentials.build.place.<id>:<data>
- essentials.build.break.<id>
- essentials.build.break.<id>:<data>
- essentials.build.interact.<id>
- essentials.build.interact.<id>:<data>
- essentials.build.craft.<id>
- essentials.build.craft.<id>:<data>
- essentials.build.pickup.<id>
- essentials.build.pickup.<id>:<data>
- essentials.build.drop.<id>
- essentials.build.drop.<id>:<data>
以上都是最基础的英文单词,相信大家都看的懂我就不一个个翻译了。
唯一需要解释的是 interact 权限 这代表了玩家与方块交互 例如使用按钮等。
但是放置方块,或者破坏方块也属于交互的一种,所以如果你想让一个玩家能放置或者破坏一个方块你需要同时给予那个玩家与此方块交互和放置两个权限。
通过给予玩家以上权限你就可以做到例如单独让玩家可以破坏某个方块,或者玩家只可以按按钮不能破坏方块之类的功能。
那如果你想单独让玩家不能破坏某个方块该如何设置呢
这里首先得说明一下groupmanager的权限设置格式
大家都知道如果我输入
- /mangaddp builder essentials.build.place.1
就是给予builder用户组放置石头的权限
而如果我输入
- /mangaddp builder -essentials.build.place.1
这两个指令之间只相差了一个 – 但是效果完全相反,添加了此权限玩家将不能放置石头。 – 代表了移除玩家的此权限。
当一个玩家同时拥有
- essentials.build.place.1
- -essentials.build.place.1
这两个权限时玩家将无法放置石头
因为在groupmanager判断权限时优先判断 -权限 这意味着就算你拥有建筑权限 你被加入了-essentials.build.place.1 那么你也是无法放置石头的。
以此为基础我们可以单独设置玩家不可以放置,使用的方块。
如果你想一次设定多个方块 你可以用 * 来代替 如羊毛方块的ID是35 一直到35:15
你可以给予玩家 Essentials.build.place.35:* 来给予玩家所有羊毛方块的放置权限