Schematic file format

The .schematic file format was created by users to store sections of a Minecraft world for use with third-party programs (specifically, MCEdit, Redstone Simulator, and WorldEdit). Schematics are in NBT format and are loosely based off of the Indev level format. Indexes for the Blocks and Data arrays are ordered y,z,x - that is, the x coordinate varies the fastest. This is similar to block ordering for Classic and Indev levels.

NBT Structure

 * TAG_Compound("Schematic"): Schematic data.
 * TAG_Short("Width"): Size along the X axis.
 * TAG_Short("Length"): Size along the Z axis.
 * TAG_Short("Height"): Size along the Y axis.
 * TAG_String("Materials"): This will be "Classic" for schematics exported from Classic levels, and "Alpha" for those from Alpha worlds.
 * TAG_Byte_Array("Blocks"): Block IDs defining the terrain. 8 bits per block.
 * TAG_Byte_Array("Data"): Block data additionally defining parts of the terrain. Only the lower 4 bits of each byte are used.
 * TAG_List("Entities"): Each TAG_Compound in this list defines an entity in the schematic. See the Entity Format for Alpha levels.
 * TAG_List("TileEntities"): Each TAG_Compound in this list defines a tile entity in the schematic. See Tile Entity Format.