开发Minecraft Forge模组遇到的问题记录

news/2025/10/29 3:18:08/文章来源:https://www.cnblogs.com/ben-mario/p/19173050

开发工具:IDEA 2022.2.5

JDK:21.0.7

Forge:60.0.11

这里一定要清楚这些版本号,很多问题都是因为版本不兼容引起的,所以先声明使用工具的版本号,接下来踩坑开始(遇到的坑大概率会按照逻辑的先后顺去说明,而不是实际开发时遇到的顺序)。

一号坑(小坑坑):开发Minecraft插件,首先想到IDEA的插件:Minecraft Development, 评分4.5颗星,很不错的一个插件,但是需要注意版本号。这就是为什么我开始把IDEA的版本号也声明的原因。

image

这是官网找到的版本兼容,也就是说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使用这个地址下载不下来的原因。

image

下不了,就得解决,修改配置文件:

 

# 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。查看官网版本兼容性,完美错过。

 

image

 

要么降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健相关的模板文件全都无效。无奈到最好也就是需要每次修改一下版本号。有哪位大佬知道是什么原因的,请告知一下

image

 

image

 

image

 

image

 

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

image

 

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给了一个解决方案,完美解决。

 

image

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/949248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ESP32 在线语音】 待写 TTS

链接:https://blog.csdn.net/vor234/article/details/138387195?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522dac311b95071f02fedec5ea5a048fdf6%2522%252C%2522scm%2522%253A%252220140713.130102334…

Fusion++ 语义实例分割​​与​​稠密SLAM重建​​在TSDF子图层面进行了深度融合 - MKT

