MC Forge模组开发环境搭建

MC Forge模组开发环境搭建

很多人在玩过MC的模组之后,都会产生自己开发Mod的欲望,但是在MC的模组在国内的教程大多数仍然停留在1.12之前的版本,而且有一些API作了一些修改,文档更新不及时,看着文档进行开发也需要花许多时间去摸索,因此就想在此总结记录一下模组开发的思路。

环境准备

学习Java的成本相对于C++要低一些,不需要太过于担心内存管理的问题,所以采用Minecraft Java版,Forge作为模组开发的框架。下面为开发的环境清单列表:

|名称|版本|备注|
|JDK|17|Forge对应的版本使用的JDK版本|
|IntelliJ IDEA|2022.1.2|开发编辑器,使用什么版本都可以,只是体验不一样|
|Gradle|7.4|依赖管理器,使用Forge推荐的版本|
|Forge|1.18.2 - 40.1.0|对应Minecraft1.18.2的模组框架|

下载Forge框架的时候,直接从网站中选择Recommend的MDK,解压到出来后使用IDEA载入项目。

配置并启动项目

启动IDEA,打开解压出来的ForgeMDK,先将gradle的构建终止掉,我们从gradle的构建入手,查看项目目录下的build.gradle文件,它是写满注释的构建配置文件,从minecraft中可以查看到有那么一段注释,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
minecraft {
// The mappings can be changed at any time and must be in the following format.
// Channel: Version:
// official MCVersion Official field/method names from Mojang mapping files
// parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official
//
// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
// See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
//
// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
// Additional setup is needed to use their mappings: https://github.com/ParchmentMC/Parchment/wiki/Getting-Started
//
// Use non-default mappings at your own risk. They may not always work.
// Simply re-run your setup task after changing the mappings to update your workspace.
mappings channel: 'parchment', version: '1.18.1-2022.03.06-1.18.2'
// 省略一大堆
}

在这个mappings的注释里告诉了我们有两种参数和javadoc的名称映射中间件,默认使用的是official,我们需要使用parchment才能让参数名变成可读的,当然,你也可以亲自对比一下两种mappings的区别。详细的parchment配置就不在这里细说了,进入到注释中的github页面有quick start,按照forge章节的教程修改即可完成。

然后我们可以不急着构建项目,可以将一些mod相关信息修改成我们想要的,比如说modID,包信息。

因为资源都是在国外的,在构建项目的时候出现下载超时、报错情况时,可以使用手机热点来构建,只有初次构建的时候需要下载资源文件和依赖包。

构建完成后,点击gradle选项卡的runClient脚本,就可以将mincraft forge跑起来了,但是第一次启动的时候还是要下载一些贴图资源等文件。

总结

一套搭建流程下来,将搭建的关键部分分为下列几点:

  • 开发环境准备
  • 下载MC Forge的MDK并修改build.gradle文件
  • build构建
  • runClient运行

网络问题是搭建环境中最麻烦的一个问题,尝试过使用代理去解决,但是有可能会出现下载包过慢导致超时连接断开问题。


MC Forge模组开发环境搭建
http://codebro.cn/posts/game/MC_Forge_Mod_Dev_Env_QuickStart.html
作者
Vector
发布于
2022年8月6日
许可协议