Monitors are not synced on chunk load in the presence of Immersive Portals
SquidDev opened this issue ยท 0 comments
Useful information to include:
- Minecraft version: 1.18.2
- Mod Version: Built from latest commit (8e224cc).
Immersive Portals overwrites the ChunkMap.playerLoadedChunk
method, deferring sending the chunk data until later on:
This means that monitor data is now sent too early, before IP has sent BlockEntity
s. Thus, when the client receives the monitor data, it has no monitors to associate it with, and discards them, resulting in black monitors when chunks are loaded.
There's a couple of fixes I can see here:
-
Hook into IP's
NewChunkTrackingGraph.beginWatchChunkSignal
event and also callMonitorWatcher.onWatch
when that "signal" is fired. This isn't an official API, so has no stability guarantees. -
Add an event to Fabric API for chunk watching/unwatching. Then update CC:R to listen to this event and submit a MR to IP to fire it in their own chunk watching code. Obviously this has a much longer turn around time.
I'm going to file this issue on IP's side too, given that they're the Problem Mod here, and see if they have any suggestions.