tox1cozZ/mixin-booter-legacy

Rename jar to come first alphabetically

makamys opened this issue · 3 comments

Currently the mod doesn't work well with mods that embed Mixin 0.7, such as Et Futurum Requiem, Satchels, Serene Seasons and ForgeEssentials. This happens for two reasons:

  1. Their mixin config plugins reference Mixin 0.7's shaded ASM package names (e.g. org.spongepowered.asm.lib.tree.ClassNode) which are no longer present in Mixin 0.8 [note from the future: Actually this seems to not be an issue as long as the mods don't actually use the class (and they don't), since Mixin 0.8 has a dummy ClassNode class.]
  2. They may get loaded before MixinBooterLegacy, causing Mixin 0.7 to be initialized instead of 0.8, breaking any mod that depends on the latter (such as Triangulator when MixinBooterLegacy is present).

FalsePatternLib fixes issue 1 by transforming the config plugins of all mods that use Mixin 0.7 to use the new package names. However, fixing issue 2 requires a change from MixinBooterLegacy's side.

Fortunately, it's a simple change. Since Forge loads jars in alphabetical order, the jar simply has to be renamed so that it comes before other mods alphabetically. Several other mixin bootstrap mods employ this trick:

Personally, I would recommend using ! for consistency with MixinBooter.

By the way, we are working on releasing versions of our mods without embedded Mixin, but we can't expect every mod to do this.

MixinBooterLegacy using ! in jar name. That's exactly what it is at curseforge. Github releases for some reason do not allow loading jar with ! prefix.

Oh, I was not aware the mod was on CurseForge. In that case I'd suggest either adding a warning to the readme saying that using the GitHub releases can cause issues, or using an _ prefix in GitHub releases.

I was introduced to the mod via the GitHub repo, and other people in the same situation may run into similar issues.

Well thank you.