自定义实体系列教程¶
自定义实体通常需要行为包和资源包同时配合。行为包负责服务端定义,例如组件、AI意向、碰撞箱、生命值、战利品和是否可召唤;资源包负责客户端定义,例如模型、纹理、渲染控制器、动画、粒子、声音和刷怪蛋颜色。
文件关系¶
demo_BPentitiesrobot.json
demo_RPentityrobot.entity.json
modelsentityrobot.geo.json
texturesentityrobot.png
textsen_US.lang
这些文件通过同一个标识符demo:robot关联。文件名本身不是最关键的,但统一命名能让项目更容易维护。
推荐顺序¶
- 先做最小实体,只让
/summon demo:robot能生成。 - 再添加客户端实体、模型和纹理,让它不再隐形。
- 添加本地化和刷怪蛋。
- 添加组件、事件和AI意向。
- 最后再加入动画、粒子、声音、战利品和生成规则。
- 需要为实体存储自定义状态时,参考实体属性,了解如何用原生属性系统替代哑组件。
调试原则¶
如果实体无法生成,先看行为包;如果能生成但看不见,先看资源包。实体问题很容易同时出现在两边,因此建议每一步都进游戏测试,不要一次写完所有文件再排错。
进阶专题¶
掌握基础之后,可以继续探索以下专题:
- 虚拟实体:无视觉、无行为的标记实体,常用于区域检测
- 无敌实体:使实体完全免疫所有伤害
- 固体实体:让实体具有碰撞阻挡效果
- 实体计时器:基于时间触发事件的多种方法
- 注视实体检测:检测实体是否正在注视你
- :material-sword-off: 禁用队伍伤害:防止同族实体互相伤害
- 实体移动:完整的移动系统配置指南
- 实体攻击:目标选择与多种攻击类型
- 睡眠实体:让实体使用床睡觉
- 实体持物:让实体在手中显示物品
- 检测其他实体:感知并响应附近的实体
- 飞行实体的骑乘控制:可骑乘的飞行实体实现方案
- 船型实体:在液体中漂浮的可骑乘实体
- 区域效果云:高性能的静态标记与状态效果云
- NPC对话进阶:完整的多场景对话系统
- 生成已驯服实体:预先与玩家绑定的驯服实体
- :material-village: 仿村庄机制:模拟居住、工作、聚集等村民行为
- 弹射物:
minecraft:projectile组件完整参考 - 坐标空间变换:世界、实体与骨骼空间的坐标转换