DragonAPI compatibility.
ORANG4 opened this issue ยท 8 comments
Versions
Betweenlands version:
1.0.6
Forge version:
1.7.10-Forge10.13.4.1614-1.7.10
Singleplayer or Multiplayer:
Singleplayer
Installed mods:
TheBetweenlands
DragonAPI V24c
Link to full crash log
https://gist.github.com/ORANG4/ab84b0e216fac436872fbe25d70656c5
Description of the problem
How to reproduce:
Run the game with mods listed above
Expected result:
Game normal startup
Actual result:
Crash
java.lang.NoClassDefFoundError: net/minecraft/client/renderer/EntityRenderer
The 1.7.10 version of the Betweenlands isn't supported anymore, you should look into upgrading to newer versions.
The 1.7.10 version of the Betweenlands isn't supported anymore, you should look into upgrading to newer versions.
Could you please provide at least some information to fix this issue on DragonAPI part? Does the Betweenlands ASM into the EntityRenderer?
There isn't an issue on DragonAPI's part which it could fix.
Trying to play old 1.7.10 mods with mods with new releases will grant incompatibility. In order to play a six year old version of the game you have to manage what versions of mods you use, don't expect all mods released over that period to play nicely with each other.
He is not mixing mods across game versions; with a version released recently, I added new ASM hooks into EntityRenderer, which seems to conflict with one which (it appears) you have. I was asking to know exactly what those patches were and where, so that I can work around them. In particular, I want to know if it is related to the hooks that support my new shader engine, or if it is one of the comparatively trivial hooks like for rain FX or F5 camera control.
I was not referring to using mods across game versions, but using mod versions released over multiple years (BL released significantly before your recent release). I did look into your code, but the relevant BL ASM is replacing the entire method body so there isn't an immediate fix. As stated, we no longer support 1.7.10 given it not being practical for development, so do not expect much more assistance in attempting to work around our old terrible code.
That is given by you, very nicely:
Caused by: Reika.DragonAPI.Exception.ASMException$NoSuchASMFieldInstructionException: Error ASMing method func_78467_g (F)V in net/minecraft/client/renderer/EntityRenderer:
Could not find an instruction for a field call to [unspecified]'s field_78490_B:
I see. Fortunately, that is NOT part of the shader engine, so the fix is trivial.
For now, @ORANG4, you can run with the -DragonAPI_disable_ASM_THIRDPERSONDISTANCEDISPATCH JVM argument and the client will boot.