UID82897性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-7-23最后登录1970-1-1
| 本帖最后由 Cat_Anchor 于 2023-6-17 14:31 编辑
前言
|
今天,我们来学学对话。这又是一个比较冷门的内容。这个内容应该是在1.17中添加的。所谓对话(Dialogue),其实就是自定义的NPC对话。
| | NPC对话
|
打开行为包根目录,打开dialogue文件夹,这里用于存放NPC对话文件。
- {
- "format_version": "1.17.100",
- "minecraft:npc_dialogue": {
- "scenes": [ //数组里包括了若干个场景。
- { //一个场景
- "buttons": [ //数组里包括了若干个按钮。(就是可以执行命令的按钮。)
- { //一个按钮
- "commands": [ //要执行的命令。
- "/weather rain"
- ],
- "name": { //按钮上的文字。可以用语言文件翻译。
- "rawtext": [
- {
- "text": "播放下雨效果"
- }
- ]
- }
- },
- { //又一个按钮
- "commands": [
- "/weather clear" //命令
- ],
- "name": { //按钮上的文字
- "rawtext": [
- {
- "text": "清除天气效果"
- }
- ]
- }
- },
- { //还是一个按钮
- "commands": [
- "/give @initiator enchanted_book"
- ],
- "name": {
- "rawtext": [
- {
- "text": "空附魔书"
- }
- ]
- }
- }
- ],
- "npc_name": { //NPC的名字。可以使用语言文件。
- "rawtext": [
- {
- "text": "测试"
- }
- ]
- },
- "scene_tag": "test_tag", //场景标签。记住这个,一会儿要用在命令里。
- "text": { //NPC说的话。可以使用语言文件。
- "rawtext": [
- {
- "text": "NPC进行测试。"
- }
- ]
- },
- "on_close_commands": [
- "/say 退出"
- ], //关闭NPC界面时运行的命令。
- "on_open_commands": [
- "/say 进入"
- ] //打开NPC界面时运行的命令。
- }
- ]
- }
- }
复制代码
打开游戏,使用命令“/summon npc”生成一个npc。然后使用命令“/dialogue open @e[c=1] @p 场景标签”来打开你刚才设定的NPC对话框。(注:命令中的“场景标签”四个字要替换成具体的场景标签,上面的代码示例中,场景标签是test_tag。)
如果你把上面的代码复制下来,放进你的行为包根目录/dialogue/名字.json,再运行上述命令,你会看到:
NPC的名字是“测试”。
NPC的对话框中的文字是“NPC进行测试。”
有3个按钮,分别是“播放下雨效果”(按下会下雨)“清除天气效果(按下会变成晴天)”“空附魔书(给予按按钮的玩家一本附魔书)”。
进入NPC界面时,在聊天栏提示“进入”。
退出NPC界面时,在聊天栏提示“退出”。
可以在这里自动生成一个NPC对话文件。
| | 总结
|
这一期,我们学完了对话。下一期,我们就要讲生成规则了。
|
|
|