LlamaLad7 / MixinExtras

Companion library to SpongePowered Mixin with many custom injectors for a more expressive experience.
MIT License
319 stars 17 forks source link

[Question] Why does MixinExtras 0.2.0 for fabric platform requires fabric loader `>=0.14.11` #52

Closed Fallen-Breath closed 1 year ago

Fallen-Breath commented 1 year ago

MixinExtras declares dependency on fabric loader >=0.14.11, but I don't see any actual code dependency on fabric loader >=0.14.11

https://github.com/LlamaLad7/MixinExtras/blob/b26d42127aee5eca65204238a0a729b0f022cd65/platform/fabric/src/main/resources/fabric.mod.json#L19-L21

The reason why I can't just update my fabric loader is, I have some fabric client setups in mc1.15 and below, that cannot work with fabric loader >=0.12.0. I'm also maintaining some mods for those mc versions. If MixinExtras requires fabric loader >=0.14.11, then I cannot use MixinExtras 0.2.0 for my mods while still support those client setups

If it's not necessary, I'll suggest to remove this dependency, just like the MixinExtras 0.1.1 that depends on nothing

LlamaLad7 commented 1 year ago

It requires this fix. The latest version of fabric loader should work on every mc version, what specific issues are you encountering?

LlamaLad7 commented 1 year ago

Also you don't have to use the fabric specific artifact, you can still shade and relocate it as explained in the "other platforms" section.

Fallen-Breath commented 1 year ago

The latest version of fabric loader should work on every mc version

the fabric loader itself works, but some mods don't

Fallen-Breath commented 1 year ago

Also you don't have to use the fabric specific artifact, you can still shade and relocate it as explained in the "other platforms" section.

I thought I have to follow the fabric guide in the readme xd

Can I simply apply loom's include on mixinextras-common and invoke MixinExtrasBootstrap.init() in my onw, just like what we do for MixinExtras 0.1.1? cuz using include much easier than using shadow

LlamaLad7 commented 1 year ago

No, you cannot. The generated modid will be wrong.

LlamaLad7 commented 1 year ago

Using mixinextras on <0.14.11 without shading it is kind of not a supported use case at all since you can't initialize it from a mixin plugin without triggering the crash, and if you do it from preLaunch then mixin inheritance won't work properly with its injectors. I sort of assumed everyone would be off those versions by now.

Fallen-Breath commented 1 year ago

ok, so I have to do the shadow thing, if I do need to use MixinExtras on <0.14.11 right?

LlamaLad7 commented 1 year ago

Yes.