对话系统
对话命令可使用专属命令机制,详见 此处。

主标签始终在顶部(可选),然后依次是视觉字段、输入字段和自定义按钮。这是 Minecraft 对话窗口的处理顺序,未来可能改变。
每个文件可包含多个对话,便于组织。
welcome:
Enabled: true
Label: '{#white}欢迎 {#gray}%cmi_user_display_name% {#white}来到 {#edward}%cmi_user_world_formatted%'
Description:
Width: 300
Lines:
- '{#green}地球上最好的 Minecraft 服务器!'
- ''
- '{#white}很高兴你在这里 %cmi_user_display_name%{#white}!'
- '如有问题,请随时询问管理员'
VisualFields:
- Width: 300
Lines:
- '{#brown}额外信息行!'
Buttons:
Columns: 3
List:
- Label: '{#red}阅读规则'
Width: 100
OpenDialog: license
Tooltip:
- '{#red}开始游戏前请先阅读!'
- Label: '{#green}读个笑话'
Width: 100
OpenDialog: 'randomtext'
- Label: '{#edward}开始游戏'
Width: 100
Commands:
- closeinv!
字段说明
- Enabled — 启用/禁用对话
- Label — 顶部标题(可选)
- Description — 描述区域(Width: 宽度, Lines: 文本行)
- VisualFields — 视觉字段(仅显示信息)
- Buttons — 按钮区域
- Columns — 列数
- Label — 按钮文本
- Width — 按钮宽度
- OpenDialog — 点击打开另一个对话
- Tooltip — 悬停提示
- Commands — 点击执行的命令
- InputFields — 输入字段(玩家可输入文本)
- Label — 输入框标签
- Key — 用于在命令中引用输入值的键名
- Width — 输入框宽度
- Default — 默认值
- MaxLength — 最大长度
输入字段示例
inputexample:
Enabled: true
Label: '选择物品'
InputFields:
- Label: '输入物品名称'
Key: itemname
Width: 200
Default: 'diamond'
MaxLength: 50
Buttons:
Columns: 1
List:
- Label: '{#green}确认'
Width: 200
Commands:
- closeinv!
- asConsole! cmi give [playerName] %dialog_input_itemname% 1
- Label: '{#red}取消'
Width: 200
Commands:
- closeinv!
使用 %dialog_input_键名% 引用输入字段的值。