Seed (level generation)

Computers are really bad at generating random values, so clever engineers have invented algorithms that create sequences that look random. The problem is that these algorithms will always give the same sequence of values if they begin from the same starting point. This starting point is called the “seed.”

For example, this code will always output the value ‘-1155869325′, so it’s actually not random at all: Random seededRandom = new Random(1); System.out.println(seededRandom.nextInt);

In Minecraft Beta 1.3, the option to select the seed for the map generator’s sequence of “random” values was added. In other words, if you create a world with a certain seed, it will look identical to other worlds created with the same seed. If you leave the seed blank, the game will use the current computer clock to select a new seed.

You can both enter a number or a text string. When you enter a text string the game will pick the string’s hash code to get the seed. For programmers, that is: String seedString = "Hello World"; int seed = seedString.hashCode;

The map seed is only used by the world generator, and not for other stuff (such as spawn location, how many items mobs drop etc).

Trivia

 * Certain seed values, such as "floating islands" and "666", are thought to produce terrain equivalent to their namesake. However, these are merely coincidental.