Effect模块总分析 笔者是忠实的Minecraft玩家,最近在游玩过程中想要在生存中使用类似于创造的飞行,却找不到对应的mod,后准备自己动手写一个。想要写漂亮mod就必须阅读Minecraft源码,笔者找遍了中文互联网,系统分析Minecraft源码的少之又少。为促进中文Minecraft社区发展,遂自己动手系统分析Minecraft源码。由于Minecraft有大小接近五千个类,本人工作也比较繁忙,所以这会是一个很大的工程。(注:笔者非计算机专业,有工作更新缓慢,望各位勘误)。 一,概述Effect模块为药水效果模块,主要定义了效果的种类和效果的实现。 二,模块结构Effect模块核心是MobEffect,所有药水效果都继承自MobEffect类,其中即时生效的药水继承自InstantenousMobEffect类,InstantenousMobEffect类又继承自MobEffect类。下面是我画的Effect类核心的UML图。 三,如何实现一个药水效果这分为两种情况: 1,普通效果,代表的就是生命恢复效果,作用具有一定时间。对于这类效果的实现,只需要继承MobEffect类,重写applyEffectTick方法就能实现。 2,即时效果,代表的就是瞬间治疗效果,作用是一瞬间的。对于这类效果的实现,需要继承InstantenousMobEffect类,重写applyInstantenousEffect方法。 四,最后,Effect模块每个类的具体分析我将在苦力怕论坛持续更新
|