Minecraft – Why are end cities not generated in survival, though in creative they are

minecraft-java-edition

My Minecraft version is 1.13. I've created 2 worlds with the same seed: one for creative and one for survival (everybody do like this, i think:) ). In creative world I found some end citites, but when I went to the same place in my survival, the end city wasn't here.

Then I tried the following: I copied folder with survival world, switched to creative in it, found another end city… And when I went to this place in survival here was nothing. Why? I always thought, that the same seeds give exactly the same worlds.

Important note: Of course, I've checked the Generate structures option. Few end cities, that I found in creative, generated in survival too. So, at least they can be generated in my survival world at all.
BTW, I noticed exatcly the same issue with shipwrecks.

Best Answer

End Cities don't strictly follow the seed, they're dependent on rng (random number generator). Similarly to how you get a random amount of diamonds between 1 and 4 with fortune 3, or how when you get a mob spawn somewhere 'random'. Each end city has a pre determined position to generate along with a probability to generate. The output of RNG will decide if the end city should generate which is done upon loading chunks hence why end cities may not appear even when copying a world and going to the same location in both. I'd suggest using ADMIST if you want to find end cities and go from location to location until you find one - doing this in creative before hand is a waste of time.