[[File:Flatland.png|thumb|300px|A default superflat world.]]
'''Superflat'''{{only|JE}} or '''Flat'''{{only|BE}} is a [[world type]] or a vanilla [[world preset]] that replaces the normal varied terrain of the [[Overworld]] with a completely flat surface set to a single biome. {{IN|Java}}, an in-game menu allows players to customize the layers of blocks, the biome and the features found in a superflat world.
{{IN|Java}}, 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 block]]s, with the [[biome]] set to [[plains]]. {{IN|Java}}, [[village]]s generate relatively frequently, and [[stronghold]]s can also be found; {{in|Bedrock}}, 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. [[Mob]]s still spawn normally. Because of the low [[altitude]] of the world, [[slime]]s spawn frequently.
Superflat worlds allow the player to access [[the Nether]] and [[the End]] in the usual ways, which generate as normal.{{bug|MC-4998||The Nether and the End are not in Superflat world type!!! It's same as Default|WAI}}
== Multiplayer ==
{{IN|Java}}, 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:
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 Ediiton''.
=== Vanilla superflat level generation presets ===
{{Exclusive|Java|Section=1}}
{| class="wikitable sortable" data-description="Presets"
!Preset
!Layers
!Biome
!Structures
!Generating features
!Forced to generate lava lakes
!Notes
|-
| class="nowrap" |
{{InvSprite|Grass Block}} Classic Flat
| class="nowrap" |
{{BlockLink|Grass Block}} x1minecraft:glass,minecraft:glass,minecraft:glass,minecraft:glass
would give the same result as 4*minecraft:glass
.
* a valid [[Java Edition data values|'''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 ====
{{Outdated feature|section=1|edition=java}}
{{Collapse|title=Feature generation options|head=1}}
{| class="wikitable" style="width:100%" data-description="Options"
! Feature generation option
! Parameters
! Description
! Biome
|-
|village
|sizeplains
, desert
, taiga
, savanna
, snowy_taiga
, and snowy_tundra
.
* 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 [[end spike]]s, the biome ID must be the_end
, 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.
{{Collapse|tail=1}}
==== Preset code example ====
Consider the following preset code:
minecraft:mossy_cobblestone,250*minecraft:air,minecraft:obsidian,minecraft:snow;minecraft:plainsIt consists of the following elements: *
minecraft:mossy_cobblestone,250*minecraft:air,minecraft:obsidian,minecraft:snow
— comma-separated list of [[Java Edition data values#Block IDs|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:plains
— [[Java Edition data values#Biome IDs|biome ID]], in this case Plains.
== History==
{{HistoryTable
|{{HistoryLine|java pre-classic}}
|{{HistoryLine||rd-132211|The level generation was changed from the original messy and random generator (as shown in the [[Cave Game]] {{ytl|UMpv5kZ9-rE|Tech Test video}}), to be completely flat. This was later removed in favor of variable terrain.}}
|{{HistoryLine|java classic}}
|{{HistoryLine||0.0.13a|A 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.}}
|{{HistoryLine|java}}
|{{HistoryLine||1.1|dev=January 4, 2012|slink={{tweet|jeb_|154558535219421186}}|[[Jens Bergensten]] announces a "super-flat world type option" and shares a first screenshot.}}
|{{HistoryLine|||dev=12w01a|Added Superflat world type.}}
|{{HistoryLine||1.3.1|dev=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.}}
|{{HistoryLine|||dev=12w25a|[[Slime]] spawning in Superflat is reduced.}}
|{{HistoryLine||1.4.2|dev=12w36a|By going into the [[Java Edition level format#level.dat format|level.dat]] and editing the generatorOptions line, the player can create custom Superflat worlds.}}
|{{HistoryLine|||dev=September 10, 2012|slink={{tweet|dinnerbone|245142327801290752}}|[[Dinnerbone]] mentions that he is adding presets to go with the new customization feature.}}
|{{HistoryLine|||dev=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.}}
|{{HistoryLine|||dev=12w39b|The "Bottomless Pit" preset is fixed.}}
|{{HistoryLine|||dev=October 2, 2012|slink={{tweet|dinnerbone|253133589775007744}}|Dinnerbone tweets an image of trees naturally generating in superflat worlds.}}
|{{HistoryLine|||dev=12w40a|[[Structure|Generated structure]]s (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.}}
|{{HistoryLine||1.7.2|dev=13w36a|Strongholds are no longer generated in the air.}}
|{{HistoryLine||1.8|dev=14w08a|Now uses named block IDs to input layers instead of numeric block IDs.https://web.archive.org/web/0/https://www.mojang.com/2014/02/minecraft-snapshot-14w08a/|Block ID/number of layers format changed from NumberxID
to Number*ID
.|Preset code version number changed to "3".}}
|{{HistoryLine||1.9|dev=15w37a|Added a new preset called "The Void", where terrain is nonexistent except for a stone platform at the spawn.}}
|{{HistoryLine||1.13|dev=17w47a|Support for version numbers in preset codes was dropped.{{bug|MC-123228||Superflat generator strings no longer contain generator version|WAI}}}}
|{{HistoryLine|||dev=pre5|Biomes are now written as named namespaced IDs in preset codes instead of numerical IDs.}}
|{{HistoryLine||1.16|dev=20w21a|Generated 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 pack]]s.}}
|{{HistoryLine||1.17|dev=21w06a|Superflat worlds now generate at Y{{=}}-64 due to the new height limit changes.}}
|{{HistoryLine|||dev=21w15a|Superflat worlds now generate at Y{{=}}4 again due to the height limit changes being reverted.}}
|{{HistoryLine||1.18|dev=21w37a|Superflat worlds now generate at Y{{=}}-64 again due to the height limit changes being reintroduced.}}
|{{HistoryLine||1.18.2|dev=22w05a|Changed the number of sandstone layers of preset "Redstone Ready" from 52 to 116, to fix the issue of [[slime]]s being generated in worlds using this preset.{{bug|MC-243152|||Fixed}}}}
|{{HistoryLine|||dev=22w06a|Changed 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.{{bug|MC-239708|||Fixed}}}}
|{{HistoryLine|||dev=22w07a|[[Stronghold]]s can now generate in the default superflat, though still not in the "Classic Flat" preset. }}
|{{HistoryLine||1.19|dev=22w11a|Added "superflat level generation preset" in the data pack, which can customize the presets displayed on the presets screen. }}
|{{HistoryLine|pocket alpha}}
|{{HistoryLine||v0.9.0|dev=build 1|Added flat world type.}}
|{{HistoryLine|||dev=build 5|By going into [[options.txt]] and editing the game_flatworldlayers line, the player can create custom flat worlds.{{tweet|tomcc|479177777103769600|Hey modders, what about sand flatworlds? Hint- this is a thing in the next build: 'game_flatworldlayers:[7, 12,12,12]'|18 Jun 2014}}}}
|{{HistoryLine||v0.10.0|dev=build 1|Flat worlds are no longer customizable via {{cd|options.txt}}.}}
|{{HistoryLine|Bedrock}}
|{{HistoryLine||1.2.0|dev=beta 1.2.0.2|By going into {{cd|level.dat}} and editing the {{nbt|string|FlatWorldLayers}} field, the player can create custom flat worlds.}}
|{{HistoryLine||1.17.40|dev=beta 1.17.40.21|Flat worlds behind the Caves & Cliffs [[Experiments|Experimental Gameplay]] toggle now generate at Y{{=}}-64 due to the new height limit changes.}}
|{{HistoryLine||1.18.0|dev=beta 1.18.0.20|All newly created flat worlds now generate at Y{{=}}-64. Existing flat worlds still generate at Y{{=}}0.}}
|{{HistoryLine|console}}
|{{HistoryLine||xbox=TU5|xbone=CU1|ps3=1.00|psvita=1.00|ps4=1.00|wiiu=Patch 1|switch=1.0.1|Added superflat world type. Unlike in other editions, [[the Nether]] is also flat in this world type.}}
|{{HistoryLine||xbox=TU25|xbone=CU14|ps3=1.17|psvita=1.17|ps4=1.17|Added superflat customization UI.}}
|{{HistoryLine||xbox=TU31|xbone=CU19|ps3=1.22|psvita=1.22|ps4=1.22|wiiu=Patch 3|Added all [[log]]s and [[end portal frame]]s to the custom superflat block selection screen.
|Removed [[frozen ocean]] from the biome selection screen.}}
|{{HistoryLine||xbox=TU36|xbone=CU25|ps3=1.28|psvita=1.28|ps4=1.28|wiiu=Patch 7|Added options to generate [[cave]]s and [[ravine]]s in the custom superflat properties screen.}}
|{{HistoryLine||xbox=TU46|xbone=CU36|ps3=1.38|psvita=1.38|ps4=1.38|wiiu=Patch 15|Removed [[end portal frame]]s from the custom superflat block selection screen.}}
|{{HistoryLine||xbox=TU56|xbone=CU47|ps3=1.55|psvita=1.55|ps4=1.55|wiiu=Patch 26|switch=1.0.6|Changed the minimum and maximum values for structure spacing from 512m-864m to 256m-1600m.}}
|{{HistoryLine|3ds}}
|{{HistoryLine||0.1.0|Added flat world type.}}
}}
== Issues ==
{{Issue list|Superflat|Flat worlds}}
== Trivia ==
* Superflat was first conceived at the first [[MINECON]] and was intended for [[Creative]] builds.{{tweet|jeb_|1506605902627053569|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.|23 Mar 2022}}
== Gallery ==
=== Screenshots ===