Mixin plugin loads Fabric API and Minecraft classes
sfPlayer1 opened this issue ยท 0 comments
Describe the bug
The mod doesn't comply with the requirement in the IMixinConfigPlugin
class documentation to not load classes that aren't designed for such an early time. Whenever any of the Satin.LOGGER
accesses are reached the Satin class loads and then some classes referenced by onInitializeClient get loaded too. It is somewhat unusual for the JVM to load a type referenced from a method that hasn't been executed yet, but there's nothing disallowing it and it happens in this case. This prevents other Mixins from working as intended due to their target classes having been loaded too early.
SatinMixinPlugin needs to use its own logger and avoid referencing game classes directly or indirectly.
To Reproduce
Run with the environment described below and -Dfabric.debug.logClassLoad
, observe how SatinMixinPlugin
loads Satin
then a fabric api and a MC class.
Environment:
It looks like every branch on the repo is affected, version 1.7.2 was tested. It is necessary to have one of the 3rd party mods that trigger logging. Client only of course.