Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-180268

When you open a world, simulation begins before chunks, entities, redstone, and player controls finish loading

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.20.73 Hotfix, 1.20.81 Hotfix, 1.21.2 Hotfix, 1.21.20
    • None
    • Confirmed
    • Multiple
    • 1217019

      Players expect that when they close and reopen a world it would resume simulation in the same state in which it was left. However, the loading process itself can disrupt relationships between various things in a world because simulation begins before all world data is loaded.

      • chunks within simulation of the player begin ticking in random order over the course of several ticks
      • entities within simulation distance of the player load in random order over the course of several ticks, and in some cases before the blocks in their chunks have loaded
      • redstone updates begin only after several ticks have occurred
      • players can see the world and control their avatar only after several seconds of simulation have already occurred

      Steps to reproduce

      Chunk and entity ticking

      1. Load Relog randomness.mcworld . At ground level command blocks count the number of ticks elapsed in each chunk of a 3x3 square around the player, labelled A-I; and the number of ticks in which a creeper is found in chunk C, and a trident in chunk G, as detected by command blocks in chunk E where the player is located.
      2. /gamerule commandblocksenabled true
      3. Check that all repeat command blocks at ground level are powered by the levers on them. Redstone lights indicate power.
      4. Stand in chunk E and press the button on the "Reset Scores" command block.
      5. Save & quit, then reopen the world.
      6. Press the button on the "Stop Scores" command block.

      Expected result

      All scores display the same tick count.

      Observed result

      chunk and entity load chaos.mp4
      Scores display a range of tick counts. Sometimes when you run the test the trident and creeper scores may be higher than the scores for the command blocks in their chunks, showing that the entity loaded before the blocks.

      Redstone ticking and player control

      1. Load the same world.
      2. Unpower all of the repeat command blocks at ground level by flipping the levers on them. Redstone lights indicate power.
      3. /gamerule commandblocksenabled true
      4. Go up to the platform in the air. It holds three series of command blocks connected by repeaters in a single chunk. The repeaters within each series are all set to the same delay. The command blocks count the signal delays associated with each repeater.
      5. One at a time, flip the lever on the observer then watch the scores until they stop. Observer that within each series of all scores are the same.
      6. Flip one of the levers then quickly save & quit.
      7. Reload the world.

      Expected result

      You see all scores tally up the same tick count, just as in step (5).

      Observed result

      redstone reload chaos.mp4
      You do not see scores tally, as the test finishes before the player is give visibility of the world. On most trials, one score is anomolously high, showing that the repeater powering the command block remained in a powered state for many more ticks than its set delay.

        1. chunk and entity load chaos.mp4
          7.78 MB
          [Mod] GoldenHelmet
        2. redstone reload chaos.mp4
          9.99 MB
          [Mod] GoldenHelmet
        3. Relog randomness.mcworld
          90 kB
          [Mod] GoldenHelmet

            GoldenHelmet [Mod] GoldenHelmet
            Votes:
            31 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated:
              CHK: