Seed (level generation)

From Minecraft Wiki
Jump to: navigation, search

Minecraft seeds are values made up of character(s) (including negative or positive integers) that are used as the basis for generating every Minecraft world.[1]

Compatibility[edit]

Seeds are not compatible across editions, and may not be compatible across different versions on the same edition.

World generation[edit]

Whenever the game has to generate a new world, it calls upon an algorithm. This algorithm will output a pseudo-random value that is then used to determine what the world will look like. However, the algorithm will always end up with the same value if the starting point (seed) that the algorithm uses is the same number. This is why seeds exist — to easily generate entirely different worlds from a single value.

Whenever the world generation algorithm is updated (usually by adding new biomes to the game), the same seed will no longer generate the same terrain. This is why in some different versions of the game, the same seed will not give the same world.

A world's seed is set when that world is created. By default, it is decided automatically (if so, the game uses the system time as the seed), but it can also be set manually. Set and reuse a seed to replay that world, or use a known seed to play the same world as another player. Either a number or a word/phrase can be used, including negatives. If a word/phrase is used it will be converted into a 32 bit integer.

If the seed or generator changes in a saved world, new chunks will be based on the new seed, and will not match those from the old seed (this phenomenon was widely observed with Beta 1.8 and 1.7.2. Deleted chunks can regenerate if the seed and generator remains the same, but will change if either the seed or generator changes.

It is important to note that since seeds are simply random values read into an algorithm and not actually names of different worlds, using a certain seed will not necessarily result in a world with any relevance to the value of that seed. For instance, using a biome name as the seed will not necessarily result in the creation of a world with primarily that biome, nor will it spawn the player within said biome.

Broken world generation[edit]

A dark forest not being completely rendered.
This section is a stub, meaning that it lacks some important information. You can help by expanding it with further information relating to the topic.

Broken world generation is when chunks do not load properly and cause certain blocks to not render. Certain seeds can cause the world generation to duplicate chunks in the x or z axis due to Java's Math.random() function returning 0. (see § Trivia)

Determining the seed[edit]

To view the world's seed, the player can enter the command /seed. On Bedrock Edition, the seed can also be found on the world options screen.

Technical[edit]

Java Edition[edit]

The Java String.hashCode() function is used to generate a number seed if a word/phrase is used. This restricts Minecraft to a subset of the possible worlds (to 232 which is 4,294,967,296), due to the datatypes used. Use number seeds directly or let Minecraft generate the seed (it uses the system clock) to access the full set of possible worlds (264 which is 18,446,744,073,709,551,616). There are only 248 possible seeds (within the range [-263, 263-1]) if randomly generated by Minecraft due to using nextLong().

Bedrock Edition[edit]

Bedrock Edition has a total of 232 (or 4,294,967,296) possible worlds no matter whether strings or numbers are used as the seed. The same applies to the 64-bit version of Windows 10 Edition. This is because Bedrock Edition uses a 32-bit variant of the Mersenne Twister PRNG, which will only accept 32-bit seeds.

Legacy Console Edition[edit]

Legacy Console Edition mostly follow the Java Edition world generation of seeds.

Video[edit]

History[edit]

Java Edition pre-Classic
rd-160052A simple level generator is added.
Java Edition Classic
0.0.12aNew level generator.
August 25, 2009Showed another new level generator.
More cliffs shown to generate.
Java Edition Indev
0.31 (December 23, 2009, 2)Isometric level rendering screenshot added.
0.31 (January 6, 2010)The player can now selected island, floating, flat, or original as the level type when generating a world.
Players can also select square, long, or deep as the level shape.
Players can also select small, normal, or huge as the level size.
0.31 (January 7, 2010)Deep floating maps now have layers of islands.
Players can now select a level theme; normal or hell.
0.31 (January 11, 2010, 1)Islands now generate with more sand.
0.31 (January 13, 2010)Oceans now generate with infinite water.
0.31 (January 22, 2010)Water now spawns naturally above sea level and on floating islands.
Caves are now less flooded.
Java Edition Beta
1.3It is now possible to manually determine the seed.
1.8.1The debug screen now displays the seed number.
Java Edition
1.2.1Multiplayer servers will no longer send the seed to clients.
1.3.112w18aDue to singleplayer becoming multiplayer, the world's seed is no longer displayed on the debug screen.
12w21aAdded /seed, which displays the current world seed.
1.7.213w36aSeed types were changed, which means using a seed that used on older versions will now generate a different world.

Trivia[edit]

  • Certain seeds will return 0 in the internal code,[2] causing infinite arrays of caves and other structures to generate.[3]
    • The seed 107038380838084 returns 0 on the first call and 164311266871034 returns 0 on the second call, causing structures to loop on the X and Z axes respectively.
      • Mods such as the Cubic Chunks mod will take the first three calls instead of the first two to generate terrain. This causes 164311266871034 to generate caves infinitely on the Y axis, and 240144965573432 to generate them infinitely on the Z axis.[4]
    • This quirk is exclusive to Java, as Bedrock Edition does not possess seeds that return 0 on the first or second call (however, 257678572 returns 0 on the 6th call).[5]
    • This quirk can also be seen in the Legacy Console Editions.
  • Only certain sections of the seed are used to generate specific features within the world. It is possible to generate multiple worlds with identical cave systems and other arrangements of generated structures simply by converting the seed into binary and tweaking the desired bits.[6]
    • An example is the seed generator using only the first 48bits to generate cave systems and mesa clay banding layers
  • Entering 0 as the seed when creating a world will automatically generate a random seed. Seed 0 is still accessible by entering "creashaks organzine" as the seed.[7]
    • This is due to the developer decision that many games use 0 as "random", "infinite" or "do not care" flag when providing options.
    • On a world with seed 0, the /seed command will return an error, even to operators.[verify]
  • In Bedrock Edition, entering a 1-digit seed (from −9 to 9) will also generate a random seed. A workaround is by typing "ddnqavb" followed by any other letter from "a" through "s". For example, "ddnqavba" will generate the seed "−9".

Gallery[edit]

External links[edit]

References[edit]