Superflat



Superflat JE or Flat BE is a world type or a vanilla world preset replacing the normal varied terrain of the Overworld, with customizable layers.

$$, superflat can also refer to a dimension's generator type, with which the completely flat terrain can be generated in a specific dimension. See also Custom dimension and Custom world preset.

Structure
In the 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; strongholds are also generated. While $$ no feature or structure generate in Flat worlds.

In the default Superflat world, the surface of the world is completely flat and at Y=-60, except for villages and other structures if they are enabled. Mobs still spawn normally. Because of the low altitude of the world, slimes spawn frequently.

Superflat worlds allow the player to access The Nether and The End in the usual ways, which generates as normal.

Multiplayer
$$, in order to create a Superflat world in a multiplayer server, the level-type flag in server.properties must be, instead of. To alter the layers, biome and structures define generator-settings, which is a string of a JSON object:


 * : The root object.

$$, level-type in server.properties must be "FLAT" to generate a flat world.

Customization


$$, superflat generator defaults to one layer of grass block, two layers of dirt, and one layer of bedrock, in "plains" biome and generating villages and strongholds. These contents can be customized.

Upon selecting "Superflat" in the "World Type" box, a new button appears underneath labeled "Customize". In the customize menu, 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 preset code string or "superflat level generation presets". There are nine original presets, and you can also use data packs to customize presets, see Custom world preset.

Note that the default superflat is different from the "Classic" preset, where the default superflat (without using any preset) can generate strongholds, while the classic preset has no stronghold.

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. Preset code is shareable, which is highlightable and copyable. Similar to how new worlds are shared through seeds, preset code can be entered into this box to use it.

Noted that the preset code currently cannot fully describe a superflat level generation preset. Settings related to features and structures is inaccessable in the preset code. Using the preset code and the "Remove Layer" function to recreate world can only ensure that the blocks on each layer are the same, and cannot guarantee the same settings of the features or structures. When using preset code, the settings for features and structures are unknown to the player, related to whether the player use a superflat level generation preset before typing the preset code. So it's better to share data packs rather than the preset code.

$$, theres 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 possible internally, and can be used by modifying  in the world's   file using an external editor.

Preset code format
The preset code is a string of numbers, semicolons, colons, commas, and asterisks(*). In BE, it must be done through  in the world's   file using an external editor. 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 -64 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.  would give the same result as.
 * a valid biome ID;
 * (optional, not after 1.16) a list of feature generation options.
 * Feature generation options (described below) may have additional parameters, for example  (in 1.13+ they have no effect).
 * It is important to remember that multiple parameters are separated by spaces, rather than commas or semicolons.

Feature generation options
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,  ,  ,  ,  , and.
 * Structures must be turned on when creating new world. (This does not affect normal features such as trees, flowers, mushrooms, and giant mushrooms.)
 * 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.

For example, to have an 'End' superflat world with obsidian pillars, the biome ID must be, 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: minecraft:mossy_cobblestone,250*minecraft:air,minecraft:obsidian,minecraft:snow;minecraft:plains

It consists of the following elements:
 * — comma-separated list of block IDs.
 * — one layer of mossy cobblestone on layer -64.
 * — 250 layers of air, from layer -63 to layer 186.
 * — one layer of obsidian, on layer 187.
 * — one layer of snow, on layer 188.
 * — biome ID, in this case Plains.

Trivia

 * Superflat was first conceived at the first MineCon and was intended for creative builds.