Minecraft Forge 开发学习笔记(一)
最近突然学着做一下mc的mod,但是国内这一块的资源很缺乏,官方文档又写的比较糟糕,在这里把我自己遇到的问题和解决办法简单记录,希望能帮到需要的人。
[tip type=”worning” ]
撰文时使用版本:
Minecraft: 1.12.2
Forge: 14.23.5.2768
1.13及以后版本由于MCP Mapping的改变,部分内容出入较大仅供参考。
[/tip]
面向中文社区为数不多的资源推荐
1.我的世界开发者中文指南
类似于一个导航站,总结了大多数优质资源,极具参考性。
2.Harbinger先驱者开发指南
文章内容比较全面,而且使用1.12.2,相对版本很新,但还是有很多地方写着“待补充”,对新手不太友好,部分内容写得比较绕,适合作为参考书。
3.Minecraft 1.8.9 FML Mod 开发教程
中文社区里面口碑非常好的一个系列教程,内容详细全面,适合新手阅读,但版本骗老,而且还是个没什么mod的版本,建议结合上一个参考,一起看效果还是非常不错的
4.Forge官方文档(原版)(中文版)
文档写的挺糟糕的,新手基本上看不懂,也正因为这样才会有各路大佬来做mod开发教程。
需要注意的是,目前Forge社区仅支持1.14.4以后的mc版本,而且1.13和1.14的MCP Mapping和Forge有较大改动(这里有总结),所以文档及其内容目前均无支持。中文版有不少内容缺失未翻译,但翻译了的部分质量不错,可以参考。
关于搭建开发环境
我个人使用Jetbrains的Intellij Idea作为开发环境,版本是2020.1 Community。
在Forge的官方文档中,对于如何在Idea中搭建开发环境有比较准确的描述,除了下列两个问题,别的跟着文档做就行。
1 对于Minecraft 1.12.2的Forge MDK,不支持AdoptOpenJDK的OpenJ9虚拟机
使用Openj9进行游戏倒没有问题,相比hotspot可以显著降低内存占用,并且提升一点fps。但是无法在Forge的开发过程中使用,会在执行 setupDecompWorkspace
这项Gradle任务时报错
1 | Execution failed for task ':applySourcePatches'. |
所以在开发过程中还是使用Orcale的JDK或者使用HotSpot的OpenJDK吧
2 使用Idea启动Minecraft可能无法正确加载正在开发调试中的Mod资源
这个问题有两个产生原因,可以自己排除一些
- 由于目前最新版的Intellij Idea使用Idea Runtime 14,该运行环境会导致Forge出现兼容性问题。解决办法很简单,使用Jetbrains提供的Idea插件 Choose Runtime,根据插件详情页的教程,选择8u252或其他jdk8最近版本替代默认运行环境即可。
- 使用Idea启动Minecraft Client可能会造成此问题,使用Gradle任务
runClient
代替即可。