Schematic file format

The .schematic file format was created by the community to store sections of a Minecraft world for use with third-party programs (including MCEdit, Minecraft Note Block Studio, Redstone Simulator, WorldEdit, and Schematica). Schematics are in NBT format and are loosely based on the Indev level format. Indices for the Blocks and Data arrays are ordered YZX - that is, the X coordinate varies the fastest. This is similar to block ordering for Classic, Indev, and Anvil levels. This format cannot store or distinguish air blocks that should overwrite existing blocks from those that shouldn't.
== NBT Structure ==
Coordinates in schematics range from (0,0,0) to (Width-1, Height-1, Length-1).
* : Schematic data.
** : Size along the X axis.
** : Size along the Y axis.
** : Size along the Z axis.
** : This is "Classic" for schematics exported from Classic levels, "Pocket" for those from Pocket Edition levels, and "Alpha" for those from Alpha and newer levels.
** : Block IDs defining the terrain. 8 bits per block. Sorted by height (bottom to top) then length then width—the index of the block at X,Y,Z is (Y×length + Z)×width + X.
** : Extra bits that can be used to further define terrain; optional. Two nibbles are put into each index in this array. Unlike normal chunks, even indexes go on the high nibble and odd indexes go on the low nibble.
** deprecated: Old versions of Schematica used this instead of AddBlocks. Byte array where each byte contains additional data to define terrain, in order. This tag should not be written.
** : Block data additionally defining parts of the terrain. Only the lower 4 bits of each byte are used. (Unlike in the chunk format, the block data in the schematic format occupies a full byte per block.)
** : List of Compound tags.
*** A single entity in the schematic.
**** See the Entity Format.
** : List of Compound tags.
*** A single tile entity in the schematic.
**** See Chunk Format -> Block Entity Format.
** Used by Schematica as an item to use as an icon for the schematic. Does not include a Slot tag.
*** 
** : ID mapping for the version this schematic was saved in, used by Schematica. Provided only for materials used in the schematic.
*** : Indicates that name has the given ID (e.g. [name] being minecraft:stone and the value being 1).
** : Arbitrary additional data, provided by Schematica for extensions. Optional, and is provided only if not empty.
** : WorldEdit-only origin X coordinate; optional but if one is provided all parts should be.
** : WorldEdit-only origin Y coordinate; optional but if one is provided all parts should be.
** : WorldEdit-only origin Z coordinate; optional but if one is provided all parts should be.
** : WorldEdit-only offset X coordinate; optional but if one is provided all parts should be.
** : WorldEdit-only offset Y coordinate; optional but if one is provided all parts should be.
** : WorldEdit-only offset Z coordinate; optional but if one is provided all parts should be.
** : MCEdit2-only; 17 if items use numeric IDs (1.7.x) and 18 if items use text IDs (1.8.x).
** : MCEdit2-only; maps numeric block IDs to textual IDs.
*** : The textual ID for the given number (e.g. [number] is 1 and the value is minecraft:stone)
** : MCEdit2-only; maps numeric item IDs to textual IDs. Provided only if itemStackVersion is 17.
*** : The textual ID for the given number (e.g. [number] is 1 and the value is minecraft:stone)
** : MCEdit-Unified only; list of queued block updates (as in the chunk format)
*** 
** : MCEdit-Unified only; a byte array containing all biomes in the schematic.
== Implementations ==
* WorldEdit
* MCEdit2
** legacy MCEdit
** MCEdit-Unified
* Schematica
* BuilderTools - PocketMine
Category:Development
fr:Format de carte .schematic
nl:Schematisch bestandsformaat
zh:Schematic文件格式