• 游客, 欢迎您来到九域资源社区,如果您是新人,请前往 论坛公告 板块查看新人引导教程 或者 点我打开
    如果您发现没有下载许可, 请先验证邮箱再进行下载;金锭可通过每日登陆或资源出售获取,目前没有其他渠道可获取。
StazzasNPC-Cobblemon的自定义NPC+内置任务系统,如果觉得Adyeshach等npc插件繁琐的不妨试试我吧,无需数据包,超强大的任务系统[1.21.1][Arclight]

付费插件 StazzasNPC-Cobblemon的自定义NPC+内置任务系统,如果觉得Adyeshach等npc插件繁琐的不妨试试我吧,无需数据包,超强大的任务系统[1.21.1][Arclight] 2026-02-08

没有购买权限 (128.00 钻石)
◆ 支持核心
Arclight
◆ 插件前置
PlaceholderAPI[可选]
◆ 游戏版本
1.21.1

📕 介绍​

本插件是一款能够在插件内对Cobblemon的Npc进行创建的插件,支持Arclight,暂时不支持Youer。该插件支持高度自定义的配置,npc编辑,自定义任务,自定义npc交换精灵,还能编辑npc预设与npc的行为,已经支持对话框ui的自定义背景!数据包的npc如果你觉得太繁杂了,那不妨来试试这款插件
👇视频演示请查收


注:npc精灵交换功能暂时有bug,暂时下了

🔧 指令列表

/cbn reloadstazzasnpc.reload重载所有配置
/cbn spawn <npc配置文件名>stazzasnpc.adm在玩家当前位置生成指定 NPC(省略.json )
/cbn remove <npc的uuid|npc的名字|npc资源名>stazzasnpc.adm根据 NPC 的 UUID、名称或资源id移除已注册的 NPC
/cbn liststazzasnpc.adm列出所有已注册的 NPC 信息
/cbn dialogue <对话框资源名> [玩家名]stazzasnpc.adm为指定玩家(未指定则为指令执行者)启动指定 资源名 的对话
/cbn removefrontstazzasnpc.adm移除玩家视线前方 10 格内的 NPC
/cbn internal animate <npc的uuid> <动画名称>stazzasnpc.adm触发指定 UUID 的 NPC 播放指定名称的动画
/cbn quest <give|complete|abort|menu|setstatus> [参数]stazzasnpc.admmenu:打开任务菜单;give:给指定玩家发放指定 ID 任务;complete:完成指定玩家指定 ID 任务;abort:终止指定玩家指定 ID 任务;setstatus:设置指定玩家指定任务的状态(可选:ACCEPTED、CONDITIONS_MET、COMPLETED)
/cbn visibility <玩家名> <npc资源名> <show|hide>stazzasnpc.adm为指定玩家显示 / 隐藏指定资源名的 NPC
/cbn trade <玩家名> <trade配置文件内部交换id>无(默认管理员权限)为指定玩家打开指定 ID 的宝可梦交换界面

⚙️ 占位符支持(PlaceholderAPI)​

%cbn_npc_name_<npc_id>%显示某 NPC 的显示名称
%cbn_quest_name_<quest_id>%显示某任务的显示名称
%cbn_quest_progress_<quest_id>%显示玩家当前进度
%cbn_quest_target_<quest_id>%显示任务所需完成总量
%cbn_quest_status_<quest_id>%显示任务原始状态
%cbn_quest_status_display_<quest_id>%显示任务本地化状态



npc配置文件示例
JSON:
{
  "type": "battle",
  "resourceIdentifier": "stazzasnpc:example",
  "names": [
    "NPC示例"
  ],
  "presets": [
    "stazzasnpc:looks_around"
  ],
  "behaviours": [],
  "interaction": [
    {
      "name": "优先级最高,权重(priority)越高优先级越高",
      "permission": "拥有了Permission内的权限就轮到下一个对话框",
      "prepermission": "如果没有prePermission就继续显示默认对话框,有了prePermission的权限才会进行这个对话框,拥有它的Permission后又才会进入下一个对话框",
      "priority": "3",
      "dialogue": "stazzasnpc:对话框配置文件纯英文"
    },
    {
      "name": "优先级第二",
      "priority": "2",
      "dialogue": "stazzasnpc:对话框配置文件纯英文"
    },
    {
      "name": "优先级第三",
      "priority": "1",
      "dialogue": "stazzasnpc:对话框配置文件纯英文"
    },{
      "name": "默认对话框",
      "priority": "0",
      "dialogue": "stazzasnpc:对话框配置文件纯英文"
    }
  ],
  "party": [
    "venusaur pokeball=master_ball uncatchable=true level=5 hp_iv=10 attack_iv=10 defence_iv=10 special_attack_iv=10 special_defence_iv=10 speed_iv=10",
    "charizard pokeball=master_ball uncatchable=true level=5 hp_iv=10 attack_iv=10 defence_iv=10 special_attack_iv=10 special_defence_iv=10 speed_iv=10",
    "blastoise pokeball=master_ball uncatchable=true level=5 hp_iv=10 attack_iv=10 defence_iv=10 special_attack_iv=10 special_defence_iv=10 speed_iv=10"
  ]
}

