minecraft mod教程:实体2-自定义一个基本的实体

上一节我们已经了解了一些有关minecraft实体的基本的知识。这一节我们就把学到的知识来使用一下,让我们创建一个没用的实体吧。(这节内容这么少的原因就不要说明了吧,没错,就是我在偷懒wwww


这一节我们不会涉及复杂的服务器和客户端同步的问题,那种问题想要解释起来实在是太过于复杂。所以我们就先注册一个我们的实体并且让它可以被指令召唤出来就好。

实体的原型是net.minecraft.entity.Entiry你只需要传递一个Entity类本身到EntityRegistry.registerModEntity就可以了。注册Entity并不是一件像注册方块一样的事情。在Minecraft里面,一个方块或者物品的实例代表的是一类物品或者方块。而一个实体的实例就是一个实体。如果你不注册实体,你将会无法再服务器和客户端之间传递实体信息。

下面是组册实体的函数原型:

public static void registerModEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates)

  • entityClass:实体的类
  • entityName:实体的名称
  • id:一个mod指定的id。(这个是随便指定的)
  • mod:你的mod的主mod的对象。一般来讲,如果你在mod类里面注册的话,你只需要传递一个this指针
  • trackingRange:一个被加载的距离。如果实体的距离超过了这个值,mod将不会收到实体的活动的消息。
  • updateFrequency:更新频率,单位是tick。可以参考上面那个参数。
  • sendsVelocityUpdates:是否发送同步数据

通过这个函数你可以轻松地注册一个实体。其实还有其他的注册方法可以直接包含刷怪蛋一起注册。但是,由于它有引发id冲突的可能性,现在就不介绍了。


 

先写这么多吧。感觉以后每回些少点,但是精一点比较好呢