Due to an issue with the chunk event dispatch mechanism in the Forgified Fabric API in past, break level loading with Connector and Surveyor (Antique Atlas 4) since Surveyor calling a method in wrong time
Closed this issue · 16 comments
Describe the bug
Log: https://mclo.gs/OGOu2yT
Probably has to do with a mod incompatibility but I'm not sure which mod it could be. It only happens when I add Ecliptic Seasons to my modpack
To Reproduce
Steps to reproduce the behavior:
- Create new world or load into an existing one
- Observe the world loading stuck at 0%
Platform(please complete the following information):
- MC 1.21.1
- NeoForge 21.1.148
- Mod version 0.10.7.2
Additional context
Looks like ecliptic seasons is having trouble making a height map maybe?
[21Apr2025 15:43:31.018] [Server thread/INFO] [eclipticseasons/]: Create new Height Map with [0, 0]
[21Apr2025 15:43:31.023] [Server thread/INFO] [eclipticseasons/]: End create [0, 0]
btw, a better to find the result, we need jstack info (could you use gpt?) . or you can just test it by removing some mods to find out.
i usually used the second method.
Okay, I just did a binary search. Looks like it's caused by Antique Atlas and/or Surveyor Map Framework
@mosharky you can check the issue
a possible way is to edit the jar file of Ecliptic-Seasons. open the mixins.json and remove the line
"common.block.MixinIBlockExtension",
it's not a neo/forge mod. so i cannot test it.
Can't you use Connector for it though?
should a forge mod pay for the wrong calling behavior from a fabric mod?
even i cannot check its code directly due to we use different mapping (which means it loooks like using different api, it's hard to check its code).
connectors is designed for players to play more mods, not for developers, at least now. it would remapping the jar file in product runtime but not in dev.
add a config in Common.Map, you can set ChangeMapColor to false to achieve the same effect as modifying the mixin json.
I took some time to do a quick test, and it seems that the latest version of the FF API helps resolve this issue. I looked into the internal implementation, and it has switched from using Mixin to Forge Events.
@mosharky