对话定义¶
本页列出国际版行为包NPC对话定义文件的主要结构。NPC对话定义文件存放于行为包的dialogue/目录,根键为minecraft:npc_dialogue。
对话文件¶
| 字段 | 类型 | 说明 |
|---|---|---|
format_version | 字符串 | 声明定义文件使用的数据格式版本。应使用1.20.80或更高版本。 |
minecraft:npc_dialogue | 对象 | NPC对话定义根对象,包含场景定义。 |
minecraft:npc_dialogue¶
| 字段 | 类型 | 说明 |
|---|---|---|
scenes | 数组 | 对话场景定义数组。每个对话场景代表NPC的一幕对话交互。 |
场景对象¶
每个场景对象定义对话的一个状态,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
scene_tag | 字符串 | 场景的唯一标识符,用于通过/dialogue命令引用此场景。 |
npc_name | 字符串 | NPC在此场景中显示的名称。支持原始文本(Raw Text)格式。 |
text | 字符串 | 对话文本内容。支持原始文本格式。 |
buttons | 数组 | 对话界面中显示的按钮列表。每个按钮包含名称和执行命令。最多可定义6个按钮。 |
on_open_commands | 数组 | 场景打开时自动执行的命令列表。 |
on_close_commands | 数组 | 场景关闭时自动执行的命令列表。 |
按钮对象¶
每个按钮对象定义对话界面中的一个可交互按钮,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
name | 字符串 | 按钮显示的文本。 |
commands | 数组 | 玩家点击该按钮时执行的命令列表。 |
结构示例¶
NPC对话定义示例
{
"format_version": "1.20.80",
"minecraft:npc_dialogue": {
"scenes": [
{
"scene_tag": "greeting",
"npc_name": "向导",
"text": "你好,旅行者!",
"buttons": [
{
"name": "了解更多",
"commands": ["/dialogue change @s greeting_detail"]
},
{
"name": "再见",
"commands": ["/dialogue close @initiator"]
}
]
},
{
"scene_tag": "greeting_detail",
"npc_name": "向导",
"text": "欢迎来到这片土地。",
"buttons": [
{
"name": "返回",
"commands": ["/dialogue change @s greeting"]
}
]
}
]
}
}