NPC 与伪装
云模型有三种把模型放到「不是 MythicMobs 怪物」身上的方式,全部会自动保存,重启服务端后不用重新设置。
| 对象 | 指令 | 保存位置 |
|---|---|---|
| Citizens NPC | /cm npc <模型> [大小] | plugins/CloudModel/npcs.yml |
| 任意实体(盔甲架、生物…) | /cm apply <模型> [大小] | 实体本身的数据 |
| 玩家 | /cm dis <模型> [大小] [玩家] | 玩家数据 |
Citizens NPC
安装 Citizens 后即可使用,不需要任何额外插件或 trait。
/npc select # 先选中 NPC(或站在 NPC 旁边 /npc sel)
/cm npc guard_golem 1.2 # 套上模型,大小 1.2 倍
/cm npc remove # 移除这个 NPC 的模型
/cm npc list # 列出所有套了模型的 NPC
支持到什么程度
| 场景 | 行为 |
|---|---|
| 重启服务端 | 启动时自动把模型套回所有已生成的 NPC(即使 Citizens 比云模型先生成 NPC) |
| 区块卸载后重新加载 | NPC 重新生成时自动套回 |
/npc tp、/npc tphere、切换世界 | NPC 重新生成时自动套回 |
| NPC 被 despawn | 模型一起移除,不残留在客户端 |
/npc remove 删除 NPC | 自动删除 npcs.yml 里的记录 |
| 原本的 NPC 外观 | 自动隐藏(隐形,并隐藏手持物品与盔甲),只看得到模型 |
| 玩家型 NPC | 支持,/cm npc 与 /cm apply 都能用 |
| 转头 | h_ 开头的骨骼跟随 NPC 头部转向,搭配 Citizens 的 /npc lookclose 会看向玩家 |
| 动画 | 有 idle 动画会自动循环;NPC 走路(/npc path 等)时自动切到 walk |
| 播放指定动画 | 站在 NPC 附近执行 /cm play <动画> [半径] [模型],或用 Citizens 的指令功能执行 |
| 性能 | 服务器端不增加任何实体;玩家离得远时降低更新频率,没人看得到时完全不计算 |
主城 NPC 很多时
NPC 越多越能感受到差别:每个模型只在客户端存在,服务器只在每 tick 读一次 NPC 的位置。用 /cm stats 可以看到渲染线程与主线程每 tick 的平均耗时。
换模型或改大小
对同一个 NPC 再执行一次 /cm npc <模型> [大小] 即可,旧的模型会先被移除。
任意实体:/cm apply
准心对着 16 格内的实体执行 /cm apply <模型> [大小],模型会写进实体数据,重启后仍然存在。
/cm unapply [模型] 移除。适合固定的展示品、坐在主城的生物等。
玩家伪装:/cm dis
/cm dis frost_dragon # 把自己变成冰霜龙
/cm dis frost_dragon 0.8 Alex # 把 Alex 变成 0.8 倍的冰霜龙
/cm undis # 解除
- 伪装存在玩家数据里:重新登录、重启服务端、死亡重生都会自动恢复,直到
/cm undis。 - 玩家受伤时模型会泛红(
hurt-tint)。 - 玩家自己默认看不到自己的模型,避免挡住视角;想看到可以把
disguise.show-self设为true。 - 给玩家
cloudmodel.command.dis与cloudmodel.command.undis就能让他自己伪装;伪装别人需要cloudmodel.command.dis.others。
云时装的 NPC
CloudCosmetics 的 /cosmetic npc <分类> <时装ID> 生成的展示 NPC,模型时装同样由云模型渲染,见 搭配云时装。