Structure Block

Structure blocks are blocks that are used to manually generate structures. They can also be used to save and load structures, alongside structure void blocks.

Obtaining
Structure blocks and structure voids are only available using the or  commands. Structure blocks when placed are unbreakable in survival and have the same blast resistance as bedrock.

Usage
When placed, the structure block to open the structure block GUI. The GUI will only open if the player is in creative mode, and has the proper permissions. Once a structure is named, its name will be displayed above the structure block when highlighted, preceded by the block mode (e.g. "Save:House").

Before being placed, the structure block uses a "blank" texture in the inventory, a texture which is currently not used when on a placed block.

A piston cannot move a structure block, but can move a structure void.

Structures saved only to memory have a higher priority than structures of the same name which were saved to disk. In order to remove a structure from active memory a player needs to quit and reload their current game.

Switching between modes preserves the settings of the structure block wherever possible.

Save


Save mode [S] allows the player to highlight a structure in the world and save it to a file.


 * Structure Name
 * The name of the structure is entered into this text box. Case sensitive.


 * Relative Position
 * Enter the X, Y, and Z values for the structure here, based on the position of the structure block. Sets the origin of the structure outline.
 * Maximum allowed distance from the structure block is 32 blocks in any direction.


 * Show invisible blocks
 * Displays air and structure void blocks as small colored cubes. Red cubes signify structure void, while blue cubes signify air. Off by default.


 * Structure Size
 * Enter the X, Y, and Z values to set the distance from the Relative Position coordinates. This sets the opposite corner of the structure, and defines its size.
 * Maximum structure size is 32x32x32.
 * When successful, generates a white outline surrounding the structure.


 * Detect structure size and position
 * Automatically calculates the size and position of the structure using a corner block placed on the opposite corner of the structure.
 * The name of the structure in the save block MUST match the name within the corner block, or size calculation will fail.


 * Include entities
 * While saving the structure, saves any entities within the structure as well


 * Save
 * When all coordinates and a structure name have been entered, press this button to save the structure to a file in . The name of the structure will be the name of the file.
 * This process may also be automated with the use of redstone, but saves triggered by redstone are saved only to memory, not to disk.

Load


Load mode [L] allows the player to load and rotate saved structure files.


 * Structure Name
 * The name of the structure file to load from.
 * Name is case sensitive; it must match exactly with the name of the saved structure.
 * This may be a file found in the  folder in the minecraft.jar. To load from a folder, simply type


 * Relative Position
 * The X, Y, and Z coordinates of the corner in which to generate the structure, based on the position of the structure block, as long as the coordinates are within -32 and 32.


 * Show bounding box
 * Highlights the outline of the structure; on by default.


 * Structure Integrity and Seed
 * Removes random blocks that compose the structure based on a user-defined seed.
 * Lower integrity values will result in more blocks being removed. The integrity value must be between 0.0 and 1.0.


 * Include entities
 * Include any entities saved in the structure file when loading the structure. Off by default.


 * Rotation (0, 90, 180, 270)
 * Sets the rotation of the structure to 0° (no rotation), 90° clockwise, 180° clockwise, and 270° clockwise (or 90° counter-clockwise).


 * Mirror (¦, <>, ^v)
 * Sets the mirroring of the structure to none (¦), left to right (<>), or front to back (^v).


 * Load
 * Press this button once to prepare the outline preview of the structure. When satisfied with the position, press again to generate the structure.
 * This process may also be automated with the use of redstone.

Corner


Corner mode [C] allows for an easier and automatic size calculation while saving or loading structures.
 * To use, place on the opposite corner of a save structure block or a second corner structure block. Then, using a save block, press "detect".
 * When successful, a white outline will appear.


 * Structure Name
 * The name of the structure on which to calculate the size and position.
 * Name is case sensitive; it must match exactly with the name provided by the complementary save or corner structure block.

Data


Data mode [D] can only be used during natural generation. They mark the location to run a function specified by its metadata input, which can only be used for relevant structures. The structure block is removed afterwards. This mode is the default mode when a structure block is first placed.


 * Custom Data Tag Name
 * The name of the function to run.


 * Igloo
 * "chest" - sets the loot table for a chest beneath the structure block to "chests/igloo_chest" and sets the loot table seed dependent on the world seed.


 * End city
 * "Chest" - Sets the loot table for a chest beneath the structure block to "chests/end_city_treasure" and sets the loot table seed dependent on the world seed.
 * "Sentry" - Creates a shulker at the location of the structure block.
 * "Elytra" - Creates an item frame entity with an elytra item inside it at the location of the structure block.


 * Woodland mansion
 * "ChestSouth" - Sets the loot table for a chest that replaces the structure block to "chests/woodland_mansion" and sets the loot table seed dependent on the world seed.
 * "ChestNorth" - Sets the loot table for a chest that replaces the structure block to "chests/woodland_mansion" and sets the loot table seed dependent on the world seed.
 * "ChestEast" - Sets the loot table for a chest that replaces the structure block to "chests/woodland_mansion" and sets the loot table seed dependent on the world seed.
 * "ChestWest" - Sets the loot table for a chest that replaces the structure block to "chests/woodland_mansion" and sets the loot table seed dependent on the world seed.
 * "Mage" - Creates an evoker at the location of the structure block.
 * "Warrior" - Creates a vindicator at the location of the structure block.

Structure void


Structure voids can be placed as part of a structure and are ignored when the structure file is saved.


 * This results in the blocks at the location where the structure is placed being maintained and not being overriden. For example, if you save a 2 block high structure with air at the top and a structure void at the bottom, and load it into a 2 block high area of stone, the top block will become air but the bottom will stay stone.


 * Structure void blocks have no collision box but have a small hitbox. Additionally, they are invisible, but are displayed as red cubes when "Show invisible blocks" is turned on in Save mode.


 * We can place a block where is a Structure void there by looking at another block's surface and place it.(Just like the Structure void isn't here.)
 * eg: When there is a Structure void on block A, then we can place block B on it (looking at A) and also we took the Structure void's place at the same time.However,if we destroy block B,we also leave air there.)

Data values
The structure block has an ID name of  and an ID number of 255. It also contains an additional data field which determines which variant is used.

Structure void has an ID name of  and an ID number of 217. It has no additional data.

Entity data
This value is only used by the enderman's, minecart's and falling_block's(only when down)  tag to display the block in a certain mode, and even then, the enderman will only set the block down in Data mode.

For the values used by blocks, refer to the NBT tag in the Block entity section below.

Block entity
A structure block also has a block entity associated with it. Its ID is.