Fusion++ 语义实例分割​​与​​稠密SLAM重建​​在TSDF子图层面进行了深度融合 3. Fusion++ 的完整工作流程 ​​步骤一:基于RGB-D帧的实例分割(每帧)​​输入每一帧RGB-D图像。 使用2D实例分割网络(如Mask R-C…

tryhackme-网络安全基础-命令行- Windows PowerShell-22

tryhackme-Cyber Security 101-Command Line-Windows PowerShell 房间地址:https://tryhackme.com/room/windowspowershell 这是网络安全入门的基础模块的计算机科学基础知识:Windows PowerShell,序号 01 表示第一篇…

【ESP32 在线语音】音频接收的缓存机制和网络发送机制

首先是初始化 I2S 设备中,可能用到了缓存 //初始化 I2S 设备 INMP441Serial.println("Setup I2S ...");i2s_install();i2s_setpin();esp_err_t err = i2s_start(I2S_PORT_0);其中的 i2s_install() 配置了 …

XCPC英语学习day2

2024ICPC昆明 A. Antivicus 在介绍网络流的时候,几乎还没开始讲,pet chicken指出如何解决这个问题。老师惊呼:我们的禽流感太棒了。 ——Roasted-chicken Htrule进入了流感季。 Hyrule由n个城市组成,由m条有向道路…

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体阀门专业制造商,精选PFA/四氟阀门优质品牌解析

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体阀门专业制造商,精选PFA/四氟阀门优质品牌解析 行业背景与发展现状 在半导体制造、生物医药、精细化工等高技术领域,高纯流体输送系统的可靠性与洁净度直接关系到产品…

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体专用阀门,PTFE/FEP/PFA材质隔膜阀源头企业综合评测

2025年PFA隔膜阀厂家权威推荐榜:耐腐蚀高纯流体专用阀门,PTFE/FEP/PFA材质隔膜阀源头企业综合评测 在半导体制造、生物医药、精细化工等高技术领域,高纯流体输送系统的稳定性和可靠性直接关系到生产质量和工艺安全。…

【ESP32 在线语音】音频接收的缓存机制

首先是初始化 I2S 设备中,可能用到了缓存 //初始化 I2S 设备 INMP441Serial.println("Setup I2S ...");i2s_install();i2s_setpin();esp_err_t err = i2s_start(I2S_PORT_0);其中的 i2s_install() 配置了 …

我在iOS/Swift工程中成功编译了HarfBuzz!

我在iOS/Swift工程中成功编译了HarfBuzz!https://github.com/HusterYP/HarfBuzziOS/tree/main 跨端渲染又进一步!!

Python access mysql and insert data batch by batch

pip install mysql-connector or pip install mysql-connector-python -i https://pypi.tuna.tsinghua.edu.cn/simple/create table t2(id bigint primary key auto_increment,firstname varchar(100) not null defaul…

CodeForces-2153D Not Alone

tag: 结论题,一维线性 DPCodeForces-2153D Not Alone tag: 结论题,一维线性 DP给定一个环形序列 \(b\),长度为 \(m\),每次操作可以将一个数加一或减一。 问最少需要多少次操作,可以使序列 \(b\) 中每一个元素至少…

Codeforces Round 1062 (Div. 4)

A. Square?点击查看代码 #include <bits/stdc++.h>using i64 = long long;void solve() {int a, b, c, d;std::cin >> a >> b >> c >> d;if (a == b && b == c && c =…

一文吃透银行账务打通体系闭环 - 智慧园区

银行体系的复杂性,往往源于“账务、账户、会计、科目”之间的模糊边界。本文将系统拆解这四者的逻辑关系,从业务流、资金流到会计流,构建一套可理解、可复用的认知框架,帮助产品人真正打通银行产品设计的底层闭环。…

uups 逻辑合约也增加了升级函数,那总体不是也费gas吗?

这是一个很好的问题!虽然 UUPS 逻辑合约确实增加了升级函数,但它仍然比透明代理更省 Gas。以下是详细的原因和解释:1. UUPS 的升级函数对 Gas 的影响在 UUPS 模式中,升级逻辑(如 upgradeTo)确实存在于逻辑合约中…

【URP】Unity[纹理压缩]算法多平台对比

纹理压缩技术发展节点 ‌早期阶段 2000年代初‌ DXT/S3TC成为PC和主机平台主流,采用44像素块压缩,但移动端支持有限。 PVRTC(2008年)专为PowerVR GPU设计,要求纹理尺【从UnityURP开始探索游戏渲染】专栏-直达纹理…

AI元人文构想:三值纠缠模型

AI元人文构想:三值纠缠模型 作者:岐金兰 日期:2025年10月29日 引言: 观照个体欲望,尊重个体自感,于白箱化的价值博弈舞台,共同涌现集体客观——此三值纠缠模型,正是AI元人文构想跳动的心脏。 这精准道破,并庄…

EDK2环境搭建以及HelloWorld编译实现

本文简单介绍了Linux环境下搭建EDK2开发环境的关键步骤和命令。EDK2环境搭建以及HelloWorld编译实现 TianoCore的官方介绍 Welcome to TianoCore, the community supporting an open source implementation of the Uni…

谁生?谁死?从引用计数到可达性分析,洞悉GC的决策逻辑

谁生?谁死?从引用计数到可达性分析,洞悉GC的决策逻辑引用计数与可达性分析:谁死了,谁还活着? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。在Java虚拟机的语境下…

P1561 [USACO12JAN] Mountain Climbing S

Solution 简单看题容易得到一个错误的贪心: \[ans=max\{\Sigma_{k=1}^n + down_{min}, \Sigma_{k=1}^n +up_{min}\} \]然后你将可以把他 hack 掉,因为最初的方法认为第一个牛上山后,所有上下山是一起进行的,其实有…

六、阅读笔记六:保障软件可靠性的防线

《程序员修炼之道:从小工到专家》围绕软件测试与质量保障展开,系统阐述了如何通过科学的测试方法和质量管控策略,构建可靠的软件产品。在软件开发生命周期中,测试与质量保障是不可或缺的环节,它能够及时发现潜在问…