-
Bug
-
Resolution: Awaiting Response
-
None
-
1.17.1
-
None
-
Plausible
-
Chunk loading
-
Important
-
Platform
This was done correctly in 1.16.5. I discovered this issue while attempting to help with a MinecraftForge hook around a block entity being loaded and it's chunk reaching ticking state.
The actual transition into ticking for most of game logic happens when ChunkHolder.tickingChunkFuture future completes - that's when a chunk is actually ready to be ticked.
LevelChunk.isTicking used for BlockEntity ticking checks the chunk's ticketLevel, which by my understanding of the code is actually the target level to be reached, not necessarily it's current level. This results in block entities sometimes being ticked a tick too early.
1.16.5 actually checked for the ChunkHolder ticking future instead.
By modifying the code in ServerChunkCache.getChunk to check for completable future that isn't done yet, we were able to confirm that it does in fact cause a hopper on a chunk border to wait for the chunk to load because it has been ticked too early.
- relates to
-
MCPE-152014 Item sorters break on chunk boundaries
- Open
-
MCPE-180268 When you open a world, simulation begins before chunks, entities, redstone, and player controls finish loading
- Open