前言
实体是Minecraft世界的重要组成部分。在Minecraft中,无论是末影龙、凋灵等难以对付的Boss,还是猪、牛、村民、铁傀儡等玩家的好伙伴,甚至是箭、火球、物品展示框,都属于实体,可见实体的重要性之大。
然而,实体的实现也相当复杂,在1.20.1中,光是最基础的Entity类就有超过3500行代码(1.16.5中也有近3000行),而它最重要的一个实现类LivingEntity,代码也达到了3400行。由此我们不仅可以明白实体的复杂性,也可以体会面向对象编程的伟大之处。
实体的开发是Mod开发的初学者遇到的一个重难点,可是各大平台上虽然不缺少优质的Mod开发基础教程,但很少有教程对实体进行了更深入的探讨(例如关于如何从头写一个Boss,或是写一个类似唤魔者的怪物的教程)。笔者写这个教程的一个目的,就是改变这个现状,为初学者们提供进阶的教程,让想要写涉及到实体尤其是需要写复杂实体的初学者少走一些弯路。本教程将从对Minecraft的实例分析出发,通过实例进行讲解,再引入实战部分与练习部分,因此本教程是更重实用的教程。同时相较于实体的模型和渲染,本教程将会更侧重于实体的逻辑(但也不回避实体的模型和渲染)
本教程的目标是给Mod开发的初学者提供一个对实体的更深入的了解,而非明白如何制作一个最基础的实体,因此要求读者有如下几方面的能力:
- 有一定的Java语言及面向对象编程基础
- 知道如何搭建开发环境,能做一个最基础的Mod
- 掌握基本的制作实体的方法
如果你还不会写基本的实体,你可以先阅读Boson上的基础实体教程(注意Boson是1.16的教程)等其他基础性的教程
P.S.
非节假日期间,教程尽量月更(笔者是高中生,两周放假一次)
教程作者的Blog
教程GitHub仓库
教程示例Mod的GitHub仓库
个人介绍与联系方式(如有问题,欢迎反馈~ 也可以来这里催更,笔者有时间会回复哒)
本教程采用CC-BY-NC-SA许可证
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.