# Unloaded chunks

# Spawn Chunks

## <span style="color: rgb(230, 126, 35);">Spawn Chunks</span>

Against popular belief spawn chunks DO exist on bedrock edition. These chunks around the central world chunk (x 0, z 0) are there mostly for performance reasons. If you have ever went into a portal and came back you will know that the transfer from nether to overworld is much faster than the opposite. This is because of spawn chunks. This can help you load those chunks to the loaded status much quicker than if they were fully unprocessed. These chunks form a rounded 11x11 square of <span style="color: rgb(230, 126, 35);">[unloaded chunks](https://bedrockwiki.com/books/chunks/page/unloaded-chunks)</span> and of course bordering them is a rounded 15x15 square of <span style="color: rgb(230, 126, 35);">[locked chunks](https://bedrockwiki.com/books/chunks/page/locked-chunks)</span>.

[![spawnchunksvisualisation.png](https://bedrockwiki.com/uploads/images/gallery/2025-09/scaled-1680-/spawnchunksvisualisation.png)](https://bedrockwiki.com/uploads/images/gallery/2025-09/spawnchunksvisualisation.png)

<span style="color: rgb(126, 140, 141);">(Visualization by @kiwixite on discord)</span>

<p class="callout info"><span style="color: rgb(126, 140, 141);">These chunks will become unprocessed on server/world shutdown until loaded again. After which they will stay persistent across *that* session.</span></p>

# Map-Induced Chunk Unloading



# Locked Chunks

## <span style="color: rgb(230, 126, 35);">Locked Chunks</span>

<span style="color: rgb(149, 165, 166);">Locked chunks are chunks that exist and have references in memory but do not process any events. These chunks may behave like unprocessed chunks to the untrained eye, but if you put an entity in one and use **/testfor** you will see that it does still exist. These chunks are generally out of the way in terms of where they appear, so you aren't likely to interact with them in day to day gameplay. Locked chunks are only seen in one natural instance and that is bordering <span style="color: rgb(230, 126, 35);">[unloaded chunks](https://bedrockwiki.com/books/chunks/page/unloaded-chunks)</span></span>.

## <span style="color: rgb(230, 126, 35);">Where are they</span>

<span style="color: rgb(149, 165, 166);">As stated previously they appear around unloaded chunks, but in what way? Locked chunks create a 5x5 square around a given unloaded chunk. This is good to know when testing with unloaded chunks, because these chunks may cause unexpected behavior when you are building. </span>

[![lockedchunks.png](https://bedrockwiki.com/uploads/images/gallery/2025-09/scaled-1680-/lockedchunks.png)](https://bedrockwiki.com/uploads/images/gallery/2025-09/lockedchunks.png)

<span style="color: rgb(126, 140, 141);">(Green is the [Unloaded chunk](https://bedrockwiki.com/books/chunks/page/unloaded-chunks) and the yellow/orange is locked)</span>

# Unloaded Chunks

## <span style="color: rgb(230, 126, 35);">Unloaded Chunks</span>

<span style="color: rgb(149, 165, 166);">Unloaded Chunks or Cached Chunks (but officially called unloaded chunks) are chunks that have most but not all functionality disabled within them. These chunks are not simulated and cannot process things like block updates and pending ticks. There are three main natural instances of unloaded chunks in a Minecraft world, <span style="color: rgb(230, 126, 35);">[Spawn Chunks](https://bedrockwiki.com/books/chunks/page/spawn-chunks)</span>, Chunks in your render distance, and the "perma-cache" phenomenon. These chunks do process some events however and knowing what does and does not work will help you be able to interact with these chunks in much more confidence.</span>

## <span style="color: rgb(230, 126, 35);">What Works In Them</span>

<span style="color: rgb(149, 165, 166);">The things we know to work in unloaded chunks:</span>

- <span style="color: rgb(149, 165, 166);">Redstone circuit structure</span>
- <span style="color: rgb(149, 165, 166);">Capacitors (E.g, Redstone Torches, Repeaters, Comparators) </span>
- <span style="color: rgb(149, 165, 166);">Redstone Dust</span>
- <span style="color: rgb(149, 165, 166);">Global Entities (Player Owned Projectiles, Ender Dragon, fireworks, lightning)</span>
- <span style="color: rgb(149, 165, 166);">Block state changes from a wind charge</span>
- <span style="color: rgb(149, 165, 166);">Sculk Spread</span>
- <span style="color: rgb(149, 165, 166);">Block Creation</span>
- <span style="color: rgb(149, 165, 166);">Tripwire</span>
- <span style="color: rgb(149, 165, 166);">Target Block</span>
- <span style="color: rgb(149, 165, 166);">Pressure Plate</span>
- <span style="color: rgb(149, 165, 166);">Damaging/Killing Entities (Non-Global Entities will not be fully dead/deleted until simulated)</span>
- <span style="color: rgb(149, 165, 166);">Artificial Entity Spawning</span>
- <span style="color: rgb(149, 165, 166);">Breeze Projectile Redirection</span>
- <span style="color: rgb(149, 165, 166);">Pending Tick Scheduling (Not execution)</span>
- <span style="color: rgb(149, 165, 166);">Wind Charging effect.</span>
- <span style="color: rgb(149, 165, 166);">Weaving Effect</span>

<p class="callout info"><span style="color: rgb(149, 165, 166);">Although Observers are a "Pulse Capacitor" they cannot fire in unloaded chunks due to their reliance on pending ticks.</span></p>

<p class="callout warning">Since tridents are player-owned projectiles, they can fall through the world if they spawn in an unloaded chunk before the chunk’s block collision map is initialized especially when the world is running slowly. Grindstones are used to combat this.</p>

## <span style="color: rgb(230, 126, 35);">Perma-Caching</span>

<span style="color: rgb(149, 165, 166);">Perma-Caching is an unexplained phenomenon that happens when a player spends enough time in a given part of their world. The game will generate a seemingly random arrangement of chunks around the area that will not become unprocessed and stay in the unloaded state. This phenomenon does not seem to go away with relog or waiting. </span>

## <span style="color: rgb(230, 126, 35);">Why "Unloaded Chunks"</span>

<span style="color: rgb(149, 165, 166);">We call them unloaded chunks because, in game, functions like these refer to them as unloaded chunks. This allows us to keep consistency with what the game developers at Mojang refer to them as internally. We do this because it helps us know what to look for when learning about something related to them.</span>

```c++
void Dimension::transferEntityToUnloadedChunk(Actor& actor, LevelChunk* oldChunk)
```

<p class="callout info">These chunks are represented by the hex values 0x0000 through 0x0008 but each value is a different state of an unloaded chunk.</p>