SakuranaRanbom
如题,在使用fabric开发测试环境 的时候可以正常打开,功能也是完全ok的。
但是将 生成的mod单独放入启动器客户端里面启动就报错无法打开。

具体报错如下:Ubuntu Pastebin

看起来是配置文件里面的入口没有设置对,但是


看起来配置文件都是对着的


无敌三脚猫
本帖最后由 无敌三脚猫 于 2023-1-2 21:58 编辑

你是不是写了Class.forName("net.minecraft.util.Identifier")或者ClassLoader.loadClass("net.minecraft.util.Identifier")这种代码?就是……你应该知道的,生产环境下是不存在叫net.minecraft.util.Identifier的类,对于fabric来说,它们全都被改名成net.minecraft.class_xxx这种名字,具体到你这个类来说,是class_2960
艹,洞穴夜莺这么一说我才发现你那个jar文件的位置都不对,导出方式都搞错了

洞穴夜莺
不要用idea的artifact导出,用gradle的build任务,idea右侧有个gradle键,里面选Tasks/build/build,构建结果在build/libs文件夹

美用的飞物
无敌三脚猫 发表于 2023-1-2 21:44
你是不是写了Class.forName("net.minecraft.util.Identifier")或者ClassLoader.loadClass("net.minecraf ...

草,反射害死人()不过一般新人不会有这么奇葩的脑回路(确信)

SakuranaRanbom
本帖最后由 SakuranaRanbom 于 2023-1-2 22:08 编辑
洞穴夜莺 发表于 2023-1-2 21:50
不要用idea的artifact导出,用gradle的build任务,idea右侧有个gradle键,里面选Tasks/build/build,构建结 ...

我用您说的gradle成功构建了,并且游戏没有崩溃。

但是很疑惑,我从fabric官方开发者wiki中看到的是强烈要求不用gradle



zh_cn:tutorial:setup [Fabric Wiki] (fabricmc.net)


lovexyn0827
这里应该是没有经过反混淆,应该用gradlew remapJar生成的文件中【没有】-dev后缀的那个

洞穴夜莺
SakuranaRanbom 发表于 2023-1-2 22:04
我用您说的gradle成功构建了,并且游戏没有崩溃。

但是很疑惑,我从fabric官方开发者wiki中看到的是强烈 ...

第一个框,调试环境下不需要重混淆,idea更快,正式环境需要重混淆,idea构建无法完成重混淆操作,必须gradle
第二个框,他说的不要运行一个名叫idea的gradle任务,而不是“不要用idea运行gradle任务”