⏹️按钮
所有关于按钮的信息
信息
按钮允许你 自定义 你菜单中的操作。你需要指定每个按钮的类型,并配置特定于该按钮类型的元素。下面是插件默认集成的按钮类型;其他插件也可以添加新的按钮类型。
对于每个按钮,你必须指定一个 Item。要了解如何配置 Item,请访问 这里。
配置
以下是所有类型的按钮共有的配置元素。你可以在不同的按钮类型中通用地使用这些元素。
example:
# 选择按钮类型,默认值为 NONE
type: <button type>
# 设置按钮的槽位,默认值为 0
slot: <slot>
# 设置按钮的多个槽位,默认值为空
slots: <list of slot>
# 设置按钮所在的页码,默认值为 1
page: <page>
# 定义按钮是否应该在所有页面上出现
isPermanent: <true or false>
# 显示的物品,请查看物品文档
item: <itemstack>
# 点击时播放的声音
sound: <sound from XSound>
# 声音音量
volume: <volume of sound>
# 声音音调
pitch: <pitch of sound>
# 点击时发送的消息
messages: <list of messages>
# 消息列表中显示的链接
openLink:
link: <link>
message: <message>
replace: <replace placeholder>
hover: <list of messages>
# 点击时关闭菜单
closeInventory: <true or false>
# 点击时刷新物品名称和描述
refreshOnClick: <true or false>
# 显示玩家头像,需要占位符或玩家名称
playerHead: <placeholder>
# 你可以设置一个或多个权限来显示该物品
permission: <permission>
# 如果未检查(占位符检查、权限或其他),显示另一个按钮
else: <else button>
# 占位符
placeholder: <placeholder>
# 占位符值
value: <value for placeholder>
# 占位符操作
action: <action for placeholder>
# 占位符列表
placeholders: <list of placeholder>
# 点击时更新按钮(更新所有内容)
update: <boolean>
# 玩家发送的指令
commands: <list of text>
# 控制台点击时发送的指令
consoleCommands: <list of text>
# 控制台右击时发送的指令
consoleRightCommands: <list of text>
# 控制台左击时发送的指令
consoleLeftCommands: <list of text>
consolePermissionCommands: <list of text>
consolePermission: <permissions>
# 点击时更新物品名称和描述
updateOnClick: <boolean>
# 设置玩家应该具备的要求以查看按钮
view_requirement: <requirement>
# 设置玩家应该具备的要求以点击按钮
click_requirement: <requirement>类型
按钮的类型。默认情况下,类型将设置为 NONE。如果你想执行特定的操作,设置按钮类型是很重要的。
槽位
指定物品显示的槽位。

要在多个槽位中显示按钮,可以这样做:
你还可以使用以下格式创建槽位范围:<startslot>-<endslot>。
页面
允许你指定按钮将显示的页面。默认情况下,页面设置为 1。
是否永久
允许你指定按钮是否应显示在菜单的所有页面上。如果你的菜单只有一页,你不需要使用此选项。
使用缓存
允许你启用或禁用物品的缓存。如果按钮物品不包含占位符,默认情况下将始终使用缓存。
物品
允许你指定将显示的物品。有关更多信息,请点击 这里。
声音
允许你在玩家点击时播放声音。你必须使用 XSound 中可用的声音。你还可以调整声音的音调和音量。
消息
允许你在点击时向玩家发送消息列表。你可以使用 MiniMessage 格式发送具有点击或悬停操作的消息。
打开链接
允许你向玩家发送可点击的消息。你需要在消息列表中包括一个文本,该文本将被可点击的链接替代。下面是一个示例。
请仅在你的服务器运行较旧版本的 Minecraft 时使用此功能。否则,请使用 MiniMessage 格式,它更易于使用。
示例:
关闭菜单
允许你在点击后关闭菜单。
点击时刷新
允许按钮在点击后刷新。你可以使用此功能创建商店等。默认配置中提供了一个示例。
玩家头像
允许你基于占位符显示玩家的头像。你可以使用占位符 %player% 来显示打开菜单的玩家的头像。
一个缓存系统确保直接显示头像的皮肤。
权限
允许你定义玩家必须拥有的权限才能显示物品。你可以通过在权限前添加 ! 来反转权限,这将使插件检查玩家 不 拥有该权限。
你还可以定义玩家必须拥有的权限列表:
或权限
允许你定义权限列表,玩家只需拥有其中之一。
否则
允许你在玩家不具备所需权限时显示一个 else 按钮。你可以连续放置多个 else 按钮而不会出现问题。默认配置中可以找到这种用法的示例。
示例:
占位符
允许你使用占位符。如果你的按钮需要更高级的配置,如某些条件设置等,你可以使用占位符来检查条件并执行操作。
示例:
更新
允许你在每次点击时更新按钮。update 配置表示是否在每次点击时更新所有内容。此功能用于创建动态按钮。
指令
允许你定义玩家点击时将执行的指令。你可以添加多个指令,并在指令行上添加占位符。
控制台指令
允许你定义点击按钮时将在控制台上执行的指令。你可以使用占位符。
控制台右击指令
控制台左击指令
控制台权限指令
控制台权限
允许你定义要在控制台执行的指令。你还可以指定所需权限。
更新物品名称和描述
允许你在点击时更新按钮物品的名称和描述。
查看要求
允许你设置玩家查看按钮所需的要求。
点击要求
允许你设置玩家点击按钮所需的要求。
操作
操作定义了点击时执行的行为,包括发送消息、执行指令、打开书籍等。更多信息可以参考 操作部分。
错误项 (zMenu+)
包含失败项的菜单示例:
在此示例中,如果玩家不在创造模式下,将显示一个名称为“Error”的障碍物,持续时间为10刻。

