Schematic file format

The .schematic file format was created by users to store sections of a Minecraft world for use with third-party programs. 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.