最近闲来无事,尝试了一下Forge的开发,几天过去真的发现这玩意劝退
老实讲,我本以为有java基础的自己能够很容易接受和学习,但事实证明是我太天真了,我应该想想为什么国内Forge开发者少之又少。

我们所做的一切都是站在巨人的肩膀上

了解了一下Java版mod的发展历史,其实一点也不比我们基岩版好过。我相当佩服MCP的开发者们,人力反混淆可从来不是什么轻松活。这就印证了一句真理

BUGjang的每次更新,对于mc的第三方模组都是灾难性的

我先后读了4z的1.8教程和皇天的1.2教程,发现4z的教程基本过时。最根本就是环境的安装上,主流版本出现了差异。大量方法被弃用而改为新的玩意。(这种情况对于从modpe时代走过来的人相比都很熟悉)

//比如说
function newLevel(){

var mob = getXXX();
移除实体函数(mob);


}  

其实我是记不到移除实体的函数是啥了
以前写modpe的人可能很清楚,这个函数是在0.16版本被弃用的,这意味着我们少了一种暴力清理实体的办法,那么原因呢?

当然是你BUGjang把这个函数的底层给重写了。Java版我不太了解,但是基岩版开发者都知道,这群人最喜欢干的事就是各种合拆方法。BL和IC本质都是用jni和rhino实现的modloader。基岩版是cpp写的,这意味着每一条mod的函数都是启动器开发者逐一探索每一个方法的用法然后用jni包装的。
试想本来就上万个方法经常出现频繁的更名,合并,拆分,这对于像BL这样的独立开发者开发的启动器无疑是灾难性的。对于非bugjang的开发者团体也是不小的挑战,因为基岩版的某个版本为了优化渲染机制而重写,导致IC鸽了1年半,甚至直接弃用开发新的ML地平线HZ。
毋庸置疑的是,这玩意的确要成非物质文化遗产了。。