• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】

已解决 【模组开发】模组引用导致的mixin问题

帕帕武

【Lv:4】

正式会员
注册
2020/05/02
消息
4
金粒
4,055.12金粒
我在gradle里面implementation社区移植模组
该模组的github库ldlib2-forge
代码:
implementation files("libs/ldlib2-forge-1.20.1-2.2.27+forge.1.20.1-all.jar")

构建成功并runclient后,控制台便报错说mixin文件不可读
代码:
Caused by: java.lang.IllegalArgumentException: The specified resource 'mymod.mixins.json' was invalid or could not be read
(更深一点栈说无法初始化mixin)
代码:
Exception in thread "main" org.spongepowered.asm.launch.MixinInitialisationError: Error initialising mixin config mymod.mixins.json
当我移除引入的模组后,构建成功,runclient又能运行
这是什么问题呢
 
解决方案
闻起来是 Forge。Forge 开发环境并不内置 Mixin,需要手动导入。

以及使用 file 形式导入依赖可能会导致一些问题,但这不是重点:你至少得用 fg.deobf 包裹以使 Forge 知道需要顺便反混淆处理一遍依赖项目。

最坏情况下,依赖模组导致测试环境不可用,只能连接到生产环境测试。
闻起来是 Forge。Forge 开发环境并不内置 Mixin,需要手动导入。

以及使用 file 形式导入依赖可能会导致一些问题,但这不是重点:你至少得用 fg.deobf 包裹以使 Forge 知道需要顺便反混淆处理一遍依赖项目。

最坏情况下,依赖模组导致测试环境不可用,只能连接到生产环境测试。
 
解决方案
闻起来是 Forge。Forge 开发环境并不内置 Mixin,需要手动导入。

以及使用 file 形式导入依赖可能会导致一些问题,但这不是重点:你至少得用 fg.deobf 包裹以使 Forge 知道需要顺便反混淆处理一遍依赖项目。

最坏情况下,依赖模组导致测试环境不可用,只能连接到生产环境测试。
mixin是导入了的,可能真是开发环境不支持,
 
mixin是导入了的,可能真是开发环境不支持,

虽然单看三行日志肯定很难确定问题,但如果是存在 mixin 的话,完整日志也可能通篇废话,就再补充一点通用的可能性。

在开发环境中可能会因为其他模组加载周期(PreInit)遇到问题,但同时正在读取这个模组的 Mixin 配置文件,此线程会被截断,也会抛出这样的问题。

另外,非常建议使用 Github Packet 导入依赖项,得益于这位移植作者规范编写 Gradle 使得 Maven Publisher 上传提供了 Source Jar,这可能可以解决 Mixin 遇到的 Deobf 类型问题。

虽然有 Source,导入时也依然可能需要使用 fg.deobf 包裹依赖项,因为我没看到 Dev Jar(同时也有点忘记 Forge 1.20.1 是否需要 Dev Jar 了)
 

在线会员

  • cyjbfryjvf
  • 张 亮亮
  • 2631692637
  • 诞中
  • Zaxver
  • zbldyyds
  • bbs159
后退
顶部 底部