Minecraft Mod DevLog#1 环境配置,Mapping ,Parchment,添加新的物品
环境配置
环境配置的话可以参考forge官方文档,主要需要三个要素:
JDK
MDK好像和JDK的版本有关,所以我选择了最新的JDK17
MDK
IDE
Mapping
因为Minecraft的代码是被混淆过得,所以需要mapping成可读的方法名、参数名。
在Minecraft闭包中配置了mapping 为official,我看youtube上的教程中配置了parchment。
Parchment可以给MDK提供更好的代码阅读体验,这是我从Parment官方拿下来的一段,虽然有了official mapping,但是Parchment可以更好的补充参数名称和java文档,并且有一套完整的toolchain。

添加物品
添加物品的方式也比较简单,Minecraft的mod基于Java注解。通过注解能够扫描到【入口类】。
MDK也是基于事件模型的,在入口类的构造函数中能够获取到bus。
添加物品首先需要创建DeferredRegister,这个可以理解为一个list,用于管理Item。每次创建一个新的Item,就是相当于要将RegistryObject注册到list中:
以上的【入口类】,Item管理者【DeferredRegistry】,Item代表(被注册对象)【RegistryObject】的关系如下图
