1.20.2 - Description: Ticking entity ``Non Descript Crash`` after update.
P3rf3ctXZer0 opened this issue ยท 10 comments
Is there an existing issue for this?
- I have searched the existing issues.
Are you using the latest Structurize Version?
- I am running the latest alpha version of Structurize for my Minecraft version.
I am also running the latest versions of other mods that are part of my problem.
Did you check on the Wiki? or ask on Discord?
Minecraft Version
1.20
Structurize Version
structurize-1.20.1-1.0.662-BETA.jar
MineColonies Version (if related bug)
minecolonies-1.20.1-1.1.303-BETA.jar
Related Mods and their Versions
https://legacy.curseforge.com/minecraft/modpacks/fiction-friction-pixelmon/files/4846571
Current Behavior
Structurize crash https://gist.github.com/P3rf3ctXZer0/1fc0ec239d0f40138e0a61cb74276bb1
``Suspected Mods:
MineColonies (minecolonies), Version: 1.20.1-1.1.303-BETA
Issue tracker URL: https://github.com/ldtteam/minecolonies/issues/new/choose
at TRANSFORMER/[email protected]/com.minecolonies.coremod.entity.ai.util.BuildingStructureHandler.triggerSuccess(BuildingStructureHandler.java:206)
Structurize (structurize), Version: 1.20.1-1.0.662-BETA
Issue tracker URL: https://github.com/ldtteam/structurize/issues/new/choose
at TRANSFORMER/[email protected]/com.ldtteam.structurize.placement.AbstractBlueprintIterator.iterateWithCondition(AbstractBlueprintIterator.java:126)
Observable (observable), Version: 4.4.0
Issue tracker URL: https://github.com/tasgon/observable/issues
Mixin class: observable.mixin.ServerLevelMixin
Target: net.minecraft.server.level.ServerLevel
at TRANSFORMER/[email protected]/net.minecraft.server.level.ServerLevel.track(ServerLevel.java:11169)``
Expected Behavior
No Crash
Reproduction Steps
Updated structurize-1.20.1-1.0.659-BETA.jar to structurize-1.20.1-1.0.662-BETA.jar
Be on a Dedicated Server (At least in my test.)
Logs
https://gist.github.com/P3rf3ctXZer0/1fc0ec239d0f40138e0a61cb74276bb1
Anything else?
Nope.
Footer
Viewers
- Add a thumbs-up to the bug report if you are also affected. This helps the bug report become more visible to the team and doesn't clutter the comments.
- Add a comment if you have any insights or background information that isn't already part of the conversation.
No Observable Present
https://gist.github.com/P3rf3ctXZer0/eeb057e9d253ba9dff693c9359d43001
Same versions as Zer0 but in single player, 2 crashes, both referencing an error ticking the same entity
https://gist.github.com/rrusciguy/aebce9ae95b3b9770faa687f36c3f6ca
This is beyond my java/jvm knowledge, the method hasn't changed in last commit, just iface was added...
Looks like Blueprint.getBlockState
used to be a unique method and is now an interface override (but lacking the @Override
attribute). Whether that makes it ABI incompatible is also beyond my JVM knowledge, but it seems possible.
If it was that particular change, then the short-term workaround would be to downgrade Structurize to 659 until Minecolonies requires the newer version.
Ye, had the same thought too, unfortunately the same name and method erasure as the vanilla method, so we will have to dump the structurize version in minecolonies
Oh, actually, that'll be what it was: according to all sources I can find this sort of "add an interface" is usually ABI compatible in Java, but in the specific case of Minecraft it isn't, because the added interface was a vanilla interface and thus the "real" method name isn't getBlockState
any more but the obfuscated version. Which is why it would also still mysteriously work in a dev environment.
Or to put that another way, the ABI break is that Blueprint.getBlockState
got renamed to Blueprint.m_7583578
(or whatever, I didn't actually look it up).
Mcol was bumped so now it should compile properly (please close if fixed), btw this would get caught by bin compat checker, guess I really gonna create one...