Seed (level generation)
|This article may need cleanup to improve its quality, possibly to comply with the style guide.|
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.
In Bedrock Edition, the Alpha 0.9.0 update was the only update to overhaul world generation. Oceans were changed in the Update Aquatic, and villages & other structures were changed in Village & Pillage.
Java Edition seeds between Alpha 1.2.0 and Beta 1.7.3 are mostly the same. Beta 1.8 changed world generation completely and Release 1.2 changed locations of land biomes with the addition of jungles. Release 1.7.2 rewrote the world generation entirely, making seeds from 1.2 through 1.6.4 outdated. 1.13 featured changes to cave generation and new aquatic biomes and adjustment to mutated biome locations. 1.14 included the new bamboo jungle biome and shifted some structures around. Not mentioned are structure additions in several updates throughout, but the addition of a generated structure usually does not require a complete change of biome generation.
Console edition seeds were updated in a similar schedule to Java edition equivalents.
Whenever the game has to generate a new world, it calls upon an algorithm. This algorithm outputs a pseudo-random value that is then used to determine the characteristics and features of the world. However, the algorithm always outputs the same value each time for a constant starting point (seed). This is why seeds exist — to generate entirely different worlds, consistently each time, from single values.
Whenever the world generation algorithm is updated (usually by adding new biomes to the game), the same seed no longer generates the same terrain. This is why in some different versions of the game, the same seed does not produce the same world.
A world's seed is set when that world is created. By default, it is decided automatically, 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 is converted into a 32-bit integer.
If the seed or generator changes in a saved world, new chunks are based on the new seed, and no longer 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 remain the same, but changes if either the seed or generator changes.
Because seeds are simply random values read into an algorithm and not actually names of different worlds, using a certain seed does not result in a world with any relevance to the value of that seed. For instance, using a biome name as the seed does not necessarily result in the creation of a world with primarily that biome, nor does it spawn the player within the said biome.
Broken world generation
|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
In Bedrock Edition, the seed can be found on the world options screen. There is also a seed picker that offers the player several pre-set seeds to generate worlds with specific features near the spawn point. Additionally, the beta version has a visible seed on the top of the screen.
If the seed contains characters other than numbers or is longer than 20 characters, the Java
String.hashCode() function is used to generate a number seed. This restricts Minecraft to a subset of the possible worlds to 232 (or 4,294,967,296), due to the datatypes used. Number seeds or a default world seed must be used to access the full set of possible worlds (264, or 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
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. This is because Bedrock Edition uses a 32-bit variant of the Mersenne Twister PRNG, which accepts only 32-bit seeds.
The zero seed
Minecraft does not allow the numeric seed 0 (zero) by default. However, by using a text seed for which the Java
String.hashCode() function returns a zero value, the "zero seed" can still be used. Word strings that produce a zero seed include
pollinating sandboxes, and
drumwood boulderhead. However, any text that hashes to zero works, such as
|Java Edition pre-Classic|
|rd-160052||Added a simple level generator.|
|Java Edition Classic|
|0.0.12a||Added a new level generator.|
|August 25, 2009||Showed another new level generator, which generates cliffs more commonly.|
|Java Edition Indev|
|0.31||20091223-2||Isometric level rendering screenshot added.|
|20100106||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.|
|20100107||Deep floating maps now have layers of islands.|
|Players can now select a level theme; normal or hell.|
|20100111-1||Islands now generate with more sand.|
|20100113||Oceans now generate with infinite water.|
|20100122||Water now spawns naturally above sea level and on floating islands.|
|Caves are now less flooded.|
|Java Edition Beta|
|1.3||It is now possible to manually determine the seed.|
|1.8.1||The debug screen now displays the seed number.|
|1.2.1||Multiplayer servers no longer send the seed to clients.|
|1.3.1||12w18a||Due to singleplayer becoming multiplayer, the world's seed is no longer displayed on the debug screen.|
|1.7.2||13w36a||Seed types were changed, which means using any given seed on older versions now generates a different world.|
- Certain seeds return 0 in the internal code, causing infinite arrays of caves and other structures to generate.
- 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.
- 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).
- 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.
- An example is the seed generator using only the first 48bits to generate cave systems and badlands clay banding layers
- Other features can also be broken, such as decorations.
- In Java Edition, the seed 0 cannot be entered directly. It must be accessed by entering a string that produces 0 when fed through the function that converts strings to numbers. For example: pollinating sandboxes
- In Bedrock Edition, entering a 1-digit seed (from -9 to 9) also generates a random seed. A workaround is by typing "ddnqavb" followed by any other letter from "a" through "s". For example, "ddnqavba" generates the seed "-9".
- Chest loot is not affected by the seed; a player can generate the same world twice and find different items in the same chest.
- In Java Edition, the demo world seed can be played in the full version by entering "North Carolina" (without quotes) in the seed input.
- Random Seed Reader: Local Java tool
- AMIDST Project: Seed/map explorer tool
- Chunkbase Minecraft Apps: Another seed/map explorer tool
- MineAtlas Seed/map explorer/finder tool
- Minecraft Seeds: Community-driven Minecraft Seeds
- Minecraft Seed HQ: Seeds by Minecraft Version
- "The world with that same name on the screenshot uses seed "pollinating sandboxes" as well, a legit way to create a world with seed 0. Other strings that create seed 0 are "creashaks organzine" and "drumwood boulderhead" but I used one that's easy to remember." – @SeargeDP