Incompatibility with mixin
Barteks2x opened this issue ยท 3 comments
Basically the same as #27 but the code is only checking for sponge coremod (also log output seems to be wrong), not for mixin in general (MixinTweaker would be a good target), so it still attempts to transform if anything else uses mixin and targets Entity
class.
By quick look at the code, I don't think you actually need to use COMPUTE_FRAMES
(you may need COMPUTE_MAXS
, but even then it should be possible to update maxs yourself) provided you don't discard them in class reader. I actually modified the code and tested it myself, it works (also, it was a real pain to get it to compile due to the weird broken gradle setup, I had to download most of the gradle files, and modify them to use normal curse maven). This completely removes the need for SafeClassWriter
(which is actually not all that safe and just happens to work in your case).
I think the real issue is actually in mixin, it may be this issue SpongePowered/Mixin#333
Also I still don't see any reason to need COMPUTE_FRAMES in your case, as long as you don't remove stack map frames data on class reader. It shouldn't be needed unless you are modifying/adding jumps or changing contents of the stack in between (ie. adding conditional jump, or changing the contents of the stack when a jump happens)
Yeah i converted from using the curse maven plugin back to curse's maven now for my build system. As for the not needing the custom classwriter...I only use it because there was a crash with another mod when I used the default. In dev, I have added org.spongepowered.asm.launch.MixinTweaker
to the list of classes to search for when patching, so this issue should be cleared up at minimum in the next update.