Closed forresthopkinsa closed 3 years ago
I looked into this and it turns out Up/Down implements class transformers in a way where the patches "self-destruct" themselves after finishing, which means they won't get run a second time. This is a problem because Mixin runs transformers an additional time at startup to gather info.
The issue happened because MAtmos used a mixin to the Entity class to access a private field, breaking Up/Down's patches to it. I changed the code to use access transformers instead, and now it works correctly... mostly.
The only mixin that remains is the SoundManager one, which class Up/Down also modifies to reverse the directions of sounds when you're upside down. Since this is one mixin I cannot let go of, the only way to fix it would be to reimplement U/D's transformers in a way so that they can be run multiple times.
By the way, this issue isn't exclusive to MAtmos. Any mod that uses mixins to modify the classes U/D modifies will have an issue. For example, with Dynamic Surroundings, the directions aren't reversed correctly and the footsteps aren't played when you're upside down.
tl;dr the problem is on U/D's side but I made MAtmos's patching less aggressive so now there are only audio issues.
Got it. Thank you very much for the fixes you were able to manage! Audio issues I can live with.
Do you think a release is incoming or should I just make myself a build?
It's coming, I was just waiting on a possible issue reported elsewhere. But I'm gonna give up on that for now.
When playing with Up/Down 2.9.1 and MAtmos 35.1, after switching gravity and standing on a reoriented surface, the camera gets stuck and the player seems to be clipping into the ground -- a similar effect to really high server lag.
Considering how disparate these two mods are, I don't expect that this conflict is inevitable.
Corresponding issue: Mysteryem/Up_And_Down_And_All_Around#123
More info: