iPortalTeam / ImmersivePortalsMod

Non-Euclidean in Minecraft. See through portals and teleport seamlessly.
https://qouteall.fun/immptl/
Apache License 2.0
421 stars 100 forks source link

made overwrite an inject cancelled mixin #1523

Open Mysticpasta1 opened 4 months ago

Mysticpasta1 commented 4 months ago

This removes a fast fail overwrite mixin that fails when the method becomes public, changing it to an injected cancelled at-head mixin keeps the same functionality but makes it to were if the original method becomes public it won't crash due to an overwrite fail

basically tldr fixes this bug.

[16:50:57] [Worker-ResourceReload-9/FATAL] [mixin/]: Mixin apply for mod imm_ptl_core failed imm_ptl.mixins.json:common.chunk_sync.MixinChunkMap_C from mod imm_ptl_core -> net.minecraft.server.level.ChunkMap: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException PRIVATE @Overwrite method m_183760_ in imm_ptl.mixins.json:common.chunk_sync.MixinChunkMap_C from mod imm_ptl_core cannot reduce visibiliy of PUBLIC target method

qouteall commented 4 months ago

Which mod compatibility issue would you want to solve? Can you show me the code of the conflicting mixin?

Mysticpasta1 commented 4 months ago

There really isn't another mixin it is just an AT or AW from any mod that changes it from private to public will cause a crash, this is fixed and tested in my 1000 mod modpack with the following PR, Overwrites can't change visibility even if the original method turns public by an AT or AW, this happens with connector mod in my 1000 mod modpack on curseforge for 1.20.1 forge

The modpack is called Mystic's Monstrosity The functionality of IP doesn't change just make the method compat with possibly 1 to multiple mods in the modpack

For further info I'm HauntedPasta1 on discord