NONE
NONE 类型是默认类型;它仅显示一个按钮。如果插件没有检测到其他类型,则会自动选择它。
INVENTORY
INVENTORY 类型允许玩家打开一个新的菜单。
inventory: 你要打开的菜单名称,应与菜单文件的名称匹配。plugin: 源菜单的插件名称。建议指定插件名称,以避免打开具有相同名称的不同菜单。toPage: 要打开的页面编号。默认值是第一页。arguments: 可以添加的参数列表。每个参数可以包含名称,格式为:<name>:<value>。
必须指定菜单名称,即菜单存储文件的名称。此外,建议指定插件名称,以避免混淆如果两个菜单共享相同名称。
BACK
BACK 类型允许你返回到上一个菜单。
HOME
HOME 类型允许你返回到主菜单,即第一个打开的菜单。
NEXT
NEXT 类型允许你前往下一页(如果存在)。你可以使用 else 元素来显示另一个按钮,如果没有下一页。
示例:
PREVIOUS
PREVIOUS 类型允许你前往上一页(如果存在)。你可以使用 else 元素来显示另一个按钮,如果没有上一页。
MAINMENU
MAINMENU 类型允许你返回到 config.json 中指定的主菜单。
JUMP
JUMP 类型允许你跳转到预定义的页面。
分页 (zMenu+)
包含分页按钮的菜单示例:
在此示例中,物品将跨多个页面显示在槽位21、22和23。
物品列表包括材料和名称。你可以在列表中放置任何你想要的内容。要使用这些值,必须使用占位符键进行引用。在此示例中,键将是 %material% 和 %name%。
你还可以这样修改值:
%lower_<key>%- 以小写显示值。%upper_<key>%- 以大写显示值。%capitalize_<key>%- 首字母大写显示值。
你可以在要求、指令和其他占位符中使用占位符。

动态分页(DYNAMIC PAGINATION) (zMenu+)
此功能允许你使用占位符创建动态菜单,提供无限可能性,例如创建排名系统。唯一的限制是你的想象力。
在下面的示例中,占位符由 zMenu+ 生成作为示例:
%zmenu+_pagination_size%- 返回列表的大小。此值会在插件加载时更改。%zmenu+_pagination_name_<index>%- 根据索引返回文本。文本在插件加载时自动生成。
你必须使用 start 和 end 指定分页的开始和结束,这些值与 PlaceholderAPI 一起使用。
此外,你还有三个内部占位符帮助你识别显示的按钮编号:
%index%- 返回按钮的索引,从0开始。%current%- 返回按钮的索引加1,从1开始。%value%- 返回按钮的值。
如果你的分页不是从0开始,你必须使用此占位符来获取按钮的正确索引。

输入 (zMenu+)
此功能允许玩家在聊天中输入消息,并根据成功或错误触发操作。
输入类型:
NUMBER - 检查数字;你可以设置最小值和最大值。
TEXT - 检查文本输入;你可以设置正则表达式模式进行验证。
ONLINE_PLAYER - 检查输入是否与在线玩家的昵称匹配。
你可以根据输入类型添加条件:
对于 NUMBER,你可以指定最小值和最大值。
对于 TEXT,你可以使用正则表达式进行
验证。
示例: 在此示例中,按钮检查所选数字是否在0到100之间。

Last updated