mojira.dev
MCPE-180268

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

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

[media]
  1. . 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

[media]


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

[media]


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.

Related issues

Attachments

Comments

migrated
[media][media][media][media][media]
migrated
[media][media][media][media][media]
GoldenHelmet

Part or all of this issue may be caused by the same coding logic reported in MC-235967.

X1Crafts

Is it possible that this issue was also the original cause of MCPE-42310 before it was fixed?

GoldenHelmet

Yes, this was partially the cause of MCPE-42310. I made this report to describe a root cause of the linked issues. However, Mojang chose to fix MCPE-42310 without addressing the anomaly I described here. I am not sure exactly how they did that. It may have been by pausing/disabling mob movement, targeting or other behaviors during loading.

X1Crafts

[[Mod] GoldenHelmet|https://bugs.mojang.com/secure/ViewProfile.jspa?name=GoldenHelmet], I believe rather than fixing the root cause, they simply gave the player invulnerability during the loading and changing dimensions sequence. And in my opinion this is kind of lazy.

X1Crafts

I wonder if the new pause feature can be used to fix this issue. Maybe every time you load a world, or change dimensions, the game should completely feezed everything (besides chuck generation).

NpBlaster36

I think this happens when loading a dimension too (see screenshot). The player sometimes gets loaded in before the dimension loads. Weirdly, the chunks look reset before everything fully loads in. I took this screenshot as I fell through the world:

[media]


Untouched seed (terrain on right matches up):

[media]

X1Crafts

This affects 1.21.62 Hotfix.

[Mod] OcelotOnesie

Thank you for your report!
After consideration, the issue is being closed as Working as Intended.

Please note, that mechanics of the game may change between updates.
Things such as graphics, sounds, world creation, biomes, redstone, villagers, and animals may not work the same in current versions.

Full Version HistorySnapshot Version HistoryFeature Requests and Suggestions

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

GoldenHelmet

(Unassigned)

1217019

Confirmed

Multiple

1.20.73 Hotfix, 1.20.81 Hotfix, 1.21.2 Hotfix, 1.21.20

Retrieved