Replay Mod (Fabric & Forge)

Replay Mod (Fabric & Forge)

787k Downloads

Mixin apply for mod replaymod failed - 1.20.1 with OptiFabric

CompbuildREDUX opened this issue · 6 comments

commented

Minecraft keeps crashing with this set of mods along with ReplayMod, when I remove ReplayMod it's fine.
image

Output Log:
image

commented

I hope this will be fixed soon

commented

I just tried to remove that problematic class and changed the mixin JSON file, and ReplayMod & OptiFine 1.20.1 works without big issues

unzip ReplayMod JAR with 7-Zip, go to com/replaymod/lib/de/john0702/minecraft/gui/versions/mixin and delete MixinKeyboardListener.class, go to the root, edit mixins.jgui.json and remove line 18 ("MixinKeyboardListener", ). Re-zip the unzipped replaymod jar file using 7-Zip (as zip, compression level to STORE, change the extension to JAR). Now open optifabric with 7-Zip and edit optifabric.compat.replaymod.newer-mixins.json and delete line 6 and put the modified json file to the JAR file again.

commented

I just tried to remove that problematic class and changed the mixin JSON file, and ReplayMod & OptiFine 1.20.1 works without big issues

unzip ReplayMod JAR with 7-Zip, go to com/replaymod/lib/de/john0702/minecraft/gui/versions/mixin and delete MixinKeyboardListener.class, go to the root, edit mixins.jgui.json and remove line 18 ("MixinKeyboardListener", ). Re-zip the unzipped replaymod jar file using 7-Zip (as zip, compression level to STORE, change the extension to JAR). Now open optifabric with 7-Zip and edit optifabric.compat.replaymod.newer-mixins.json and delete line 6 and put the modified json file to the JAR file again.

Quoting this reply for clarity, is there any chance the dev could check this to see if it’s a valid fix? As it seems to work as is without, the fixes needed in Optifabric could probably be avoided in future

commented

it's a temporary fix I'm not sure what that mixin class does there may be other issues that I didn't notice

commented

it's a temporary fix I'm not sure what that mixin class does there may be other issues that I didn't notice

Oh I meant it as asking the dev, not you. If it can just be removed from ReplayMod in general, it would remove the need for an Optifabric fix in general, since the same class has caused issues in the past.

commented

I just tried to remove that problematic class and changed the mixin JSON file, and ReplayMod & OptiFine 1.20.1 works without big issues
unzip ReplayMod JAR with 7-Zip, go to com/replaymod/lib/de/john0702/minecraft/gui/versions/mixin and delete MixinKeyboardListener.class, go to the root, edit mixins.jgui.json and remove line 18 ("MixinKeyboardListener", ). Re-zip the unzipped replaymod jar file using 7-Zip (as zip, compression level to STORE, change the extension to JAR). Now open optifabric with 7-Zip and edit optifabric.compat.replaymod.newer-mixins.json and delete line 6 and put the modified json file to the JAR file again.

Quoting this reply for clarity, is there any chance the dev could check this to see if it’s a valid fix? As it seems to work as is without, the fixes needed in Optifabric could probably be avoided in future

Ok, I did a bit of looking into it, Seems when running Optifabric this fix does indeed work fine, ReplayMod all works as expected, and without issues. I backported the fix as far back as I could, comparing across previous Optifabric versions, and the same fix works across versions.
I don't know if these are used by Forge, as I didn't test that much.

I also tested without Optifabric / Optifine, and it still caused no noticeable difference in usability, recording worked fine, config fine, etc. So if the mod works fine with Forge, without that file, I assume that in newer releases it wouldn't be needed, and can be removed entirely.

This comment is just a note for the Dev, The issue with 1.20 and above is Optifine / Optifabric error about CharTypedOptifine in jgui/versions/mixin/MixinKeyboardListener. Without changes, Optifabric / ReplayMod seemed to work on 1.19.2 fine, however when you updated to 1.19.3, the issue showed up. Removing the Above class removes the error entirely, with what seems like no problem for ReplayMod at all. I'll keep looking at it and see if I can supply a permanent fix, but for now I suppose this could work.