In a classic (default) Superflat world, the terrain consists of one layer of bedrock, two layers of dirt, and one layer of grass blocks. Because the entire world is a plains biome by default, villages generate relatively frequently in Java Edition, while in Bedrock Edition villages do not generate in Flat worlds.
The surface of the world is completely flat and at Y=4, except for 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.
When making a Superflat world, the player almost always spawns on the topmost layer and, on some block types, within a 20x20 area. Structures may not fully generate if the topmost layer is too low. In Bedrock Edition, the player always spawns at X/Z coordinates 0,0.
Access to other dimensions
In order to create a Superflat world in a multiplayer server, the level-type flag in server.properties must be
flat, instead of
default. To alter the layers, biome and structures define generator-settings, which is basically the in-game preset code, but with a syntax similar to JSON, see the example below.
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.
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. Players on Xbox One, PlayStation 4 and Nintendo Switch can also use the Legacy Console Edition to customise a superflat world, then transfer it to Bedrock.
Upon selecting "Superflat" in the World Type box, a new button appears underneath labeled "Customize". The customize menu starts 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 nine 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.) Also, 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.
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||Prior to 1.13, the player spawned at the bottom of the ocean and was unable to swim up in one go. The only way to survive was to dig down, collect mob drops and then tower up.|
Dungeons, Ruined Portals
|Mimics the height of default world generation.|
|Plains||Villages||Allows easy Survival access to the Void, due to the replacement of bedrock with cobblestone.|
|Sandstone and stone layer amounts are reversed from Default worlds.|
|1x||Air||The Void||None||Spawns the player on a mostly stone platform.|
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
|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.|
|ruined_portal||None||Generates ruined portals.||All|
|bastion_remnant||None||Generates bastion remnants.||Nether Wastes, Crimson Forest, Warped Forest, Soul Sand Valley|
Note that several criteria 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 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"), 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||12w18a||Prior to this version, 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.|
|Changes to server.properties are no longer looked at in multiplayer after the world is 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.|
|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.|
|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||Biomes are now written as namespaced IDs in preset codes.|
|1.16||20w21a||Removed structures from preset codes temporarily.|
|Pocket Edition Alpha|
|0.9.0||build 1||Added flat world type.|
|Legacy Console Edition|
|TU5||CU1||1.0||Patch 1||1.0.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.|
Some superflat commands can crash the game
- 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 world with the biome set as The End
Superflat world with the biome set as the Nether
- , "Superflat generator strings no longer contain generator version" resolved "Working As Intended"