组件
所有显示和交互元素均在components中定义。
每个组件都必须包含一个唯一标识名,必须定义组件的类型,例如type: text。
对话框组件遵循三段式布局:
- 文本和物品组件始终位于顶部。
- 输入组件(如输入框、单选按钮、滑块、复选框)位于中部。
- 按钮位于底部。
所有组件均严格遵循此“上-中-下”的类型分组布局。你可以在layout中自定义每块区域内的组件顺序。
支持的组件类型
| 类型 | 描述 | 顺序位置 |
|---|---|---|
| 文本 | 支持格式化的简单文本标签 | 上 |
| 物品 | 带有文本的物品图标 | 上 |
| 输入 | 可自由输入的文本框 | 中 |
| 单选按钮 | 按钮形式的下拉菜单选项 | 中 |
| 滑条 | 滑条形式的数值选择 | 中 |
| 复选框 | 切换开关(true/false) | 中 |
| 按钮 | 可点击触发操作的按钮 | 下 |
表单行为与显示机制
layout控制组件的横向排序(从左到右)。- 列于同一序号键下的组件,仅显示其中一个(按照从上到下的顺序检查条件,显示第一个符合条件的组件)。
columns决定每行能显示多少元素。
所有用户输入的值都会保存在%commandpanels_session_<组件名称>%形式的占位符中。示例:
- 如果你的组件是
inp0,使用%commandpanels_session_inp0%来获取值。
用按钮执行命令
只有按钮才能执行命令操作。输入组件仅作为数据源,将值写入临时会话数据中。你可以在按钮设置的命令中,使用面板内其他输入组件的会话数据来构造动态命令。
组件配置
每个组件都是独立的配置架构。大多数配置项如果未在面板中定义,则使用默认值。
显示文本
显示正文或标准文本。可根据需要定义多个文本块。
type: text
width: 200
name: '&6欢迎来到对话框面板'
显示物品
物品的配置项与箱子面板相同。
type: 'item'
material: 'STONE'
name: '自定义物品名称'
width: 16
height: 16
text: '这是显示在物品旁边的文本'
# 可继续添加其他配置项
输入框
文本输入框。若需支持多行,行数和高度必须定义。去除多行选项将保持输入框为单行。
type: 'input'
width: 200 # 自定义元素宽度
name: '输入框上方的文本'
initial: '输入框中的默认文本'
max-length: 60 # 最大输入字数
multiline-rows: 3
multiline-height: 200
选项
按钮样式组件,可供用户从一系列预定义选项中选取其中一个。
type: 'option'
name: '值前面的文本'
width: 200 # 自定义元素宽度
initial: '创造' # 默认选择的值
options:
- '生存'
- '创造'
- '旁观'
滑条
在指定范围内选取特定数值的滑条。
type: 'range'
name: '滑条的名称'
width: 200 # 自定义元素宽度
initial: 50 # 默认值
step: 1 # 步长
start: 0 # 最小值
end: 100 # 最大值
复选框
二元选择输入组件,initial定义面板打开后要默认显示的状态。
type: 'boolean'
name: '复选框的名称'
initial: false # 默认显示状态,填true或false
按钮
可触发操作的点击按钮。
type: 'button'
name: '显示的名称'
width: 200 # 自定义元素宽度
url: 'https://bing.com' # 打开一个链接,不会执行命令
clipboard: '将文本复制到剪贴板,不会执行命令'
tooltip: '鼠标悬停在按钮上时显示的文本'
actions:
commands:
- '[msg] 你点了下按钮'