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[]
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 |
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 |
Windswept Hills | Stronghold Mineshaft Dungeon |
Yes | No | |
Water World |
Deep Ocean | Ocean Monument Ocean Ruin Shipwreck |
No | No | ||
Overworld |
Grass Block x1 |
Plains | Pillager Outpost Village Stronghold Mineshaft Dungeon Ruined Portal |
Yes | Yes | Mimics the height of default world generation. |
Snowy Kingdom |
Snow x1 |
Snowy Tundra | Village Igloo |
No | No | |
Bottomless Pit |
Grass Block x1 |
Plains | Village | No | No | Allows easy Survival access to the Void, due to the replacement of bedrock with cobblestone. |
Desert |
Desert | Village Desert pyramid Stronghold Mineshaft Dungeon |
Yes | No | Sandstone and stone layer amounts are reversed from Default worlds. | |
Redstone Ready |
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 as4*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 (described below) may have additional parameters, for example
Feature generation options[]
Feature generation option | Parameters | Description | Biome |
---|---|---|---|
village | size distance |
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). |
Plains, Desert, Savanna, Taiga, Snowy Tundra, Snowy Taiga |
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. |
All |
stronghold | distance count spread |
Generates strongholds. 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. |
All |
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. |
varies |
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 |
oceanmonument | spacing separation |
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 Ocean, 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. | Plains Desert, Savanna, Taiga, Snowy Taiga, Snowy Tundra |
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
plains
,desert
,taiga
,savanna
,snowy_taiga
, andsnowy_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.
- 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
, 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:
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:plains
— biome ID, in this case Plains.
History[]
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 | 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. | |||||
Java Edition | |||||
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.[2] | |||
Block ID/number of layers format changed from NumberxID to Number*ID . | |||||
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.[3] | |||
pre5 | Biomes are now written as namespaced IDs in preset codes. | ||||
1.16 | 20w21a | Due 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.17 | 21w06a | Superflat worlds now generate at Y=-64 due to the new height limit changes. | |||
21w15a | Superflat worlds now generate at Y=4 again due to the height limit changes being reverted. | ||||
1.18 | 21w37a | Superflat worlds now generate at Y=-64 again due to the height limit changes being reintroduced. | |||
1.18.2 | 22w05a | Changed 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] | |||
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.[5] | ||||
22w07a | Strongholds can now generate in the default superflat. But still not in the "Classic" preset. | ||||
1.19 | 22w11a | Added "superflat level generation preset" in the data pack, which can customize the presets displayed on the presets screen. | |||
Pocket Edition Alpha | |||||
v0.9.0 | build 1 | Added flat world type. | |||
build 5 | By going into options.txt and editing the game_flatworldlayers line, the player can create custom flat worlds.[6] | ||||
v0.10.0 | build 1 | Flat 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.40 | beta 1.17.40.21 | Flat worlds behind the Caves & Cliffs experimental gameplay toggle now generate at Y=-64 due to the new height limit changes. | |||
1.18.0 | beta 1.18.0.20 | All newly created flat worlds now generate at Y=-64. Existing flat worlds still generate at Y=0. | |||
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. | ||
TU31 | CU19 | 1.22 | Patch 3 | Added 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.0 | Added flat world type. |
Issues[]
Issues relating to "Superflat" are maintained on the bug tracker. Report issues there.
Trivia[]
Gallery[]
Screenshots[]
Vanilla presets[]
A village generated in the classic flat preset.
A map of a superflat world.
Deep ores exposed on the surface in a superflat world.
Custom presets[]
A midair mineshaft in a superflat world.
A grassland village naturally generated in a 1-block-deep bedrock superflat world.
A superflat world with the biome changed to nether wastes.
Superflat world with the biome set as The End.
Development images[]
An image tweeted by Jeb of a village spawned in a superflat world.
See also[]
Notes[]
References[]
- ↑ MC-4998 — resolved as "Works As Intended".
- ↑ https://www.mojang.com/2014/02/minecraft-snapshot-14w08a/
- ↑ MC-123228, "Superflat generator strings no longer contain generator version" resolved "Working As Intended"
- ↑ MC-243152 — resolved as "Fixed".
- ↑ MC-239708 — resolved as "Fixed".
- ↑ "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
- ↑ "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