🛠️ 准备工作:插件全家桶
- 必装插件:
- Chemdah(核心)
- Adyeshach(NPC生成器)
- PlaceholderAPI(变量必备)
- 可选:Residence(领地限制任务)、Vault(经济奖励)
- 基础操作:
- 用
/npc create <名字>
生成Adyeshach的NPC,记住它的UUID(后续要绑定任务!) - Chemdah的配置文件在
/plugins/Chemdah
里,任务和对话都是YAML格式,别手抖写错缩进!
- 用
🎯 第一部分:Chemdah任务系统实战
1️⃣ 基础任务配置:让NPC发个「杀10只僵尸」任务
# plugins/Chemdah/quests/kill_zombie.yml quests: zombie_killer: name: "丧尸围城!救命!" # 任务标题 objectives: # 任务目标 kill_zombie: type: ENTITY_KILL # 类型:击杀实体 entity: ZOMBIE # 僵尸 amount: 10 # 杀10只 rewards: # 奖励 - type: MONEY # 给钱 amount: 100 - type: MESSAGE # 发个恭喜消息 message: "恭喜!你获得了[丧尸克星]称号!"
2️⃣ 绑定到Adyeshach的NPC
# 在Adyeshach的NPC交互设置里添加: - type: CHEMDAH_QUEST # 触发Chemdah任务 value: quest: zombie_killer # 对应任务ID action: START # 点击NPC接任务
效果:玩家右键NPC → 接任务 → 杀满10僵尸 → 自动领奖励!
💬 第二部分:让NPC和你唠嗑!Chemdah对话系统
1️⃣ 基础对话树:NPC的碎碎念
# plugins/Chemdah/conversations/old_man.yml conversations: village_guide: scenes: # 对话场景 start: # 初始对话 messages: # NPC说的话 - "年轻人,村口的野猪最近好猖狂,能帮帮我吗?" choices: # 玩家选项 - "没问题!": "accept_quest" - "下次一定!": "bye" accept_quest: messages: - "太感谢了!这是给你的奖励!" actions: # 触发任务 - type: QUEST quest: kill_pig action: START bye: messages: - "唉...现在的年轻人啊..."
2️⃣ 让Adyeshach的NPC激活对话
# 在Adyeshach的NPC设置中添加对话触发: - type: CHEMDAH_CONVERSATION value: village_guide # 对应对话ID
效果:右键NPC → 弹出选项 → 选择不同分支触发任务或吐槽!
🚀 高阶玩法:任务进度对话 & 条件限制
1️⃣ 根据任务进度切换NPC对话
# 在对话场景中添加条件 scenes: check_progress: conditions: # 条件判断 - type: QUEST_OBJECTIVE # 任务进度 quest: kill_pig objective: kill_pig operator: ">=" value: 5 messages: - "你已经杀了5只野猪了,加油!"
2️⃣ 只有特定领地才能接任务
# 在任务文件中添加限制 quests: kill_pig: conditions: - type: RESIDENCE # 需要站在领地内 area: "farmland"
🔥 常见问题急救包
- Q:NPC不显示对话?
A:检查Adyeshach的交互事件是否绑定了正确的Conversation ID! - Q:任务完成了没反应?
A:用/chemdah debug
开启调试模式,看日志报错! - Q:如何让NPC说话带变量?
A:用PlaceholderAPI,比如message: "你好,%player_name%!"
结语:
Chemdah+Adyeshach的组合拳能让你的服务器剧情感拉满!赶紧复制上面的代码去调戏NPC吧~ 遇到问题欢迎在评论区拍砖,看到必回!✨
(教程代码经过1.18.2版本实测,其他版本可能需要微调,动手前记得备份!)
当前仅支持登录后发布评论