前言

仅以此文记录一些弯路与离谱的错误

正文

首先,我们需要在MinecraftForge的官网上下载MDK类型的压缩文件

https://files.minecraftforge.net/net/minecraftforge/forge/

这里笔者选择了1.12.2中最新的Recommend版本,即1.12.2 - 14.23.5.2859

将其解压至你的工作目录之后(切记目录中请勿带有非ASCII字符,包括但不仅限于中文汉字)

然后使用IDEA导入项目,不出意外会开始进行项目的构建

但是,你很有可能会出现这样那样的问题

比如

Could not resolve dependency: net.minecraftforge:forge:1.12.2-14.23.5.2859:userdev3

检查你的build.gradle文件,你或许会发现其中的依赖部分

buildscript {
    repositories {
        maven { url = 'https://maven.minecraftforge.net/' }
        mavenCentral()
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:3.+'
    }
}

将3.+改为5.1.+即可解决问题,但你很有可能又会发现开始报错

Found Gradle version Gradle 4.9 . Minimum required is Gradle 7.1 .

字面意思很容易理解,成功找到了4.9版本的Gradle,但最少需要7.1版本

那么在哪里修改项目Gradle版本呢?

在源项目的gradle\wrapper\gradle-wrapper.properties中,你可以发现

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip

将4.9更改为其他的版本即可,笔者使用的是7.3

在这里需要注意,并不是越高的版本越好,拿我们所用的1.12.2 - 14.23.5.2859举例,它并不支持8.0及更高版本的Gradle,所以需要酌情选择版本

当然,改了这些也并不代表你可以轻松得到一个build successful的结果

因为一些众所周知的原因,国内的网络下载极易出现问题,所以我推荐你使用镜像站下载Gradle

https://www.mcbbs.net/thread-800729-1-1.html

接下来万事俱备,只需要做一些最后的收尾工作,来让你的开发更为舒适

你的项目或许还没有绑定一个SDK,点击IDEA中的文件→项目结构,选择你准备好的JDK

你的项目也或许并没有一个统一的编码,所以需要你配置一个全局环境变量GRADLE_OPTS

值为-Dfile.encoding=utf-8

同时打开IDEA中的文件→设置→编辑器→文件编码,将其中的编码全部改为UTF-8

接下来在右上角的添加配置中选择编辑配置

Gradle项目选定本项目,任务填写runClient

应用之后点击运行,便可以使用IDEA启动Minecraft客户端

目光回到左侧的文件列表,src目录下存放着Mod的源代码与资源文件等等

同时你会发现已经有一个examplemod待在那里

输入gradle.bat build

可以在build\libs中寻找到你编译出的Mod

生成的文件名由build.gradle中的archivesBaseName决定

后记

终于开始腾出手来去做自己想做的东西了

希望能有一个好的结束

就这样