开发工具:IDEA 2022.2.5
JDK:21.0.7
Forge:60.0.11
这里一定要清楚这些版本号,很多问题都是因为版本不兼容引起的,所以先声明使用工具的版本号,接下来踩坑开始(遇到的坑大概率会按照逻辑的先后顺去说明,而不是实际开发时遇到的顺序)。
一号坑(小坑坑):开发Minecraft插件,首先想到IDEA的插件:Minecraft Development, 评分4.5颗星,很不错的一个插件,但是需要注意版本号。这就是为什么我开始把IDEA的版本号也声明的原因。

这是官网找到的版本兼容,也就是说2022.2.5的版本最高只能使用2022.2-1.6.9的插件版本,而这个版本的开发时间是2023年,无论如何也不可能支持到之后时间的Forge的特性和代码上的书写习惯(变动)。
所以由于版本不兼容引发的问题是,即使能创建完整的项目,通常插件支持的模板文件大概率会有错误。其中可能包含目录层级,配置文件的模板等(不局限于改插件,大多数的插件都会因为版本遇到类似的问题)。
但是这个问题是比较好解决的。两种方案:1、弃用插件,从官方获取MDK(即就是Minecraft-Forge);2、修改模板文件(下载官方的MDK打开,把错误的地方按照官方的写法修改正确)。两种方法的不同之处在于,使用官方的MDK需要每次都修改Mod相关的信息(mod_id,包名,类名等),然而通常开发mod也不会很频繁所以也无所谓,况且部分是关联修改并不一定很繁琐,而第二种方法则是需要修改错误的模板文件或代码。比对是个麻烦的事情,好在也能偷懒直接同名文件替换(这里替换的是模板,不是创建好的项目文件)。
综上,第一个坑踩完了。成功过坑。
二号坑(小坑坑):由于很长时间没写Java,Forge居然不使用Maven了变成了Gradle。不会,怎么办。好在也不是多新的技术,网上资料一大把,而且现在AI也很多,随边找一个请教学习一下,原来大概就是更换了依赖方式。好在不是要我们重头搭建项目,不需要了解的很深。,就算不会用,只要知道它是什么东西遇到什么问题了再去查都赶得上。那么问题就来了。
1、我没有安装使用的IDEA默认自带的。结果发现这玩意儿居然得使用魔法上网,要不然自带的根本下载不下来。然而我没梯子。毫不犹豫使用国内镜像。地址为下:
1 官网地址:https://services.gradle.org/distributions/{gradle的具体版本文件} 2 腾讯云镜像 Gradle下载地址:mirrors.cloud.tencent.com/gradle/{gradle的具体版本文件} 3 阿里云镜像 Gradle下载地址:https://mirrors.aliyun.com/macports/distfiles/gradle/{gradle的具体版本文件} 4 阿里云镜像 Gradle下载地址:mirrors.aliyun.com/gradle/{gradle的具体版本文件}
其实我测试,通过浏览器官网的是可以打开的,很慢,这可能是IDEA使用这个地址下载不下来的原因。

下不了,就得解决,修改配置文件:
# gradle-wrapper.properties //文件名称#distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip //注释掉原来的distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.1.1-bin.zip //添加新的
槽点在于搜索Gradle镜像,给的几乎全是仓库的镜像地址。为找到以上的地址,可能搜索了不少于30次的关键字,浏览了不少于300的页面。这些人分不清下载镜像和仓库镜像么,真是服了。总之问题解决了,眼看下载好了,自以为之后是路途的我又掉坑了。
2、由于IDEA版本太旧,且我没有安装配置Gradle,使用IDEA默认的每次都会通过配置文件下载Gradle,结果可想而知有时版本问题上面可以看出,默认的Gradle使用的好似8.1.1。查看官网版本兼容性,完美错过。

要么降JDK要么升Gradle。由于JAVA的LTS版本21之上是17有点太旧了,所以决定使用新的Gradle,也没有重新下载,而是继续修改配置文件:
# gradle-wrapper.properties //文件名称#distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip //注释掉原来的distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.12.1-bin.zip //添加新的
按道理来说这肯定是模板生成的,结果我可能修改了Gradle的所有和distributionUrl健相关的模板文件全都无效。无奈到最好也就是需要每次修改一下版本号。有哪位大佬知道是什么原因的,请告知一下。




版本号改好之后,就可以开始编译了,IDEA会自动下载Gradle,在使用Gradle下载以来的包。整体逻辑就是这样,在它下载的工程中大概看了一下,好像使用的还是maven的仓库,大体上理解就是一个下载编译工具,通过配置文件告诉它下载什么东西,它再把这些东西编译到一起,就跟Maven的作用是差不多一样的,具体优缺点,没来得及深究,下载报错了。

https://repo.maven.apache.org/maven2/org/lwjgl/lwjgl-freetype/3.3.3/lwjgl-freetype-3.3.3-natives-macos-patch.jar
这地址直接404。 说明maven仓库没有这个包。经查询,AI给了一个解决方案,完美解决。

至此环境搭建完毕,没有遇到问题了。明天有事有问题的一天。