权限菜单
在这里你可以找到自定义权限界面的教程。
全局设置
首先,通过 title(字符串)设置为菜单赋予自定义标题。之后,你可以自行配置其他选项:previous-menu(布尔值)决定是否在关闭菜单后显示上级菜单,type(字符串)决定菜单显示的界面类型,open-sound(声音格式)可以在打开菜单时播放自定义音效。
信息
你可以在这里找到有效的界面类型。
排版设置
让我们着手研究排版。排版部分决定了菜单的显示样式。这是一系列字符串,其中的每个字符都代表着菜单中显示的一个按钮。它应当包含一至六行的字符串,每个字符串包含九个字符——空格不算作字符。如果不同格子有两个相同的字符,则这两个格子会显示相同的物品。物品的实际显示内容不在这里配置,而是在 items 部分。
分页式菜单设置
权限菜单是分页菜单,它会显示一列可用的物品——在这里就是权限列表。它的数量可能会大于菜单实际拥有的格子数量,这种情况下菜单就需要分成多页。
这些类型的菜单有四个额外选项:
slots- 代表着权限的按钮。previous-page- 代表着翻回上一页的按钮。current-page- 代表着当前页的按钮。next-page- 代表着翻到下一页的按钮。
消息部分
权限菜单可以开放给指定玩家或职位。不同权限组是否有权浏览物品显示的消息由如下这些设置控制:
| 参数 | 类型 | 描述 |
|---|---|---|
no-role-permission | 字符串 | 当玩家当前职位无权设置时显示的文本。{} 可返回职位名称。 |
exact-role-permission | 字符串 | 当玩家当前职位正好符合职位要求时显示的文本。{} 可返回职位名称。 |
higher-role-permission | 字符串 | 当玩家当前职位高于所需要求时显示的文本。{} 可返回职位名称。 |
messages:
no-role-permission: '&8 - &c{}'
exact-role-permission: '&8 - &2{}'
higher-role-permission: '&8 - &a{}'权限配置部分
除了一般的菜单配置,权限菜单还有一个 permission 部分,可以控制所有菜单权限。每个权限都有自己的子配置,以岛屿权限的名称作为其键名。每个权限部分都有如下字段:
| 字段 | 类型 | 描述 |
|---|---|---|
display-menu | 布尔值 | 这个权限是否展示在菜单中。 |
permission-enabled | 配置部分(物品) | 权限启用时显示的物品。 |
permission-disabled | 配置部分(物品) | 权限禁用时显示的物品。 |
role-permission | 配置部分(物品) | 权限只对某一职位而非玩家开放时显示的物品。 |
has-access | 配置部分 | 包含一个声音部分(以及可选的命令部分),在设置权限时触发。 |
no-access | 配置部分 | 包含一个声音部分(以及可选的命令部分),在不能设置权限时触发。 |
role-permission 物品的描述支持两个自定义变量:{} - 返回当前拥有权限的职位;只有 {0} 的描述会被替换为拥有权限的职位列表,使用的格式则来自 messages 部分。
permissions:
all:
display-menu: true
permission-enabled:
type: BEDROCK
name: '&6全部'
lore:
- '&7允许使用岛屿的所有功能.'
- '&7当前状态为&a启用&7.'
permission-disabled:
type: BEDROCK
name: '&6All'
lore:
- '&7允许使用岛屿的所有功能.'
- '&7当前状态为&c禁用&7.'
role-permission:
type: BEDROCK
name: '&6All'
lore:
- '&7允许使用岛屿的所有功能.'
- '&7可用职位: &e{}&7.'
- ''
- '{0}'
has-access:
sound:
type: ORB_PICKUP
volume: 0.2
pitch: 0.2
no-access:
sound:
type: ANVIL_LAND
volume: 0.2
pitch: 0.2分类按钮
任务菜单会为玩家展示不同类别的任务。每个分类按钮所在的格子都不是在菜单中直接定义的——它是由 config.yml 文件 missions-categories 下的 slot 部分决定的。点击分类按钮之后就能展开分类下的任务菜单了。
你在这个菜单中配置的物品会用于显示格子——在同一个格子里设置的物品可以改变分类的外观。
物品设置
这就是你配置物品的地方。你可以在这里找到如何正确配置物品的教程。
物品设置
这就是你配置物品的地方。你可以在这里找到如何正确配置物品的教程。
声音设置
在这部分配置中你可以自定义玩家点击物品时发出的音效。你可以在这里找到正确配置音效的教程。
命令设置
在这部分配置中你可以自定义玩家点击物品时执行的命令。你可以在这里找到正确执行命令的教程。
权限设置
在这部分配置中你可以自定义玩家点击物品所需要的权限。你可以在这里找到正确配置权限条件的教程。
菜单示例
这是任务菜单的示例配置,涵盖了本章节教程提及的大部分技术及功能。
title: '&l权限控制面板'
previous-menu: true
pattern:
- '$ $ $ $ $ $ $ $ $'
- '$ @ @ @ @ @ @ @ $'
- '$ @ @ @ @ @ @ @ $'
- '$ @ @ @ @ @ @ @ $'
- '$ $ % $ * $ ^ $ $'
slots: '@'
previous-page: '%'
current-page: '*'
next-page: '^'
messages:
no-role-permission: '&8 - &c{}'
exact-role-permission: '&8 - &2{}'
higher-role-permission: '&8 - &a{}'
items:
'$':
type: STAINED_GLASS_PANE
data: 3
name: '&f'
'%':
type: PAPER
name: '{0}上一页'
'*':
type: DOUBLE_PLANT
name: '&a当前页'
lore:
- '&7第 {0} 页'
'^':
type: PAPER
name: '{0}下一页'
permissions:
animal_breed:
display-menu: true
permission-enabled:
type: WHEAT
name: '&6动物繁殖'
lore:
- '&7允许繁殖岛屿内的动物.'
- '&7当前状态为&aENABLED&7.'
permission-disabled:
type: WHEAT
name: '&6动物繁殖'
lore:
- '&7允许繁殖岛屿内的动物.'
- '&7当前状态为&cDISABLED&7.'
role-permission:
type: WHEAT
name: '&6动物繁殖'
lore:
- '&7允许繁殖岛屿内的动物.'
- '&7对应职位: &e{}&7.'
- ''
- '{0}'
has-access:
sound:
type: ORB_PICKUP
volume: 0.2
pitch: 0.2
no-access:
sound:
type: ANVIL_LAND
volume: 0.2
pitch: 0.2
# ... more privileges follow the same format ...
SnowCutieOwO