In a classic (default) Superflat world, the terrain consists of one layer of bedrock, two layers of dirt, and one layer of grass. Because the entire world is a plains biome by default, villages generate relatively frequently.[Java Edition only] In Bedrock Edition and New Nintendo 3DS Edition, however, villages do not generate in Flat worlds.
The surface of the world is completely flat and at height y=4, with the exception of villages and other structures if they are enabled. Since the height limit (256) is unchanged, there is almost one-third more vertical height available to build above-ground structures as compared to a normal world. Mobs still spawn normally. Because of the low altitude of the world, slimes spawn frequently.
Access to other dimensions
Superflat worlds also allow the player to access the End, which generates as a normal dimension of floating islands.
Once a multiplayer world is created, the server.properties fields have no effect on chunk generation. Instead, just like in singleplayer, the level.dat fields for
generatorOptions are used instead. If you want to alter a world after initial creation, these are the settings to change.
|This feature is exclusive to Java Edition.|
In Java Edition, the structure and content of a Superflat world can be customized. Bedrock Edition has no interface for customizing flat worlds; it always uses the default configuration (one layer of bedrock, two layers of dirt, and a layer of grass blocks) even when the Seed Picker is used. However, custom flat worlds are supported internally, and can be used by modifying
FlatWorldLayers in the world's
level.dat file using an external editor.
Upon selecting "Superflat" in the World Type box, a new button appears underneath labeled "Customize". The customize menu starts out with the "Classic Flat" preset of one layer of grass, two dirt layers, and then bedrock underneath. There are two buttons available to customize Superflat worlds, which include the "Remove Layer" button, used for removing unwanted types of layers, and the "Presets" button, used for selecting any of eight currently available presets.
If the player can understand the preset code syntax, they can create presets of their own by entering valid information into the preset code box, where these changes can be previewed and applied. (Direct Customization is not available.) In addition, superflat worlds can have certain terrain features, besides villages, such as tall grass, lakes, and strongholds, which can additionally be customized using the same code box for block layers. These changes also made tweaks to previous world codes, to include the new generation features.
Presets are shareable. As a preset is selected, a box on top of the screen has a code that is highlightable and copyable. Similar to how new worlds are shared through seeds, presets can be entered into this box to recreate someone else's preset.
|Deep Ocean||Ocean Monuments|
|Mimics the height of default world generation.|
|Plains||Villages||Allows Survival access to the Void, due to the replacement of bedrock with cobblestone.|
|Sandstone and Stone layer amounts are reversed from Default worlds due to.|
|The Void||1x||Air||The Void||None||Spawns the player on a stone platform, due to falling into the void when playing in survival mode.|
Biome: The Void
|This section needs more information.|
Information requested: 1.15 adds vertical biome support. Is this now used internally for areas outside the world as with void_air?
dec: 127 hex: 7F bin: 1111111
The Void is a completely empty biome that generates only a single structure: a 33×33 stone platform with a single block of cobblestone in the center. No mobs (passive or hostile) can spawn without spawn eggs, monster spawners or commands. It can be accessed only through The Void superflat preset or Buffet world selection. If generated using Buffet, it is a completely barren and featureless world consisting of stone, void air, and maybe water and bedrock.
Preset code format
The preset code is a string of numbers, semicolons(;), colons(:), commas(,), and asterisks(*). Each code has three main parts, divided by semicolons. They are:
- a list of one or more block IDs.
- The block list is a comma-separated list of block IDs, ordered from layer 0 up; if the entry for a given block has an "*", the number before the "*" is the number of layers to be generated, and the number after is the block ID.
- A block can also be repeated over multiple layers simply by repeating the block's ID, e.g.
minecraft:glass,minecraft:glass,minecraft:glass,minecraft:glasswould give the same result as
- a valid biome ID
- (optional) a list of structure generation options
- Structure generation options (described below) may have additional parameters, for example "village(size=0 distance=9)". The order in which they are specified may alter the results where they overlap or are incompatible.
- It is important to remember that multiple parameters are separated by spaces, rather than commas or semicolons.
Structure generation options
|Structure generation option||Parameters||Description||Biome|
|Generates villages, provided they exist in that biome type. Extremely large size values and low distance values generate many villages tightly grouped together
size determines the size of the village (default is 1, normal worlds have this set to 0, maximum is 65535).
distance is the maximum distance between villages (minimum is 9, default is 32).
|mineshaft||chance||Generates abandoned mineshafts. Note that they generate in midair if no terrain is present to cover them.
chance determines how common mineshafts are (from 0.0 to 1.0, default is 0.01). Higher number, more common.
distance determines how far strongholds are from the spawn and other strongholds (minimum is 1.0, default is 32.0).
count is the number of strongholds that exist per world (default is 3).
spread determines how concentrated strongholds are around the spawn (minimum is 1, default is 3). Lower number, lower concentration.
|biome_1||distance||Generates biome-specific features. This enables igloos, jungle temples, desert pyramids, or witch huts.
distance for the maximum distance between features (minimum is 9, default is 32).
NOTE: desert pyramids (and potentially other structures) are not generated solely by biome_1, and "desert_pyramid" must be added to the syntax. Both "biome_1" AND "desert_pyramid" must be added to the syntax for pyramids to generate. Putting "desert_pyramid" in your syntax without "biome_1" causes issues, and attempting to /locate a desert pyramid without biome_1 enabled effectively breaks your world. This applies to 1.14+ and potentially earlier game versions. This option may also be necessary with igloos, jungle temples, ocean monuments or witch huts, requires testing.
|dungeon||None||Dungeons are generated, if possible.||All|
|decoration||None||Causes plants, ores, and similar features to be generated according to the biome type. Stone, dirt, grass, sand, or mycelium are required for most features.||All|
|desert_pyramid||None||Generates desert pyramids.||Desert (Hills)|
|lake||None||Generates water lakes, sometimes with sand and sugar cane depending on biome.||All|
|lava_lake||None||Generates lava lakes, with stone surrounding them. If all stone layers are removed in a preset that enables lava lakes, ores can generate in the stone around lava lakes, given the proper altitude.||All|
|fortress||None||Generates nether fortresses.||Nether|
|mansion||distance||Generates woodland mansions.||Dark Forest,|
Dark Forest Hills
|Generates ocean monuments in the water.
spacing determines the size of the grid, in chunks, on which monuments are generated (minimum is 1, default is 32).
separation determines the minimum distance, in chunks, between monuments. (minimum is 1, default is 5).
WARNING: spacing must be greater than separation, otherwise the game crashes.
Deep Warm Ocean,
Deep Lukewarm Ocean,
Deep Cold Ocean,
Deep Frozen Ocean
|endcity||distance||Generates end cities.||End Highlands|
|pillager_outpost||None||Generates Pillager outposts.|
Note that there are several criteria that must be satisfied before some features can appear:
- The biome ID must be correct. For example, at present villages can appear only in biome IDs
- The correct structure code ('village', 'dungeon' etc.) must be present in the superflat string.
- Structures must be turned on in the world settings. (This does not affect 'natural' objects such as trees, flowers, mushrooms, and giant mushrooms. Obsidian pillars in the End also count as 'natural'.)
- There must be suitable terrain for the structure to appear on or in. This applies to most features except for mineshafts and strongholds.
- Villages are a partial exception; they do not form in mid-air, but can form provided there is at least one solid block layer.
- Villages always spawn at least 2 blocks above the void.
- Villages are a partial exception; they do not form in mid-air, but can form provided there is at least one solid block layer.
For example, to have an 'End' superflat world with obsidian pillars, the biome ID must be
the_end, the superflat string must contain 'decoration', and the top surface block must be End Stone. In this particular case 'Structures' does not need to be turned on in the world options.
Attempting to use an incorrectly formatted preset code causes the game to default to the Classic preset.
Preset code example
Consider the following preset code:
It consists of the following elements:
minecraft:mossy_cobblestone,250*minecraft:air,minecraft:obsidian,minecraft:snow— comma-separated list of block IDs.
minecraft:mountains— biome ID, in this case Mountains.
stronghold(count=7),village(size=0 distance=9),decoration,dungeon,mineshaft— a comma-separated list of structures.
stronghold(count=7)— this populates the world with seven strongholds at the default distance and spread.
village(size=0 distance=9)— because Mountains is an invalid biome for villages, this does nothing.
decoration— biome-specific decoration.
dungeon— allows dungeons to generate.
mineshaft— allows abandoned mineshafts to generate at the default placement frequency.
|Java Edition pre-Classic|
|rd-132211||The level generation was changed from the original messy and random generator (as shown in the Cave Game "Tech Test video" – via YouTube), to be completely flat. This was later removed in favor of variable terrain.|
|Java Edition Classic|
|0.0.13a||The world is now flat again.|
|0.0.13a_03||Reverted to not flat terrain.|
|1.1||January 4, 2012||Jeb announces a "super-flat world type option" and shares a first screenshot.|
|12w01a||Added Superflat world type.|
|1.3.1||?||Prior to 1.3.1, there was no consistent spawn point unless the player had slept in a bed; the player could respawn far from the previous spawning location without anything in sight. This may have been due to the lack of ground at the usual height of about 64.|
|12w25a||Slime spawning in Superflat is reduced.|
|1.4.2||12w36a||By going into the level.dat and editing the generatorOptions line, the player can create custom Superflat worlds.|
|September 10, 2012||Dinnerbone mentions that he is adding presets to go with the new customization feature.|
|12w37a||Added Superflat Customization GUI.|
|Comes with 7 presets: Classic Flat, Tunnelers' Dream, Water World, Overworld, Snowy Kingdom, Bottomless Pit (Broken in this version), and Desert.|
|In this version, the Add and Edit Layer features were not fully implemented, leaving their respective buttons grayed out.|
|12w39b||The "Bottomless Pit" preset is fixed.|
|October 2, 2012||Dinnerbone tweets an image of trees naturally generating in superflat worlds.|
|12w40a||Generated structures (trees, ores, strongholds, etc.) can now be generated in this mode. The preset code version number is changed to "2" to reflect this.|
|Added a new preset called "Redstone Ready", with 52 layers of sandstone, three stone, then one layer of bedrock, and has no generated features or structures.|
|The "Add Layer" and the "Edit Layer" buttons were removed.|
|?||At some point, changes to server.properties stopped being looked at in multiplayer after the world was created. Equivalently, any data in the level.dat file overrides the values in server.properties. This means that single player worlds can now be trivially moved to multiplayer. While confirmed in 1.5.2, this probably happened much earlier.|
|1.7.2||13w36a||Strongholds are no longer generated in the air.|
|1.8||14w08a||Now uses named block IDs to input layers instead of numeric block IDs.|
|Block ID/number of layers format changed from |
|Preset code version number changed to "3".|
|1.9||15w37a||Added a new preset called "The Void", where terrain is nonexistent except for a stone platform at the spawn.|
|1.13||17w47a||Support for version numbers in preset codes was dropped.|
|pre5||Changed the biome ID |
|Pocket Edition Alpha|
|0.9.0||build 1||Added flat world type.|
|Legacy Console Edition|
|TU5||CU1||1.0||Patch 1||Added superflat world type. Unlike in other editions, the Nether is also flat in this world type.|
|TU25||CU14||1.17||Added Superflat Customization UI.|
- The volume of an entire default superflat world, not including villages, bonus chests, or air, is 14.4 million km3, and the world is composed of 1.44×1016 blocks.
- Because cloud height isn't affected by the world generation, clouds appear underground in the Tunneler's Dream preset.
- If the player selects the desert preset, and remove all layers but sand, it is possible to create a massive, endless wave of falling sand. All one has to do to accomplish this computer-breaking feat is dig straight down to the bottom of the world. The sand then begins to fall from the initial digging coordinates.
Slimes spawning in a superflat world.
A map of a superflat world.
Mineshafts generated above the ground in Superflat.
A grassland village naturally generated in a 1-block-deep bedrock superflat world.
- , "Superflat generator strings no longer contain generator version" resolved "Working As Intended"