• 如果您发现没有下载许可,请先验证邮箱再进行下载;金锭可通过每日签到或资源出售获取,目前没有其他渠道可获取。
  • 游客, 欢迎您来到九域资源社区,如果您是新人,请前往 论坛公告 板块查看新人引导教程 或者 点我打开
  • 已支持自助资源推荐投送,可在资源“更多选项”中使用金粒投放。
  • 已支持 API 上传资源版本更新,点击了解详情
  • 已支持付费资源设置购买协议,可在“更多选项”中设置。
  • 全站已支持 Markdown 格式文本编辑器,可自由选择使用 BB 代码或 Markdown 格式。
QueNPC —— 方可梦训练师|虚拟NPC|可对战/双打|原生对话框

原创 娱乐 方块宝可梦 QueNPC —— 方可梦训练师|虚拟NPC|可对战/双打|原生对话框 1.0.0

◆ 游戏版本
1.21.1
◆ 服务端核心
Arclight
◆ 模组加载器
  1. Fabric
  2. NeoForge

QueNPC —— 方可梦训练师|虚拟NPC|可对战/双打|原生对话框

给你的方可梦服务器添加NPC!

QueNPC(鹊之虚拟 NPC) 是面向 Cobblemon 的免费 NPC 插件。

当前版本:1.0.0
作者:山鹊
QQ 群:1101161988
下载:论坛更新可能不及时推荐加入QQ群

插件有什么功能?

NPC 不是实体

NPC 完全由发给客户端的数据包构成,不进世界的实体列表。

  • 不参与 tick,不算碰撞,不占实体计数
  • 不写进区块,存档不会因此变大
  • 不出现在 Tab 列表和 /list
  • 同一个 NPC 可以被很多人同时挑战

训练师允许太晶化

队伍里写上太晶属性,再打开开关:

代码:
/qnpc battle 石英馆主 team add garchomp level=50 tera_type=dragon
/qnpc battle 石英馆主 gimmick add tera

图形编辑器

/qnpc menu 打开,点「新建 NPC」,一路点下去。

名字、皮肤、姿势、发光颜色、体型、装备、动作、可见条件、队伍、AI 强度、奖励、特殊机制都在界面里,改完立刻生效。

可见条件

每个 NPC 可以配可见条件,全部满足才对那个玩家显示。

YAML:
visible-if:
  - "caught-count >= 50"        # 图鉴收满 50 只才出现
  - "defeated 石英馆主"          # 打赢上一个馆主才出现
  - "not-defeated 冠军"          # 打赢冠军之后他就消失
  - "time night"                # 只在夜里出没
条件 说明
permission / not-permission 有 / 没有某个权限
world <世界名> 在指定世界
gamemode <模式> 处于指定游戏模式
time day|night 游戏内白天 / 夜晚
chance <0-100> 按百分比随机
has-item <物品ID> [数量] 背包里有足够数量
party-has <宝可梦> 队伍里有这只
party-size <比较> <数量> 队伍规模比较
caught / seen <宝可梦> 图鉴已捕获 / 见过
caught-count <比较> <数量> 图鉴捕获总数比较
defeated / not-defeated <编号> 战胜过 / 没战胜过某个 NPC
placeholder <左> <比较> <右> PlaceholderAPI 变量比较

比较符支持 == != > >= < <=。判定是逐玩家的,条件一满足下一轮刷新就出现,不用重载。

对话走原生界面

对话用 Cobblemon 自带的对话框,有 NPC 头像和选项按钮,和原版 NPC 观感一致。玩家形象的 NPC 用自己的皮肤当头像,宝可梦形象的按种族渲染。

文字逐个打出来,点一下立刻全显示,再点才翻页。不想要这个效果可以在 config.yml 里关掉。

YAML:
start: 开场
nodes:
  开场:
    lines:
      - "欢迎来到石英道馆,%player%。"
    goto: 问话

  问话:
    options:
      - text: "我要挑战!"
        goto: 应战
      - text: "听说你私藏了好东西……"
        goto: 密室
        visible-if:
          - "defeated 石英馆主"    # 赢过之后才看得到

  应战:
    lines:
      - "别留手了。"
    actions:
      - "delay 20"
      - "battle"

选项的 visible-if 和 NPC 的可见条件是同一套写法,每次展示都重新判定。

两种外观

玩家皮肤:填一个玩家名。

宝可梦:直接写属性串,闪光、地区形态、等级都支持。

代码:
/qnpc skin 石英馆主 pokemon pikachu shiny=true

两种都能配姿势(站 / 潜行 / 睡 / 趴 / 滑翔)、发光描边与颜色、体型倍率。

对战设定

  • 队伍池:一个 NPC 可以配好几套队伍,每次挑战随机挑一套
  • 等级跟随:固定等级、跟随挑战者最高等级、跟随平均等级
  • 不掉血:默认用挑战者队伍的副本对战,真实队伍不掉血不消耗道具,输了也不用跑医院
  • 单打 / 双打set doubles true 切双打
  • 冷却与胜场:每个 NPC 单独记,跨重启保留
  • 三档奖励:胜利 / 失败 / 首胜,首胜那档一位玩家只给一次
  • 战斗音乐:可以给每个 NPC 指定音效 ID

怎么用

插件装上后不带任何 NPC,全靠你自己建。第一次用推荐走图形菜单。