对话框配置文件示例
代码:
HEAD: name=NPC示例, face=cobblemon:example

--- start ---
NPC: 你好!想来玩个猜谜游戏吗?猜对了有奖励哦!
[CLIENT] q.face.play_animation('win');
* 来吧! -> question
* 不了 -> close

--- question ---
NPC: 听好了:什么东西早上四条腿,中午两条腿,晚上三条腿?(请输入中文答案)

--- input ---
type: text
action: q.dialogue.set_page('check_answer');

--- check_answer ---
NPC: {v.selected_option == '人' ? '太棒了!你答对了!' : '很遗憾,答案是“人”。'}

--- input ---
type: auto-continue
delay: 30
action: q.dialogue.close();


--- QUITTER ---
[QUITTER]滚

--- actions ---
declined: q.dialogue.close()
close: close
battle: q.dialogue.close() | v.battle = q.npc.start_battle(q.player)

任务配置文件示例
YAML:
#可选择open-dialogue: "guide:next_step" 完成任务后打开对话框
# start-dialogue: "hunter_briefing" 开始任务时打开对话框
# 1. 击杀怪物任务
kill_zombie_quest:
  display-name: "§c僵尸清理行动"
  lore:
    - "§7村庄周围出现了大量僵尸"
    - "§7请帮助我们清理它们"
    - "§f目标: 击杀 10 只僵尸"
  type: KILL_MOB
  target: ZOMBIE
  amount: 10
  completion-mode: NPC
  npc-id: "stazzasnpc:guard_captain"
  special-dialogue: "guard_thank_you"
  rewards:
    - "give %player% iron_ingot 5"
    - "msg %player% §a守卫队长: 感谢你的帮助!"

# 2. 上交物品任务
submit_wood_quest:
  display-name: "§a伐木工的请求"
  lore:
    - "§7我们需要木材来修补房屋"
    - "§f目标: 上交 32 个橡木原木"
  type: SUBMIT_ITEM
  target: OAK_LOG
  amount: 32
  completion-mode: NPC
  npc-id: "stazzasnpc:lumberjack"
  special-dialogue: "lumberjack_thanks"
  rewards:
    - "give %player% emerald 10"
    - "xp add %player% 500 points"

# 3. 捕捉宝可梦任务
catch_pikachu_quest:
  display-name: "§e寻找皮卡丘"
  lore:
    - "§7我一直想要一只皮卡丘作为伙伴"
    - "§f目标: 捕捉 1 只皮卡丘"
  type: CATCH_POKEMON
  target: "pikachu"
  amount: 1
  completion-mode: DIRECT
  rewards:
    - "give %player% cobblemon:thunder_stone 1"
    - "msg %player% §e任务完成!你获得了一块雷之石。"

# 4. 击败野生宝可梦任务
defeat_wild_quest:
  display-name: "§4森林探险"
  lore:
    - "§7森林里的绿毛虫泛滥成灾了"
  type: DEFEAT_POKEMON
  target: "caterpie"
  amount: 5
  completion-mode: DIRECT
  rewards:
    - "give %player% cobblemon:poke_ball 5"

# 5. 击败 NPC 训练师任务
defeat_gym_leader:
  display-name: "§b道馆挑战"
  lore:
    - "§7证明你的实力,击败道馆馆主"
    - "§f目标: 击败 NPC 训练师 'Brock'"
  type: DEFEAT_NPC
  target: "Brock" # 这里填写 NPC 的名字
  amount: 1
  completion-mode: NPC
  npc-id: "stazzasnpc:gym_guide"
  special-dialogue: "badge_ceremony"
  rewards:
    - "give %player% diamond 1"
    - "msg %player% §b恭喜你通过了道馆挑战!"

# 6. 放生宝可梦任务
release_pokemon_quest:
  display-name: "§2回归自然"
  lore:
    - "§7有些宝可梦更适合生活在野外"
    - "§f目标: 放生 3 只鲤鱼王"
  type: RELEASE_POKEMON
  target: "magikarp"
  amount: 3
  completion-mode: DIRECT
  rewards:
    - "give %player% heart_of_the_sea 1"

# 7. 进化宝可梦任务
evolve_eevee_quest:
  display-name: "§d进化的奥秘"
  lore:
    - "§7伊布拥有无限的可能性"
    - "§f目标: 进化 1 只伊布 (任意形态)"
  type: EVOLVE_POKEMON
  target: "eevee"
  amount: 1
  completion-mode: DIRECT
  rewards:
    - "give %player% cobblemon:rare_candy 2"

