Closed SettingDust closed 5 months ago
这个问题是 mixinbooter 没有进入 classpath 所以根本没有 IEarlyMixinLoader
类,不是 mixinbooter 未初始化
这个问题是 coremod 实例化时按照文件名顺序,所以实例化某个 coremod 时 mixinbooter 没有进入 classpath,根本没有 IEarlyMixinLoader
类,不是 mixinbooter 未初始化
必须打包 mixin 环境?
必须打包 mixin 环境?
不是的,在 injectdata 的时候 mixinbooter 的 coremod 已经实例化了,也就是提供了相应的 mixin 环境,所以只需要修改成这样就可以使用了
injectdata 是在 coremod 都实例化之后运行的,所以 mixinbooter 也是在这里添加配置,这里才能拿到所有的 coremod 实例
唉,沟槽的模组改名
然后就是我看了一下 mixinbooter 的扫描,https://github.com/CleanroomMC/MixinBooter/blob/main/src/main/java/zone/rong/mixinbooter/MixinBooterPlugin.java#L69-L74 ,他支持一个 IMixinConfigHijacker
来禁止 mixin,如果需要支持就需要自己迭代一下所有 coremod,做一遍他那个逻辑,他没给 API 或者一个成员来让外部访问,感觉是设计问题
不知道会不会破坏正常环境下的 mixin 注入,某些《特殊》模组会用自己的方法去注入代码。
不知道会不会破坏正常环境下的 mixin 注入,某些《特殊》模组会用自己的方法去注入代码。
添加配置的逻辑和 mixinbooter 是一致的,运行时机也是一致的,如果有问题应该也会破坏 mixinbooter
… environment that can't keep the mod filename