Minecraft Wiki
Advertisement
Flatland

A default superflat world.

Superflat[Java Edition only] or Flat[Bedrock Edition only] is a world type or a vanilla world preset replacing the normal varied terrain of the Overworld, with customizable layers.

In Java Edition, 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, in Java Edition, villages generate relatively frequently; strongholds are also generated. While in Bedrock Edition 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 generate as normal.[1]

Multiplayer[]

In Java Edition, 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 a string of a JSON object:

  • : The root object.
    • Flat generation settings

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

Customization[]

Information icon
This feature is exclusive to Java Edition. 
Superflat Button

The Superflat world type button in Java Edition.

In Java Edition, 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. This content can be customized.

Upon selecting "Superflat" in the "World Type" box, a new button becomes clickable 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#Superflat Level Generation 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.

Note that the preset code currently cannot fully describe a superflat level generation preset. Settings related to features and structures are inaccessible 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, but cannot guarantee the same settings of features or structures. When using preset code, the settings for features and structures are based on what preset is selected. If no preset is selected, only villages and strongholds are generated. For example, if typing preset code with the Classic Flat preset selected, only villages will be generated. If typing it with the Overworld preset selected, features in Plains biome (except monster rooms) and Pillager Outpost, Village, Stronghold, Mineshaft, Dungeon, and Ruined Portal are generated.

In Bedrock Edition there is 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 FlatWorldLayers in the world's level.dat file using an external editor. This was used for converting Legacy Console Edition custom superflat worlds over to Bedrock Edition.

Vanilla superflat level generation presets[]

Preset Layers Biome Structures Generating features Forced to generate lava lakes Notes

Classic Flat

Grass Block x1
Dirt x2
Bedrock x1

Plains Village No No Note that this is different from the default superflat world, where the default superflat (without using any preset) can generate strongholds, while the classic preset has no stronghold.

Tunnelers' Dream

Grass Block x1
Dirt x5
Stone x230
Bedrock x1

Windswept Hills Stronghold
Mineshaft
Dungeon
Yes No

Water World

Water x90
Gravel x5
Dirt x5
Stone x5
Deepslate x64
Bedrock x1

Deep Ocean Ocean Monument
Ocean Ruin
Shipwreck
No No

Overworld

Grass Block x1
Dirt x3
Stone x59
Bedrock x1

Plains Pillager Outpost
Village
Stronghold
Mineshaft
Dungeon
Ruined Portal
Yes Yes Mimics the height of default world generation.

Snowy Kingdom

Snow x1
Grass Block x1
Dirt x3
Stone x59
Bedrock x1

Snowy Tundra Village
Igloo
No No

Bottomless Pit

Grass Block x1
Dirt x3
Cobblestone x2

Plains Village No No Allows easy Survival access to the Void, due to the replacement of bedrock with cobblestone.

Desert

Sand x8
Sandstone x52
Stone x3
Bedrock x1

Desert Village
Desert pyramid
Stronghold
Mineshaft
Dungeon
Yes No Sandstone and stone layer amounts are reversed from Default worlds.

Redstone Ready

Sandstone x116
Stone x3
Bedrock x1

Desert None No No

The Void

Air x1