# 8. 获得球果任务
collect_apricorns_quest:
  display-name: "§c球果采集者"
  lore:
    - "§7我们需要制作更多的精灵球"
    - "§f目标: 获得 10 个红球果"
  type: OBTAIN_APRICORN
  target: "RED"
  amount: 10
  completion-mode: DIRECT
  rewards:
    - "give %player% cobblemon:poke_ball 10"

# 9. 对话任务
listen_story_quest:
  display-name: "§b古老的传说"
  lore:
    - "§7村里的老人似乎知道一些秘密"
    - "§f目标: 听老人讲故事"
  type: DIALOGUE
  target: "stazzasnpc:story_intro" # 目标对话ID
  amount: 1
  completion-mode: DIRECT # 实际上由对话中的指令触发完成
  npc-id: "stazzasnpc:story_teller" # 关联的NPC,只有找这个NPC才能触发对话
  rewards:
    - "xp add %player% 200 points"
    - "msg %player% §b你听完了故事,感到受益匪浅。"

# 10. 交换任务示例
trade_quest:
  display-name: "§b交换大师"
  lore:
    - "§7完成一次特定的宝可梦交换"
    - "§f目标: 完成 'pikachu_trade' 交换"
  type: TRADE_POKEMON
  target: "pikachu_trade"
  amount: 1
  completion-mode: NPC
  npc-id: "stazzasnpc:trader_joe"
  special-dialogue: "trade_complete_thanks"
  rewards:
    - "give %player% emerald 10"

# 11. 每日任务示例 (可重复接取)
daily_hunt_quest:
  display-name: "§6每日狩猎"
  lore:
    - "§7每天都可以完成一次的任务"
    - "§f目标: 击杀 20 只僵尸"
    - "§e冷却时间: 1天"
    - "§c限时: 1个Minecraft天"
  type: KILL_MOB
  target: ZOMBIE
  amount: 20
  completion-mode: DIRECT
  repeatable: true
  cooldown: "1d"          # 冷却时间: 1天 (s=秒, m=分, h=时, d=天)
  time-limit: "mc:1"      # 限时: 1个Minecraft天 (mc:X 表示X个MC天, 也可以用普通时间单位)
  retry-after-failure: true # 失败后是否允许重试 (如果false,失败后该任务将永久无法接取,除非重置)
  rewards:
    - "give %player% gold_ingot 5"
    - "msg %player% §6完成每日任务!"

# 12. 多任务示例
multi_task_quest:
  display-name: "§b多任务挑战"
  lore:
    - "§7完成多个目标"
    - "§f目标: 捕获 1 只皮卡丘,击败 5 只僵尸,上交 10 个橡木原木"
  type: MULTI
  completion-mode: NPC
  npc-id: "stazzasnpc:quest_giver"
  special-dialogue: "multi_task_complete"
  rewards:
    - "give %player% diamond 5"
    - "xp add %player% 1000 points"
  conditions:
    cond1:
      type: CATCH_POKEMON
      target: "pikachu"
      amount: 1
      description: "捕获 1 只皮卡丘"
    cond2:
      type: KILL_MOB
      target: "ZOMBIE"
      amount: 5
      description: "击败 5 只僵尸"
    cond3:
      type: SUBMIT_ITEM
      target: "OAK_LOG"
      amount: 10
      description: "上交 10 个橡木原木"
# 13. 坐标任务示例
explore_mountain:
  display-name: "&6探索高山"
  type: REACH_LOCATION
  location:
    world: "world"
    x: 100.5
    y: 80.0
    z: -200.5
    radius: 5.0
  open-dialogue: "welcome" # 到达后打开对话
  completion-mode: DIRECT
  rewards:
    - "give %player% diamond 1"
daily_hunt_quest:
  display-name: "&e每日狩猎"
  type: DEFEAT_POKEMON
  target: "PIDGEY"
  amount: 5
  #接取任务时打开的对话ID
  start-dialogue: "hunter_briefing"
  # 完成任务时打开的对话ID
  open-dialogue: "hunter_congrats"
  completion-mode: DIRECT
  rewards:
    - "give %player% emerald 10"
    - "xp add %player% 500 points"

📄 结语​

感谢使用 StazzasNPC 插件,我们持续更新更多功能。如果你有任何问题或建议,请加入方可梦技术交流群:966720491。
购买此插件只有使用权,没有分发权,请自觉
购买插件后 凭借购买记录 联系作者要授权码
作者QQ:1738964540
作者
Stazzas
价格
128.00 钻石
下载
3
查看
663
首次发布
最后更新
评分
0.00 星 0 星

分享资源

最新更新

  1. 修复交换崩端

    修复交换崩端
  2. 增加任务自动启动条件,修复bug

    增加任务自动启动条件,请删除任务的 all_example示例,生成新的,里面有新的示例