minecraft mod教程:实体1-初识实体

终于这个教程来到了我最不愿意讲的地方了,拖了好久教程还是要写的。今天就写一点最基本的。讲一讲minecraft中实体的概念。

简单的讲,在游戏中所有的不是方块的东西都是实体。矿车、船、生物、玩家是实体,经验球是实体,掉落的物品也是实体。就和每一个方块都有一个对应的物品一样(注册方块的时候系统为我们自动注册了这个方块的物品。所以你可以在物品栏里面见到这个方块)。每一个物品都有对应的实体类型,这样物品掉落之后你就可以出现这个物品的掉落物的实例,然而这是不可能的,minecraft当然会只定义一个类来描述所有的掉落物实体本身。

讲到实体就不得不提NBT了。NBT是一系列树状的二进制标签来描述一个实体或者方块的附加数据。如果你熟悉minecraft游戏本身的话你可能知道NBT是怎么回事,如果你不知道的话那么请通过NBT Edit或者一些地图编辑器来熟悉一下NBT是什么样的一些数据。NBT里面能够包含各种各样的数据,它就像是二进制版的json。

游戏中的实体就是继承自net.minecraft.entity.Entity的家伙们。每一个实体都会有一个自己的ID,通过这个ID,实体被串联成了一个链表。实体还包含了大小,位置,旋转,速度,AABB盒(一个碰撞盒。minecraft使用AABB盒来检测碰撞。在空间中确定一个立方体只需要两个点的坐标(就像领地插件),这个被确定出来的立方体就是AABB盒。你可以在调试模式里面显示实体的碰撞盒。),所在世界,所在维度等信息。当实体所在区块离玩家过远的时候,区块会被卸载,区块中的实体的信息也会被储存在NBT里面存储在区块的信息里面。

以上就是一些最基础的信息。下一节的教程我们将会学习如何创建一个实体。

发表评论

电子邮件地址不会被公开。 必填项已用*标注