The Void None Yes No Spawns the player on a stone platform with a single cobblestone block at the center of the 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 -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 string 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:glass would give the same result as 4*minecraft:glass.
  • 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 village(size=0 distance=9) (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[]

This section describes content that exists only in outdated versions of Java Edition. 
This feature used to be in the game, but has ever since been removed.It may or may not return in a future update.

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:

  • minecraft:mossy_cobblestone,250*minecraft:air,minecraft:obsidian,minecraft:snow — comma-separated list of block IDs.
    • minecraft:mossy_cobblestone — one layer of mossy cobblestone on layer -64.
    • 250*minecraft:air — 250 layers of air, from layer -63 to layer 186.
    • minecraft:obsidian — one layer of obsidian, on layer 187.
    • minecraft:snow — one layer of snow, on layer 188.
  • minecraft:plainsbiome ID, in this case Plains.

History[]

Java Edition pre-Classic
rd-132211The 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.13aA development build for this version contains flat terrain, which is different from the officially released build.
The version labelled "0.0.13a" in the launcher is believed to be said development build due to its inclusion of flat terrain.
Java Edition
1.1January 4, 2012Jeb announces a "super-flat world type option" and shares a first screenshot.
12w01aAdded Superflat world type.
1.3.112w18aPrior 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.
12w25aSlime spawning in Superflat is reduced.
1.4.212w36aBy going into the level.dat and editing the generatorOptions line, the player can create custom Superflat worlds.
September 10, 2012Dinnerbone mentions that he is adding presets to go with the new customization feature.
12w37aAdded 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.
12w39bThe "Bottomless Pit" preset is fixed.
October 2, 2012Dinnerbone tweets an image of trees naturally generating in superflat worlds.
12w40aGenerated 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.213w36aStrongholds are no longer generated in the air.
1.814w08aNow uses named block IDs to input layers instead of numeric block IDs.[2]
Block ID/number of layers format changed from NumberxID to Number*ID.
Preset code version number changed to "3".
1.915w37aAdded a new preset called "The Void", where terrain is nonexistent except for a stone platform at the spawn.
1.1317w47aSupport for version numbers in preset codes was dropped.[3]
pre5Biomes are now written as namespaced IDs in preset codes.
1.1620w21aDue to the updates on the world generation, the feature generation in preset code had became working incorrectly. Removed feature generation settings from preset codes temporarily. The structure generation can still be modified via Custom world type or custom world generation in data packs.
1.1721w06aSuperflat worlds now generate at Y=-64 due to the new height limit changes.
21w15aSuperflat worlds now generate at Y=4 again due to the height limit changes being reverted.
1.1821w37aSuperflat worlds now generate at Y=-64 again due to the height limit changes being reintroduced.
1.18.222w05aChanged the number of sandstone layers of preset "Redstone Ready" from 52 to 116, to fix the issue of slimes being generated in worlds using this preset.[4]
22w06aChanged the "Water World" preset, by replacing sand with gravel, and adding additional 64 layers of deepslate above the bedrock layer, in order to fix the ocean monument generation issue in worlds using this preset.[5]
22w07aStrongholds can now generate in the default superflat. But still not in the "Classic" preset.
1.1922w11aAdded "superflat level generation preset" in the data pack, which can customize the presets displayed on the presets screen.
Pocket Edition Alpha
v0.9.0build 1Added flat world type.
build 5By going into options.txt and editing the game_flatworldlayers line, the player can create custom flat worlds.[6]
v0.10.0build 1Flat worlds are no longer customizable via options.txt.
Bedrock Edition
?By going into level.dat and editing the game_FlatWorldLayers line, the player can create custom flat worlds.
1.17.40beta 1.17.40.21Flat worlds behind the Caves & Cliffs experimental gameplay toggle now generate at Y=-64 due to the new height limit changes.
1.18.0beta 1.18.0.20All newly created flat worlds now generate at Y=-64. Existing flat worlds still generate at Y=0.
Legacy Console Edition
TU5CU1 1.0 Patch 11.0.1Added superflat world type. Unlike in other editions, the Nether is also flat in this world type.
TU25CU14 1.17 Added Superflat Customization UI.
TU31CU19 1.22 Patch 3Added all logs and end portal frames to the custom superflat block selection screen.[verify]
????Removed end portal frames from the custom superflat block selection screen.[more information needed]
New Nintendo 3DS Edition
0.1.0Added flat world type.

Issues[]

Issues relating to "Superflat" are maintained on the bug tracker. Report issues there.

Trivia[]

  • Superflat was first conceived at the first MineCon and was intended for creative builds.[7]

Gallery[]

Screenshots[]

Vanilla presets[]

Custom presets[]

Development images[]

See also[]

Notes[]


References[]

  1. MC-4998 — resolved as "Works As Intended".
  2. https://www.mojang.com/2014/02/minecraft-snapshot-14w08a/
  3. MC-123228, "Superflat generator strings no longer contain generator version" resolved "Working As Intended"
  4. MC-243152 — resolved as "Fixed".
  5. MC-239708 — resolved as "Fixed".
  6. "Hey modders, what about sand flatworlds? Hint- this is a thing in the next build: 'game_flatworldlayers:[7, 12,12,12]'"@_tomcc (Tommaso Checchi) on X, June 18, 2014
  7. "Superflat was added after speaking to Deadmau5's Mau5ville manager (?) at the first MINECON. This was intended for creative mode builds, but playing it in survival mode is a fun challenge."@jeb_ (Jens Bergensten) on X, March 23, 2022
Advertisement