Compatibility layer
There are some differences between Minecraft versions that make it harder to port mod updates from one version to the others, like ClientPlayerEntity that changed to LocalPlayer in recent versions, and other things very noticeable as well. I think that, maybe a solution for this is to create wrapper classes that serve the purpose of translating the commands to the one that you need, in a way that you focus the version adaptation on them, and in the code injections each mod requires. It may be challenging to do so, and it may require different strategies for each problem, but I'm willing to try this if you agree. We wouldn't need to do it all at once, but maybe progressively make this adaptation until all the code that needs conflict resolution will be concentrated in those wrappers.
I've started this work here, if you want to take a look athow I'm suggesting to do it. This is a massive refactor, though
It should take a considerable amount of time, are you okay?
Yeah, I'm ok with it, if you like the idea. We can do it little by little until all the "unstable Minecraft API" is isolated