Vault Patcher

Vault Patcher

82.5k Downloads

CoreMod 和正常模组共存的问题

SettingDust opened this issue · 4 comments

commented

我最近遇到一样的问题,就去 Discord 查看有没有办法解决,但是还是说无法解决,所以想问问你是怎么解决的
以及我以前用比较 hacky 的方式解决过,CoreMod 的 Jar 实现一个 IModLocator,直接加载当前 Jar 进候选,模组就可以作为 JarInJar 被加载,因为 CoreMod Jar 不包含有效的信息,也不会被加载,防止下级 Layer 二次加载里面的类报错

这个是自己复制了一个 JarInJar 的加载,应该是不用这么麻烦的,直接加载当前 Jar 进候选就可以
https://github.com/SettingDust/ModSets/blob/main/forge-mod-locator/src/main/java/settingdust/modsets/forge/service/ModSetsModLocator.java#L59-L74

commented

我还是更倾向于我的写法,但是还在看forge的源码

commented

是这样的(但是我forge版本好像没有带meta吧)
我一开始的想法是直接在加载完coremod后注入meta(太麻烦了没写)

commented

好久之前想的了,你这么一说又想重新搞一遍了,回去我看看

commented

不需要 mod toml,只需要 FMLModType,MANIFEST 里

不过在 1.18.2 上有些不一样,直接把当前 jar 加入 mod 会报错,只能自己调用 JarInJar 的方法加入 JiJ 的 Jar
https://github.com/SettingDust/dawncraft-fixes/blob/main/src/main/java/io/github/settingdust/dawncraftfixes/core/DummyModLocator.java