6.1 数据驱动实体
从本章开始,我们就要开始接触数据驱动物品、方块、实体的第三弹——实体了。实体是一种可移动物体,对世界拥有着大量复杂的交互行为,因此相比于物品和方块,数据驱动实体(Data-Driven Entity)的编写就要远远地复杂于前两者了。
同样地,读者应当也不会只满足于原版的实体,相比于我们能做到的事情而言,原版的实体还是太过局限性了。比如,借助数驱实体,我们可以实现落地就会爆炸的炸弹、或者可以完美平替盔甲架的标记实体和悬浮文本、甚至我们还可以自己设置一个功能高度复杂的 BOSS!
本章,我们将要介绍数据驱动实体的一般定义方法,包括行为包和资源包上的配置,然后我们将要更深入地探讨事件和组件组、渲染控制器、实体模型、动画等编写方法。本章的内容相比于前两章而言要更加复杂,跟紧我们的步伐!
最后,我们还想要探讨一下原版的实体的问题。因为数驱实体发布得很早,事实上从 Mojang 在 0.16 引入附加包开始,我们就已经拥有初步编写实体的能力了,可以说实体的发展也远远地要比物品和方块更加完善。对于原版而言,你可以在官方发布的模板包中找到非常多的原版实体,这意味着绝大多数的实体都是数据驱动实体!因此,这也可以极大地降低我们编写数驱实体的难度,一旦你需要一个功能的时候,通常是先思考原版有没有对应的实体,然后仿照着写出一个新的实体,就大功告成了!