
SableCraft Cast
其他模组的NPC可以赋予角色。演员阵容由它们构成;你安装的模组决定它们的用途。

Cast —— 原版客户端也能看见的世界中的「人」
供其他模组赋予角色的 NPC。 一个有名字、有真实皮肤、穿着外套、提着灯笼的人,站在你放置的地方,转过身来看着你,当你右键点击时会执行放置它的模组所指定的动作。或者是一只村民、一头牛、一只僵尸,从生成那一刻起就被「拥有」,因此它永远不会乱走、交易或咬人。Cast 负责创造它们;你安装的模组决定它们的用途。
你的玩家不需要安装任何东西。 人类 NPC 通过数据包在所有能看到它的客户端上绘制,包括皮肤,行为就像一个站得笔直的玩家。生物 NPC 就是它看上去的那种生物,只是没有了自己的心智。无需下载,无需资源包。
两种身体
- 人类 —— 一个玩家模型的 NPC,可以套用任何真实账号的皮肤。它是一个幻影:只发送给能看到它的玩家,从不被加入世界。所以它不是玩家:不计入睡眠,不锚定生物生成,不保持区块加载,不在玩家列表中,也不会出现在
/tp的补全建议里。一个隐形的替身给了它身体,所以生物会绕开它而不是穿过它。 - 生物 —— 任何原版生物。它的 AI 目标被清除并替换为「看着附近的人」;由大脑驱动的那些(村民、猪灵等等)每秒都会移除它们的行为,这是唯一能让它们原地待命的方法。它是无敌的,有名字,并且永远不会打开自己的界面。
两者都站在被放置的地方。推它一下,它会后退一步。挖掉它脚下的方块,它会低头看,再抬头看你,然后才掉落,落在现在的地面上——除非你让它违抗重力,这正是该选项的实际名称。
装扮
/cast equip head minecraft:iron_helmet,/cast equip mainhand "minecraft:potion[potion_contents={potion:'minecraft:healing'}]" —— 任何 /give 能接受的物品,任何槽位,两种身体皆可,重启后依然保留。留空清除该槽位。
给使用它的模组
Cast 自身没有任务、没有对话、没有场景。它有一个 API:
- Chronicler 用它放置任务给予者——任何种子下出生点附近都会出现一个五人营地,每人携带一条故事线。
- LegendQuest StoryTeller 附身于它们:一位游戏主持人将一个 NPC 带进场景,以它的身份说话,然后放手;Cast 会将身体重新锚定在它被留下的地方。
- 你的模组:一个受保护的类,导入
com.sablednah.cast.api,Cast.registerRole(id, handler)在右键点击一个携带你角色的 NPC 时被调用,以及用于其他一切的spawnHuman/spawnMob/say/equip/remove/drive。一个 NPC 可以同时携带来自多个模组的多个角色。
命令(cast.admin,或 OP)
/cast spawn human "Dr Okafor" Sablednah 会在你注视的位置放置一个使用该账号皮肤的人类;/cast spawn mob minecraft:villager "Camp Trader" 放置一个生物。注视其中一个,然后使用 /cast name、skin、equip、look、here、say、defygravity、role add|remove、remove。/cast list 和 /cast status 会显示现存的内容以及这是哪个构建版本。
要求
| Minecraft | NeoForge | Java |
|---|---|---|
| 1.21.11 | 21.11.42+ | 21 |
| 26.1.2 | 26.1.2.95+ | 25 |
| 26.2 | 26.2.0.72+ | 25 |
每个 Minecraft 版本对应一个 jar,以其所针对构建的版本命名——选择与你服务器匹配的那个。
安装在服务器上。就这样。 Cast 不依赖任何东西,你的玩家也不依赖任何东西。
鸣谢与许可证
Cast 采用 MIT 许可证,作者为 Sablednah。源码与 API 文档:github.com/Sablednah/Cast。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。