<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AStructure_definition</id>
	<title>Minecraft:Structure definition - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sasgaming.net/index.php?action=history&amp;feed=atom&amp;title=Minecraft%3AStructure_definition"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Structure_definition&amp;action=history"/>
	<updated>2026-05-09T23:44:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.sasgaming.net/index.php?title=Minecraft:Structure_definition&amp;diff=107282&amp;oldid=prev</id>
		<title>SyncBot: Sync: new page from Minecraft</title>
		<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Structure_definition&amp;diff=107282&amp;oldid=prev"/>
		<updated>2026-05-07T11:17:04Z</updated>

		<summary type="html">&lt;p&gt;Sync: new page from Minecraft&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Distinguish|Structure file}}&lt;br /&gt;
{{exclusive|java}}&lt;br /&gt;
{{relevant tutorial|Custom structures}}&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;&amp;#039;structure&amp;#039;&amp;#039;&amp;#039; is a large decoration, covering an area up to 256×256×256 block centered on the structure start. Structures often consist of multiple pieces that are fit together to form the overall structure. They are configured using [[Minecraft:JSON]] files within a [[Minecraft:data pack]] in the path {{cd|data/&amp;lt;namespace&amp;gt;/worldgen/structure}}. To generate in a world, a structure needs to be part of at least one [[Minecraft:structure set]].&lt;br /&gt;
&lt;br /&gt;
== JSON format ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
* {{nbt|compound}} The root tag.&lt;br /&gt;
** {{nbt|string|type}}: The ID of structure feature type.&amp;lt;section begin=&amp;quot;json format&amp;quot; /&amp;gt;&lt;br /&gt;
** {{nbt|string}}{{nbt|list|biomes}}: {{json ref/biome|tag=1}} &amp;amp;mdash; Biomes that this structure is allowed to generate in.&lt;br /&gt;
** {{nbt|string|step}}: The step where the structure generates. See also the {{cd|features}} field in [[Minecraft:custom biome]]. Structure features are generated prior to features in the same step. One of {{cd|raw_generation}}, {{cd|lakes}}, {{cd|local_modifications}}, {{cd|underground_structures}}, {{cd|surface_structures}}, {{cd|strongholds}}, {{cd|underground_ores}}, {{cd|underground_decoration}}, {{cd|fluid_springs}}, {{cd|vegetal_decoration}}, and {{cd|top_layer_modification}}.&lt;br /&gt;
** {{nbt|string|terrain_adaptation}}: (Optional, defaults to {{cd|none}}) The type of terrain adaptation used for the structure. {{cd|none}} for no adaptation, {{cd|beard_thin}} for generating terrain under the structure, while removing terrain inside the structure (used by [[Minecraft:Pillager Outpost|pillager outposts]] and [[Minecraft:Village|villages]]), {{cd|beard_box}} for advanced alternative of {{cd|beard_thin}} (used by [[Minecraft:Ancient City|ancient cities]]), {{cd|bury}} for generating terrain surrounding the structure to make it buried (used by [[Minecraft:Stronghold|strongholds]]), and {{cd|encapsulate}} for advanced alternative of {{cd|bury}} (used by [[Minecraft:Trial Chambers]]).&lt;br /&gt;
** {{nbt|compound|spawn_overrides}}: (Required, but can be empty. If this object doesn&amp;#039;t contain a certain category, the category&amp;#039;s spawn setting won&amp;#039;t be overridden, and mobs are spawned based on biome.) Overrides the mobs that can spawn in this structure. Used for things like blaze and wither skeleton spawning in nether fortresses, and can also be used to block mobs from spawning like in ancient cities.&lt;br /&gt;
*** {{nbt|compound|&amp;lt;mob category&amp;gt;}}: The key must be one of {{cd|monster}}, {{cd|creature}}, {{cd|ambient}}, {{cd|water_creature}}, {{cd|underground_water_creature}}, {{cd|water_ambient}}, {{cd|misc}}, or {{cd|axolotls}}.&lt;br /&gt;
**** {{nbt|string|bounding_box}}：Can be {{cd|piece}} or {{cd|full}}. If {{cd|full}}, overrides spawn setting inside the full bounding box of the structure. If {{cd|piece}}, only the bounding boxes of all structure pieces.&lt;br /&gt;
**** {{Nbt|list|spawns}}：(Required, but can be empty. If empty, mobs in this category do not spawn.) A list of spawner data objects, one for each mob which should spawn in this structure.&lt;br /&gt;
***** {{nbt|compound}}: The spawner data for a single mob.&lt;br /&gt;
****** {{nbt|string|type}}: The namespaced entity id of the mob.&lt;br /&gt;
****** {{nbt|int|weight}}: How often this mob should spawn, higher values produce more spawns.&lt;br /&gt;
****** {{nbt|int|minCount}}: The minimum count of mobs to spawn in a pack. Must be greater than 0.&lt;br /&gt;
****** {{nbt|int|maxCount}}: The maximum count of mobs to spawn in a pack. Must be greater than 0. And must be not less than {{nbt|int|minCount}}.&amp;lt;section end=&amp;quot;json format&amp;quot; /&amp;gt;&lt;br /&gt;
**Additional fields depending on value of {{nbt|string|type}}, see [[Minecraft:Structure/JSON format#Structure_types|Structure types]].&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Structure types ==&lt;br /&gt;
Structures use different types. The structure types and their corresponding configuration are listed below:&lt;br /&gt;
&lt;br /&gt;
=== Using Jigsaw Blocks ===&lt;br /&gt;
{{main|Jigsaw structure}}&lt;br /&gt;
Jigsaw structures are using [[Minecraft:template pool]]s and [[Minecraft:jigsaw block]]s and allow full customization of structure generation using a datapack.&lt;br /&gt;
{{collapse|title={{BlockSprite|jigsaw|link=Jigsaw structure|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Jigsaw structure|config}}}}&lt;br /&gt;
&lt;br /&gt;
=== Using structure templates ===&lt;br /&gt;
These structure types use specific [[Minecraft:structure template]]s, but they use hard-coded relative positioning between those structure templates instead of using jigsaw blocks.&lt;br /&gt;
&lt;br /&gt;
{{collapse|title={{EnvSprite|end-city|link=End City|text=&amp;#039;&amp;#039;&amp;#039;end_city&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:End City|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|igloo|link=Igloo|text=&amp;#039;&amp;#039;&amp;#039;igloo&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Igloo|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|nether-fossil|link=Nether Fossil|text=&amp;#039;&amp;#039;&amp;#039;nether_fossil&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Nether Fossil|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|ocean-ruin|link=Ocean Ruins|text=&amp;#039;&amp;#039;&amp;#039;ocean_ruin&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Ocean Ruins|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|ruined-portal|link=Ruined Portal|text=&amp;#039;&amp;#039;&amp;#039;ruined_portal&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Ruined Portal|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|shipwreck|link=Shipwreck|text=&amp;#039;&amp;#039;&amp;#039;shipwreck&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Shipwreck|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|woodland-mansion|link=Woodland Mansion|text=&amp;#039;&amp;#039;&amp;#039;woodland_mansion&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Woodland Mansion|config}}}}&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded structures ===&lt;br /&gt;
These structure types use code to place the blocks of the structure directly.&lt;br /&gt;
&lt;br /&gt;
{{collapse|title={{EnvSprite|buried-treasure|link=Buried Treasure|text=&amp;#039;&amp;#039;&amp;#039;buried_treasure&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Buried Treasure|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|desert-pyramid|link=Desert Pyramid|text=&amp;#039;&amp;#039;&amp;#039;desert_pyramid&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Desert Pyramid|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|nether-fortress|link=Nether Fortress|text=&amp;#039;&amp;#039;&amp;#039;fortress&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Nether Fortress|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|jungle-pyramid|link=Jungle Pyramid|text=&amp;#039;&amp;#039;&amp;#039;jungle_temple&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Jungle Pyramid|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|mineshaft|link=Mineshaft|text=&amp;#039;&amp;#039;&amp;#039;mineshaft&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Mineshaft|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|ocean-monument|link=Ocean Monument|text=&amp;#039;&amp;#039;&amp;#039;ocean_monument&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Ocean Monument|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|stronghold|link=Stronghold|text=&amp;#039;&amp;#039;&amp;#039;stronghold&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Stronghold|config}}}}&lt;br /&gt;
{{collapse|title={{EnvSprite|swamp-hut|link=Swamp Hut|text=&amp;#039;&amp;#039;&amp;#039;swamp_hut&amp;#039;&amp;#039;&amp;#039;}}|content={{#lst:Swamp Hut|config}}}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|java}}&lt;br /&gt;
|{{HistoryLine||1.19|dev=22w11a|The structure system was rewritten.&lt;br /&gt;
|Renamed &amp;quot;configured structure feature&amp;quot; registry to &amp;quot;structure&amp;quot;.&lt;br /&gt;
|Moved &amp;lt;samp&amp;gt;worldgen/configured_structure_feature&amp;lt;/samp&amp;gt; to &amp;lt;samp&amp;gt;worldgen/structure&amp;lt;/samp&amp;gt; folder.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w12a|Added {{nbt|int|max_distance_from_center}} field to {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} structures.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w13a|Added {{cd|rottable_blocks}} field into {{cd|minecraft:block_rot}} processor.&lt;br /&gt;
|Now the {{cd|integrity}} field in {{cd|minecraft:block_rot}} processor becomes a required field, and now it must be between 0.0 and 1.0 (inclusive).&lt;br /&gt;
|Replaced the {{nbt|boolean|adapt_noise}} field in configured structure feature with {{nbt|string|terrain_adaptation}} field. Before, it is an optional boolean value that defaults to false.&lt;br /&gt;
|All fields except {{cd|type}} of jigsaw structure are now wrapped in a {{cd|value}} field.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w14a|Reverted the change on jigsaw structure from last snapshot.&lt;br /&gt;
|Now the {{cd|rottable_blocks}} field in {{cd|minecraft:block_rot}} processor also accepts a block ID or a list of block IDs, and the block tag now needs to be prefixed with a {{cd|#}}.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w17a|Added {{nbt|string|start_jigsaw_name}} field to {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} structures.}}&lt;br /&gt;
|{{HistoryLine||1.19.3|dev=22w44a|Removed the {{nbt|string|name}} field in structure pool. Before, this field was a required field, but had no effect.}}&lt;br /&gt;
|{{HistoryLine||1.19.4|dev=Pre-release 1|Now {{nbt|int|minCount}} and {{nbt|int|maxCount}} in {{nbt|compound|spawners}} in configured structure feature must be a positive integer. And {{nbt|int|maxCount}} must be not less than {{nbt|int|minCount}}.}}&lt;br /&gt;
|{{HistoryLine||1.20|dev=23w12a|Added {{cd|capped}} processor.&lt;br /&gt;
|The {{nbt|compound|output_nbt}} field in the {{cd|rule}} processor used to set fixed NBT data to the block entity has now been changed to {{nbt|compound|block_entity_modifier}}. Before, {{nbt|compound|output_nbt}} was an NBT compound in JSON object form, see [[Minecraft:NBT format#JSON and NBT]].}}&lt;br /&gt;
|{{HistoryLine||1.20.3|dev=23w42a|Added optional {{nbt|list|pool_aliases}} field to {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} structures.|Aliases represent the possibility to rewire jigsaw pool connections by redirecting pool references on individual structure instances.|Alias variants are represented in {{cd|type}}.}}&lt;br /&gt;
|{{HistoryLine||1.21|dev=24w19a|Added optional {{nbt|int|dimension_padding}} field to {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} structures.}}&lt;br /&gt;
|{{HistoryLine|||dev=24w20a|{{nbt|int}}{{nbt|compound|dimension_padding}} can now also be specified separately for {{nbt|int|bottom}} and {{nbt|int|top}} padding.}}&lt;br /&gt;
|{{HistoryLine|||dev=pre1|Added optional {{nbt|string|liquid_settings}} field to {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} structures.}}&lt;br /&gt;
|{{HistoryLine||1.21.9|dev=25w31a|{{nbt|int}}{{nbt|compound|max_distance_from_center}} can now also be specified separately for {{nbt|int|horizontal}} and {{nbt|int|vertical}} distance.}}&lt;br /&gt;
|{{HistoryLine||26.2|dev=snap6|Changed the {{cd|minecraft:block_rot}} structure processor.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://misode.github.io/worldgen/structure/ Structure Generator on misode.github.io]&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox Java Edition technical|datapack}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:Konstruktionsdefinition]]&lt;br /&gt;
[[Minecraft:fr:Définition de structure]]&lt;br /&gt;
[[Minecraft:ja:構造物のカスタマイズ]]&lt;br /&gt;
[[Minecraft:pt:Definição de estruturas]]&lt;br /&gt;
[[Minecraft:uk:Визначення структури]]&lt;br /&gt;
[[Minecraft:zh:结构定义格式]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>