/dialogue 命令

/dialogue 命令

来源:Commands/dialogue,英文修订 ID:3283123。

此命令仅适用于基岩版与 Minecraft Education,所需权限等级为 1,需要启用作弊。不要与 Java 版 /dialog 混淆。

向玩家打开 NPC 对话界面,或更改 NPC 显示的对话。

用法

通过场景文件可以实现分支对话。场景文件是活动行为包根目录 dialogue 文件夹中的 JSON 文件,包含分支对话需要的所有信息。场景文件数量不限;游戏读取文件夹中的所有文件,并依据场景数据中的 scene_tag 属性调用。设置方法见 NPC 对话文档。

语法

dialogue open <npc: target> <player: target> [sceneName: string]

强制向目标玩家打开目标 NPC 的对话框,模拟点击 NPC 的体验;也可指定要显示的场景。

dialogue change <npc: target> <sceneName: string> [player: target]

依据目标场景更改目标 NPC 的内容,包括对话、命令和名称。这会关闭对话框,并在下次与 NPC 交互时使用更新内容。可以按玩家分别更新;未指定玩家时为所有玩家更新。

参数

npc: target(CommandSelector<Actor>):要打开界面的 NPC,必须只选中一个具有 minecraft:npc 组件的实体。

player: target(CommandSelector<Player>):要显示 NPC 界面的玩家,必须为玩家名称或玩家类型选择器。open 模式必填;change 模式省略时影响所有玩家。

sceneName: string:行为包 dialogue 文件夹内场景的 scene_tag。change 模式必填;open 模式省略时使用上次显示的对话。

结果与输出

命令不完整或任一参数指定错误时无法解析。下列情况失败:NPC 目标未解析为一个具有 minecraft:npc 组件的实体、玩家选择器不是玩家类型、玩家目标未解析为一名或多名在线玩家,或场景名称未解析为行为包中的对话标签。其他情况成功。

失败时成功次数为 0,成功时为 1。

示例

向最近玩家打开带 ducky 标签 NPC 的 ducky_intro 场景:

dialogue open @e[type=npc, tag=ducky] @p ducky_intro

为交互发起者更新该 NPC 的对话场景。原文说明写作 duck_intro,代码使用 ducky_intro,以下代码按原样保留:

dialogue change @e[type=npc, tag=ducky] ducky_intro @initiator

外部链接


本文为 Minecraft Wiki 对应英文条目的中文翻译与改编,已按要求省略变更历史。原作者与贡献者见来源页及其历史;除另有说明外,按 CC BY-NC-SA 3.0 非商业、署名、相同方式共享。