用菜单建第一个 NPC(推荐)

  1. 站到你想放 NPC 的地方,打 /qnpc menu,点「新建 NPC」,在聊天栏输入一个编号(比如 石英馆主)。NPC 就出现在你脚下了。
  2. 点进它的编辑面板,逐项点:
    • 皮肤:填个玩家名,或改成宝可梦外观
    • 名字:头顶显示的文字,支持颜色和 \n 换行
    • 右键动作 → 添加 → dialogue 示例对话,把插件自带的那段对话挂上
    • 对战:加几只宝可梦、开启对战,按需勾上太晶化和奖励
  3. 每一步改完立刻生效,不用重载。位置想调就点「位置」,左键把 NPC 挪到你身边。

一个能对话、能开战的 NPC 就成了。嫌点菜单慢,下面是同一件事的纯指令版。

纯指令版

习惯打指令的话,下面是做一个道馆馆主的完整流程。

一、创建

站到你想放 NPC 的位置:

代码:
/qnpc create 石英馆主
/qnpc name 石英馆主 &6&l石英道馆馆主\n&7右键挑战
/qnpc skin 石英馆主 player Notch

名字用 \n 换行,第一行显示在最上面。

二、配队伍

代码:
/qnpc battle 石英馆主 team add garchomp level=50 tera_type=dragon
/qnpc battle 石英馆主 team add charizard level=50
/qnpc battle 石英馆主 team add metagross level=50

三、开启战斗,允许太晶化

代码:
/qnpc battle 石英馆主 enable
/qnpc battle 石英馆主 set skill 4
/qnpc battle 石英馆主 gimmick add tera

skill 是 AI 强度,0 到 5。

四、添加奖励

代码:
/qnpc battle 石英馆主 reward win add message &a干得漂亮!
/qnpc battle 石英馆主 reward first-win add command eco give %player% 5000

first-win 只在第一次赢时执行,适合发徽章。它和 win 是叠加的,两个奖励都会执行。

五、添加对话

代码:
/qnpc action 石英馆主 right add dialogue 示例对话
/qnpc battle 石英馆主 test

插件自带一份示例对话,改一改就能用。test 不吃冷却。

动作

右键动作、左键动作、对战奖励、对话节点用的是同一套写法,按顺序执行。

写法 说明
message <文本> 发聊天消息
actionbar <文本> 发物品栏上方提示
title <主标题>|<副标题> 发标题
command <指令> 以控制台身份执行
player-command <指令> 以玩家身份执行
sound <音效> [音量] [音调] 播放音效
give <物品ID> [数量] 给予物品,背包满了掉在脚下
teleport <x> <y> <z> [世界] 传送玩家
heal 治疗玩家队伍
battle [NPC 编号] 发起对战,省略编号就是挑战当前这位
dialogue <对话编号> 打开一段对话
close 结束当前对话
delay <刻> 等若干刻再继续执行剩下的动作

文本里能用 %player%%npc%,装了 PlaceholderAPI 的话 PAPI 占位符也能用。

颜色统一用 &&a 传统色码、&#ffaa00 十六进制色、&l &o &n &m &k 样式、&r 重置。

配置文件

代码:
plugins/QueNPC/
├── config.yml            # 字段说明写在注释里
├── messages.yml          # 玩家能看到的所有文本,随便改
├── npcs/                 # 每个 NPC 一个文件,文件名即编号
├── dialogues/            # 每段对话一个文件,文件名即编号
├── skins.yml             # 皮肤材质缓存
└── battle-data.yml       # 挑战记录

常用命令与权限

所有指令需要 quenpc.admin,默认仅 OP。别名 /qnpc。右键 NPC、对话、对战不需要任何权限。

命令 用途
/qnpc menu 打开图形编辑器(推荐)
/qnpc create <编号> 在你脚下创建
/qnpc remove <编号> 删除
/qnpc clone <编号> <新编号> 复制一个到你脚下,全部设定带走
/qnpc list / /qnpc info <编号> 列表 / 查看全部设定
/qnpc tp <编号> / /qnpc move <编号> 传送过去 / 把它挪到你这里
/qnpc name <编号> <文本> 头顶名称,\n 换行,填 - 去掉
/qnpc skin <编号> player|pokemon <内容> 换外观
/qnpc set <编号> <键> <值> 姿势、发光、体型、可见距离等
/qnpc action <编号> right|left add|clear|list [动作] 交互动作
/qnpc condition <编号> add|clear|list [条件] 可见条件
/qnpc battle <编号> ... 队伍、AI、奖励、特殊机制、试打
/qnpc reload 重载配置、消息与对话

PAPI变量

占位符 说明
%quenpc_wins_<编号>% 对该 NPC 的累计胜场
%quenpc_defeated_<编号>% 是否战胜过,输出「是 / 否」
%quenpc_cooldown_<编号>% 距离下次可挑战还剩多少秒
%quenpc_cooldown_fmt_<编号>% 同上,输出「3 分 20 秒」
%quenpc_total_wins% 对所有 NPC 的胜场合计
%quenpc_count% 当前载入的 NPC 数量

常见问题

NPC 会被玩家打掉、被清怪指令清掉吗?
不会。它不在实体列表里,/kill @e 找不到它。

宝可梦外观的 NPC 能被捕捉吗?
不能。它不是真的宝可梦实体,扔球扔不到,也不计入生成上限。

反馈

遇到问题欢迎在帖子下反馈:服务端类型与版本、加载器、Cobblemon 版本、插件版本、复现步骤和相关报错日志。NPC 相关的问题可以附上对应的 npcs/<编号>.yml

推荐加入 QQ 群直接反馈,论坛消息不一定能看到。

呆呆山鹊

Lv.1 泥土
2022-04-12
4
0
0
钻石
0.00 钻石
金锭
35 金锭
作者
呆呆山鹊
下载
6
查看
99
首次发布
最后更新

Ratings

0.00 星 0 星