Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-168596

Chunks outside of render distance are not unloaded if "execute if block" runs on it every tick

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.15.1, 1.16.1, 1.16.2, 1.17.1, 1.19, 1.20.2, 1.20.3 Pre-Release 2
    • None
    • Community Consensus
    • Commands

      Create a new superflat world with cheats. Put down a repeating, always active command block with the command:

      execute if block 10000 3 10000 minecraft:grass_block run say yo

      It will not say "yo", of course, because the block at 10000, 4, 10000 isn't loaded. So then teleport yourself there, and of course, it will start spamming the chat with "yo". Kill yourself to go back to world spawn. By typing things in chat, you can tell that it continues to spam "yo" to chat, even though you are a long ways away from 10000, 4, 10000. You can also run the command yourself and see that said chunk is indeed still loaded, it's not a command block caching issue or anything.

      So disable the command block, then run the command yourself. By which you can see that a short moment after the command block stops running, the chunk unloads. So the "if block" command is actually keeping the chunk loaded somehow.

      As for importance, there are workarounds for this issue, but for people that aren't aware of it, it can cause major performance problems for data packs by causing them to keep a lot of unnecessary chunks and entities loaded.

       

            Unassigned Unassigned
            avantir_yihn Avantir_Yihn
            Votes:
            12 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              CHK: