Not sure of the double-post rules but I just wanted to bump the thread. Maybe someone else will find something useful from my experience so far if they're trying to do the same.
I made a lot more progress than I thought towards modding the game, but there's still work to do. The gist of it is, I got my mappings generator and mapper working after dealing with inheritance hell, and was able to get the game to run stable with all classes/functions/methods remapped to generic versions (like class_0001, method_0001, etc). So then I disassembled the result of that with Fernflower. This wasn't too bad, it was mostly broken enums and missing exceptions, which I had to fix all of them manually because I'm not sure how to automate the process yet, and didn't want to cheat and look at how MCP does it.
After a while of doing that, eventually it was down to zero errors, at which point I got crashes when trying to run the recompiled game. I think this ended up being related to the Gson library. I was getting a class cast exception, which went away magically after I manually fixed the various list types in the class after reading that Gson uses reflection to scan a class to find what it needs. That's kinda scary because something that can cause such a weird error as a result of how a third-party library works could lead to a lot of problems onwards.
After getting past that error, the game now just exited immediately right before the title screen. After lots of tracing (aka spitting out a debug message from dozens of different places) I managed to manually break the part which was causing the game to exit after receiving some unknown exception. So that's a bit of a hack that will need to be fixed when I find the proper problem there.
If I try to create a world, it seems to have actually generated it, but right after the loading text finishes it immediately crashes with a class error related to a large enum I had to fix, which is obviously still pretty broken.
Overall, I would actually say that this has been a slightly smoother experience
than last time. Either way, I at least tagged the title screen to have some degree of satisfaction for the night!