Superflat

A default superflat world.

Superflat‌ or Flat world‌ is a world type or a vanilla world preset that replaces the normal varied terrain of the Overworld with a completely flat surface composed of multiple layers and set to a single biome.

A superflat world can be customized using presets, which change its layers and biome. In Java Edition, presets can also change the features and structures found in a superflat world, and an in-game menu allows players to fully customize the layers and the biome.

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, with the biome set to plains. In Java Edition, villages generate relatively frequently, and strongholds can also be found; in Bedrock Edition, no features or structures 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]

Customization

When creating a new world, the superflat generator can be changed to various presets or fully customized depending on the edition.

Java Edition

The Superflat world type button in Java Edition.

In Java Edition, upon selecting "Superflat" in the "World Type" button, the "Customize" button on its right becomes clickable. In the "Superflat Customization" menu, there are two buttons available to customize superflat worlds: the "Remove Layer" button, used for removing unwanted types of layers, and the "Presets" button, used for accessing the preset code string or selecting one of the nine default presets. Data packs can be used to customize the default presets or add new ones, see Custom world preset#Superflat Level Generation Preset for more information.

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. The preset code can be highlighted and copied, allowing it to be shared with other players. Similar to how new worlds are shared through seeds, a preset code can be entered into this box to use it.

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 a preset code to recreate a world can only ensure that the blocks on each layer are the same, as well as the same biome, but cannot guarantee the same settings for features or structures. When using a preset code, the settings for features and structures are based on what default preset is currently selected on the list. For example, if no preset is selected, only villages and strongholds are generated; if the "Classic Flat" preset is selected, only villages are generated; if the "Overworld" preset is selected, features in the plains biome (except monster rooms) and pillager outpost, village, stronghold, mineshaft, and ruined portal structures are generated. Note that for structures to be generated, there is a separate setting "Generate structures" available at world creation screen which must be set to ON (it is by default).

Bedrock Edition

The flat world presets menu in Bedrock Edition.

In Bedrock Edition, upon enabling "Flat world" in the "Advanced" settings tab, an additional setting allows the player to select a preset and view its block layers. Presets only affect the layers and the biome; terrain features and structures never generate in any of the presets. All presets from Java Edition are available except for "The Void".‌

There is no interface for further customization. However, custom flat worlds are possible internally, and can be generated by modifying FlatWorldLayers in the world's level.dat file using an external editor. This was used for converting custom superflat worlds from Legacy Console Edition to Bedrock Edition.

Default presets

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

Invicon Grass Block.png: Sprite image for Grass Block in Minecraft Classic Flat

Grass Block x1
Dirt x2
Bedrock x1

Plains Village No No This is different from the default superflat world, as the default superflat (used when no preset is selected on the list) can generate strongholds, while the "Classic Flat" preset has no strongholds.

Invicon Stone.png: Sprite image for Stone in Minecraft Tunnelers' Dream

Grass Block x1
Dirt x5
Stone x230
Bedrock x1

Windswept Hills Stronghold
Mineshaft
Monster Room
Yes No

Invicon Water Bucket.png: Sprite image for Water Bucket in Minecraft Water World

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

Deep Ocean Ocean Monument
Ocean Ruins
Shipwreck
No No

Invicon Grass.png: Sprite image for Grass in Minecraft Overworld

Grass Block x1
Dirt x3
Stone x59
Bedrock x1

Plains Pillager Outpost
Village
Stronghold
Mineshaft
Monster Room
Ruined Portal
Yes Yes Mimics the height of default world generation before Caves & Cliffs. Ores can also be found.

Invicon Snow.png: Sprite image for Snow in Minecraft Snowy Kingdom

Snow x1
Grass Block x1
Dirt x3
Stone x59
Bedrock x1

Snowy Plains Village
Igloo
No No

Invicon Feather.png: Sprite image for Feather in Minecraft 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.

Invicon Sand.png: Sprite image for Sand in Minecraft Desert

Sand x8
Sandstone x52
Stone x3
Bedrock x1

Desert Village
Desert Pyramid
Stronghold
Mineshaft
Monster Room
Yes No Sandstone and stone layer amounts are reversed from Default worlds.

Invicon Redstone Dust.png: Sprite image for Redstone Dust in Minecraft Redstone Ready

Sandstone x116
Stone x3
Bedrock x1

Desert None No No

Invicon Barrier.png: Sprite image for Barrier in Minecraft The Void‌​

Air x1

The VoidPlains None Yes No Spawns the player on a stone platform with a single cobblestone block at the center of the platform.

Preset code format

This feature is exclusive to Java Edition.
 

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). Multiple parameters are separated by spaces, rather than commas or semicolons.

Feature generation options

BlockSprite rose.png: Sprite image for rose in Minecraft
This section describes content that has been removed from the game.
 
This feature was present in earlier versions of Java Edition, but has since been removed.

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.

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:

  • [NBT Compound / JSON Object]: The root object.
    • Flat generation settings see Template:Nbt inherit/flat generator settings/template

Example generation settings that recreate the "Classic Flat" preset:

{"biome":"minecraft:plains","layers":[{"block":"minecraft:bedrock","height":1},{"block":"minecraft:dirt","height":2},{"block":"minecraft:grass_block","height":1}]}

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

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, 2012Jens Bergensten 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 named namespaced IDs in preset codes instead of numerical IDs.
1.1620w21aGenerated structures can no longer be specified in the preset code. 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, though still not in the "Classic Flat" 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
1.2.0beta 1.2.0.2By going into level.dat and editing the [String] FlatWorldLayers field, 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.
1.21.80Preview 1.21.80.22 It's now possible to select a flat world preset in the advanced tab of the create new world screen when flat world mode has been enabled.
Upcoming Bedrock Edition
1.21.100Preview 1.21.100.23Added "The Void" flat world preset.
Legacy Console Edition
Xbox 360Xbox OnePS3PS4PS VitaWii USwitch
TU5CU11.001.001.00Patch 11.0.1Added superflat world type. Unlike in other editions, the Nether is also flat in this world type.
TU25CU141.171.171.17Added superflat customization UI.
TU31CU191.221.221.22Patch 3Added all logs and end portal frames to the custom superflat block selection screen.
Removed frozen ocean from the biome selection screen.
Removed sponges from the custom superflat block selection screen.
TU36CU251.281.281.28Patch 7Added options to generate caves and ravines in the custom superflat properties screen.
TU46CU361.381.381.38Patch 15Removed end portal frames from the custom superflat block selection screen.
TU56CU471.551.551.55Patch 261.0.6Changed the minimum and maximum values for structure spacing from 512m-864m to 256m-1600m.
New Nintendo 3DS Edition
0.1.0Added flat world type.

Issues

Issues relating to "Superflat" or "Flat worlds" are maintained on the bug tracker. Issues should be reported and viewed there.

Trivia

  • Superflat was first conceived at the first MINECON and was intended for Creative builds.[7]

Gallery

Screenshots

Thumbnails

Mojang screenshots

Development images

See also

References

  1. MC-4998 — The Nether and the End are not in Superflat world type!!! It's same as Default — resolved as "Works As Intended".
  2. https://web.archive.org/web/0/https://www.mojang.com/2014/02/minecraft-snapshot-14w08a/
  3. MC-123228 — Superflat generator strings no longer contain generator version — resolved as "Works 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 (formerly Twitter), 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 (formerly Twitter), March 23, 2022

External links

Navigation