<?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%3AJigsaw_structure</id>
	<title>Minecraft:Jigsaw structure - 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%3AJigsaw_structure"/>
	<link rel="alternate" type="text/html" href="https://wiki.sasgaming.net/index.php?title=Minecraft:Jigsaw_structure&amp;action=history"/>
	<updated>2026-05-14T12:42:17Z</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:Jigsaw_structure&amp;diff=111026&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:Jigsaw_structure&amp;diff=111026&amp;oldid=prev"/>
		<updated>2026-05-14T11:07:45Z</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;{{Infobox structure&lt;br /&gt;
| defaultimagesize = 150px&lt;br /&gt;
| image = Jigsaw Block.png&lt;br /&gt;
| biome = None&lt;br /&gt;
| blocks = &lt;br /&gt;
* {{BlockLink|Jigsaw Block}}&lt;br /&gt;
|canspawn=No&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Jigsaw structures&amp;#039;&amp;#039;&amp;#039; are [[Minecraft:structure]]s that generate using [[Minecraft:jigsaw block]]s.&lt;br /&gt;
&lt;br /&gt;
They are used to generate {{EnvLink|pillager outpost|pillager outposts}}, {{EnvLink|village|villages}}, {{EnvLink|bastion remnant|bastion remnants}}, {{EnvLink|ancient city|ancient cities}}, {{EnvLink|trail ruins}}, and {{EnvLink|trial chambers}}.&lt;br /&gt;
The jigsaw structure generation can be customized using [[Minecraft:data pack]]s {{in|java}} or [[Minecraft:add-on]]s {{in|bedrock}}.&lt;br /&gt;
&lt;br /&gt;
== Generation ==&lt;br /&gt;
The generation places a number of pieces. A piece is usually a [[Minecraft:structure template]], but can also be a [[Minecraft:placed feature]]. The pieces are organized into [[Minecraft:template pool]]s. During generation pieces are randomly selected from a given template pool.&lt;br /&gt;
&lt;br /&gt;
When a structure is generated starting from a given chunk, it generates in a number of steps, detailed below. &lt;br /&gt;
&lt;br /&gt;
=== Step 1: Starting piece ===&lt;br /&gt;
A jigsaw structure defines a {{nbt|string}}{{nbt|compound|start_pool}}. A piece is selected from this pool and placed at the starting position. Rotation and the starting template are chosen randomly, based on the chunk coordinates and the world seed. If the selected piece is a {{cd|minecraft:empty_pool_element}}, the structure fails to generate.{{only|je|short=1}}&amp;lt;ref group=&amp;quot;note&amp;quot; name=&amp;quot;fail&amp;quot;&amp;gt;When the structure fails to generate, it can&amp;#039;t be located using {{cmd|/locate}} and other structures from the same [[Minecraft:structure set]] can take its place.&amp;lt;/ref&amp;gt; The starting position is the 0, 0 chunk coordinate of the starting chunk. If the {{nbt|string|project_start_to_heightmap}}{{only|je|short=1}}/{{nbt|string|heightmap_projection}}{{only|be|short=1}} is set, the start height is based on the specified [[Minecraft:heightmap]], offset by the values result of {{nbt|int}}{{nbt|compound|start_height}}. Otherwise, {{nbt|int}}{{nbt|compound|start_height}} is used to determine the start height.&lt;br /&gt;
&lt;br /&gt;
If the structure defines a {{nbt|string|start_jigsaw_name}}, then a jigsaw block with that name is randomly selected and then placed at the starting position. If no matching jigsaw block is found, the structure fails to generate.&amp;lt;ref group=&amp;quot;note&amp;quot; name=&amp;quot;fail&amp;quot; /&amp;gt; If the structure has {{nbt|string|start_jigsaw_name}} unset, the north west corner of the (unrotated) piece is placed at the starting position.&lt;br /&gt;
&lt;br /&gt;
If the final starting piece position is not at least {{nbt|int|dimension_padding.bottom}} blocks away from the lower build limit and {{nbt|int|dimension_padding.top}} blocks away from the upper build limit, the structure fails to generate.&amp;lt;ref group=&amp;quot;note&amp;quot; name=&amp;quot;fail&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the starting piece is put into a generation queue.&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Connecting pieces ===&lt;br /&gt;
The generation queue is processed sequentially. A piece is removed from the queue when it is processed. Of the processed (parent) piece all jigsaw blocks are then used to generate a connecting piece. The jigsaw blocks are handled in order from high to low selection priority set in each jigsaw block and a random order of jigsaw blocks with equal selection priority. &lt;br /&gt;
&lt;br /&gt;
==== Connecting piece selection ====&lt;br /&gt;
The jigsaw block is referencing a &amp;quot;target pool&amp;quot;. The &amp;quot;target pool&amp;quot; is used as an alias by the [[#Pool aliases|pool aliases]] referenced in {{nbt|list|pool_aliases}} to determine which [[Minecraft:template pool]] to use. If no pool alias is used then the &amp;quot;target pool&amp;quot; directly references the template pool to use.&lt;br /&gt;
&lt;br /&gt;
The connecting piece is determined using that template pool in following order:&lt;br /&gt;
# All the pieces from the template pool &amp;amp;mdash; in random order according to their weight.&lt;br /&gt;
# All the pieces from the fallback pool specified in the template pool &amp;amp;mdash; in random order according to their weight.&lt;br /&gt;
&lt;br /&gt;
If the maximum depth (defined by {{nbt|int|size}}{{only|je|short=1}}/{{nbt|int|max_depth}}{{only|be|short=1}}) is reached, point 1 is skipped.&lt;br /&gt;
&lt;br /&gt;
==== Connecting piece try ====&lt;br /&gt;
From the tried piece a random jigsaw block is selected, that&lt;br /&gt;
# is facing outside of the bounds of the connecting piece&lt;br /&gt;
# has a &amp;quot;name&amp;quot; that matches the &amp;quot;target name&amp;quot; of the parent jigsaw block,&lt;br /&gt;
# has an orientation that is compatible with the parent jigsaw orientation (pieces can be rotated horizontally only).&lt;br /&gt;
&lt;br /&gt;
The piece is placed in the world such that the jigsaw blocks connect to each other. If the currently handled piece or the newly selected piece is set to terrain matching, the piece is moved vertically to align with the terrain.&lt;br /&gt;
&lt;br /&gt;
==== Piece placement condition ====&lt;br /&gt;
The placement is then checked for validity. A piece has to:&lt;br /&gt;
# Not exceed the outer bounding box. If it is placed within another piece, then the bounding box of that piece is the outer bounding box&amp;lt;ref group=&amp;quot;note&amp;quot; name=&amp;quot;expansion_hack&amp;quot;&amp;gt;When {{nbt|bool|use_expansion_hack}} is set to {{cd|true}}, the bounding box of the pieces is extended to the height of the highest possible child piece (except when parent piece is generated by the {{nbt|string}}{{nbt|compound|start_pool}}).&amp;lt;/ref&amp;gt;, otherwise the outer bounding box is determined as:&lt;br /&gt;
#* Horizontal side-length {{cd|2 * }}{{nbt|int|max_distance_from_center}} or {{nbt|compound|max_distance_from_center}}.{{nbt|int|horizontal}}{{cd| + 1}}&lt;br /&gt;
#* Vertical side-length {{cd|2 * }}{{nbt|int|max_distance_from_center}} or {{nbt|compound|max_distance_from_center}}.{{nbt|int|vertical}}{{cd| + 1}}&lt;br /&gt;
#* Centered in the center by XZ and lowest Y block of first piece.&lt;br /&gt;
#* It then gets truncated on the top or bottom such that it is at least {{nbt|int|dimension_padding}} or {{nbt|compound|dimension_padding.}}{{nbt|int|bottom}}{{only|je|short=1}} blocks away from the lower build limit and {{nbt|int|dimension_padding}} or {{nbt|compound|dimension_padding.}}{{nbt|int|top}}{{only|je|short=1}} blocks away from the upper build limit. &lt;br /&gt;
# Not intersect with any other piece (except those that it is placed inside of)&lt;br /&gt;
# If parent is inside of grandparent, then not be outside of grandparent&lt;br /&gt;
&lt;br /&gt;
If the piece can&amp;#039;t be placed, then the placement is retried with the next piece (see [[#Connecting piece selection]]). If all pieces can&amp;#039;t be placed than no piece is placed for this jigsaw block.&lt;br /&gt;
&lt;br /&gt;
If the piece can be placed, then the newly placed piece is added to the generation queue according to the placement priority specified in the parent jigsaw block, but behind elements of equal placement priority already in the queue. The generation continues with the next jigsaw block of the parent piece.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Processing ===&lt;br /&gt;
Finally, each piece is processed, changing or removing blocks from the template.&lt;br /&gt;
&lt;br /&gt;
The processing is done using the [[Minecraft:processor list]] specified for each piece in the template pool. Additionally, jigsaw blocks are replaced with the specified &amp;quot;Turns into&amp;quot; final state (using the {{cd|minecraft:jigsaw_replacement}} processor {{in|je}}). For pieces set to terrain matching each column of blocks is adjusted in height match the terrain (using the {{cd|minecraft:gravity}} processor {{in|je}}).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Notes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;references group=&amp;quot;note&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pool aliases ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pool aliases&amp;#039;&amp;#039;&amp;#039; are used to redirect the alias &amp;quot;target pool&amp;quot; referenced in [[Minecraft:jigsaw block]]s to a (different) [[Minecraft:template pool]]s. The redirections are determined before the generation starts, so in a single structure all references to a specific alias template pool are rewired to the same target template pool. Any alias that is not redirected by a pool alias is used directly as reference to a template pool.&lt;br /&gt;
&lt;br /&gt;
=== direct ===&lt;br /&gt;
All references to {{nbt|string|alias}} are rewired to {{nbt|string|target}}.&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
* {{nbt|compound}}: a pool alias&lt;br /&gt;
** {{nbt|string|type}}: {{cd|direct}}&lt;br /&gt;
** {{nbt|string|alias}}: [[Minecraft:Resource location|ID]] &amp;amp;mdash; alias to be redirected&lt;br /&gt;
** {{nbt|string|target}}: {{json ref|template pool}} &amp;amp;mdash; target for redirection&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== random ===&lt;br /&gt;
A target selected from {{nbt|list|targets}} per structure. All references to {{nbt|string|alias}} are rewired that target.&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
* {{nbt|compound}}: a pool alias&lt;br /&gt;
** {{nbt|string|type}}: {{cd|random}}&lt;br /&gt;
** {{nbt|string|alias}}: [[Minecraft:Resource location|ID]]&lt;br /&gt;
** {{nbt|list|targets}}: list of possible rewiring targets&lt;br /&gt;
*** {{nbt|compound}}: a rewiring target&lt;br /&gt;
**** {{nbt|int|weight}}: The chance of this target to be selected&lt;br /&gt;
**** {{nbt|string|data}}: {{json ref|template pool}} &amp;amp;mdash; target for redirection if selected&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== random_group ===&lt;br /&gt;
A alias group is selected from {{nbt|list|groups}} per structure. All pool aliases in that group are used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
* {{nbt|compound}}: a pool alias&lt;br /&gt;
** {{nbt|string|type}}: {{cd|random_group}}&lt;br /&gt;
** {{nbt|list|groups}} list of possible rewiring groups. One group is selected per structure generation.&lt;br /&gt;
*** {{nbt|compound}}: a group&lt;br /&gt;
**** {{nbt|int|weight}}: The chance of this group to be selected&lt;br /&gt;
**** {{nbt|list|data}}: list of pool aliases to be used if the group is selected&lt;br /&gt;
***** {{nbt|compound}}: any pool alias&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Data values ==&lt;br /&gt;
=== ID ===&lt;br /&gt;
{{el|je}}:&lt;br /&gt;
{{ID table&lt;br /&gt;
|firstcolumnname=Structure type&lt;br /&gt;
|displayname=Jigsaw&lt;br /&gt;
|spritename=jigsaw&lt;br /&gt;
|spritetype=block&lt;br /&gt;
|nameid=jigsaw&lt;br /&gt;
|foot=1}}&lt;br /&gt;
&lt;br /&gt;
=== Config ===&lt;br /&gt;
{{el|java}}:&lt;br /&gt;
&amp;lt;section begin=&amp;quot;config&amp;quot;/&amp;gt;&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
*{{nbt|compound}} Structure configuration&lt;br /&gt;
**{{nbt|string|type}}: {{cd|jigsaw}}&lt;br /&gt;
** {{Nbt inherit/structure}}&lt;br /&gt;
**{{nbt|string}}{{nbt|compound|start_pool}}: {{json ref|template pool|Template pool|inline=1}} &amp;amp;mdash; The template pool the structure starts from.&lt;br /&gt;
**{{nbt|int|size}}: Value between 0 and 20 (inclusive) &amp;amp;mdash; The depth of jigsaw structures to generate. &lt;br /&gt;
**{{nbt|int}}{{nbt|compound|start_height}}: If &amp;lt;code&amp;gt;project_start_to_heightmap&amp;lt;/code&amp;gt; is unset, the structure will start at the value provided. Otherwise, the value acts as an offset from the [[Minecraft:heightmap]].&lt;br /&gt;
*** {{Nbt inherit/height provider}}&lt;br /&gt;
**{{nbt|string|project_start_to_heightmap}}: (optional) The [[Minecraft:heightmap]] the start height should project to. Can be &amp;lt;code&amp;gt;WORLD_SURFACE_WG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;WORLD_SURFACE&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OCEAN_FLOOR_WG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;OCEAN_FLOOR&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MOTION_BLOCKING&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;MOTION_BLOCKING_NO_LEAVES&amp;lt;/code&amp;gt;.&lt;br /&gt;
**{{nbt|string|start_jigsaw_name}}: (optional) The name of the jigsaw block the structure start attaches to.&lt;br /&gt;
**{{nbt|int}}{{nbt|compound|max_distance_from_center}}: Defines the maximum distance of any piece from the structure start. When defined as a single number, defines both horizontal and vertical distance and is limited to the limits of {{nbt|int|horizontal}} (see below).&lt;br /&gt;
***{{nbt|int|horizontal}}: Value between 1 and 128 (inclusive) when {{nbt|string|terrain_adaptation}} is &amp;quot;none&amp;quot;, otherwise from 1 to 116 (inclusive). &amp;amp;mdash; The maximum horizontal [[Minecraft:Chebyshev distance]] from the jigsaw pieces to the structure start.&lt;br /&gt;
***{{nbt|int|vertical}}: Optional value between 1 and 4064 (defaults to 4064) &amp;amp;mdash; The maximum vertical distance of any piece to the structure start.&lt;br /&gt;
**{{nbt|bool|use_expansion_hack}}: Allows the structure&amp;#039;s vertical limit to be expanded if necessary. Used in villages to prevent cut-off when terrain height varies.&lt;br /&gt;
**{{nbt|list|pool_aliases}}: (optional) used to rewire jigsaw pool connections by redirecting pool references on individual structure instances.&lt;br /&gt;
*** {{nbt|compound}}: [[Minecraft:Jigsaw_structure#Pool aliases|pool alias]]&lt;br /&gt;
**{{nbt|int}}{{nbt|compound|dimension_padding}}: (optional, defaults to {{cd|0}}). Padding on the top and bottom world limit. {{nbt|int}}: shorthand to set the same value for {{nbt|int|bottom}} and {{nbt|int|top}}.&lt;br /&gt;
*** {{nbt|int|bottom}}: (optional, defaults to {{cd|0}}), non-negative. Amount of blocks at the bottom build limit that are excluded from the outer bounding box of the structure.&lt;br /&gt;
*** {{nbt|int|top}}: (optional, defaults to {{cd|0}}), non-negative. Amount of blocks at the top build limit that are excluded from the outer bounding box of the structure.&lt;br /&gt;
**{{nbt|string|liquid_settings}}: (optional, defaults to {{cd|apply_waterlogging}}). How blocks with {{cd|waterlogged}} block state should generate when they overlap with existing water. {{cd|apply_waterlogging}}: [[Minecraft:Waterlogging|waterlog]] block placed inside water, {{cd|ignore_waterlogging}}: keep the {{cd|waterlogged}} block state as is.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;section end=&amp;quot;config&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{el|bedrock}}:&lt;br /&gt;
&amp;lt;div class=&amp;quot;treeview&amp;quot;&amp;gt;&lt;br /&gt;
*{{nbt|compound}} Structure configuration&lt;br /&gt;
**{{nbt|string|format_version}}: {{more info}}&lt;br /&gt;
**{{nbt|compound|minecraft:jigsaw}}&lt;br /&gt;
*** {{nbt|compound|description}}&lt;br /&gt;
**** {{nbt|string|identifier}}: The identifier used for {{cmd|locate}} and {{cmd|place}}&lt;br /&gt;
*** {{nbt|compound|biome_filter}}: Biomes that this structure is allowed to generate in. {{more info|how is this defined?}} &lt;br /&gt;
*** {{nbt|string|step}}: The step where the structure generates. {{more info|is this the same options as java edition?}}&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}} is used by [[Minecraft:Pillager Outpost|pillager outposts]] and [[Minecraft:Village|villages]], {{cd|beard_box}} is used by [[Minecraft:Ancient City|ancient cities]], {{cd|bury}} is used by [[Minecraft:Stronghold|strongholds]], and {{cd|encapsulate}} is used by [[Minecraft:Trial Chambers]].&lt;br /&gt;
***{{nbt|string|start_pool}}: {{json ref|template pool|Template pool}} &amp;amp;mdash; The template pool the structure starts from.&lt;br /&gt;
***{{nbt|int|max_depth}}: Value between 0 and 20 (inclusive) &amp;amp;mdash; The depth of jigsaw structures to generate. &lt;br /&gt;
***{{nbt|int}}{{nbt|compound|start_height}}: If &amp;lt;code&amp;gt;heightmap_projection&amp;lt;/code&amp;gt; is unset, the structure will start at the value provided. Otherwise, the value acts as an offset from the [[Minecraft:heightmap]]. {{more info|only constant and uniform work here, and additionally a from_sea vertical anchor}}&lt;br /&gt;
**** {{Nbt inherit/height provider}}&lt;br /&gt;
***{{nbt|string|heightmap_projection}}: (optional) The [[Minecraft:heightmap]] the start height should project to. Can be &amp;lt;code&amp;gt;world_surface&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sea_floor&amp;lt;/code&amp;gt;.&lt;br /&gt;
***{{nbt|string|start_jigsaw_name}}: (optional) The name of the jigsaw block the structure start attaches to.&lt;br /&gt;
***{{nbt|int|max_distance_from_center}}: The maximum 3D [[Minecraft:Chebyshev distance]] from the jigsaw pieces to the structure start. Value between 1 and 128 (inclusive) {{verify|does the reduction to 116 max when using terrain adaptation also exist in bedrock?}}.&lt;br /&gt;
***{{nbt|list|pool_aliases}}: (optional) used to rewire jigsaw pool connections by redirecting pool references on individual structure instances.&lt;br /&gt;
**** {{nbt|compound}}: [[Minecraft:Jigsaw_structure#Pool aliases|pool alias]]&lt;br /&gt;
***{{nbt|int|dimension_padding}}: (optional, defaults to {{cd|0}}). Padding on the top and bottom world limit.&lt;br /&gt;
***{{Nbt|string|liquid_settings}}: (optional, defaults to &amp;lt;code&amp;gt;apply_waterlogging&amp;lt;/code&amp;gt;). How water interacts with the structure when it is generated. Can be &amp;lt;code&amp;gt;apply_waterlogging&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ignore_waterlogging&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
=== &amp;#039;&amp;#039;Java Edition&amp;#039;&amp;#039; ===&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|java}}&lt;br /&gt;
|{{HistoryLine||1.14|dev=18w46a|Added [[Minecraft:jigsaw block]]s.}}&lt;br /&gt;
|{{HistoryLine|||dev=18w47a|Added jigsaw structures in the form of [[Minecraft:pillager outpost]].}}&lt;br /&gt;
|{{HistoryLine||1.16.2|dev=20w28a|Jigsaw structures can now be customized in [[Minecraft:data pack]]s, using {{cd|configured_structure_features}} of type {{cd|village}}, {{cd|pillager_outpost}}, and {{cd|bastion_remnant}}. They have a maximum radius of 80 blocks.}}&lt;br /&gt;
|{{HistoryLine||1.19|dev=Deep Dark Experimental Snapshot 1|Jigsaw structures with radius 128{{verify|might be a bit smaller than that}} can now be generated using the {{cd|configured_structure_features}} type {{cd|ancient_city}}.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w11a|Merged the {{cd|structure}} types {{cd|village}}, {{cd|pillager_outpost}} and {{cd|bastion_remnant}} into a single type {{BlockSprite|jigsaw|text=&amp;#039;&amp;#039;&amp;#039;jigsaw&amp;#039;&amp;#039;&amp;#039;}} .&lt;br /&gt;
|Added {{nbt|int}}{{nbt|compound|start_height}}, {{nbt|string|project_start_to_heightmap}} and {{nbt|boolean|use_expansion_hack}}.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w12a|Added {{nbt|int|max_distance_from_center}}.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w13a|Replaced {{nbt|boolean|adapt_noise}} with {{nbt|string|terrain_adaptation}}.}}&lt;br /&gt;
|{{HistoryLine|||dev=22w17a|Added {{nbt|string|start_jigsaw_name}}.}}&lt;br /&gt;
|{{HistoryLine||1.20.3|dev=23w42a|Added {{nbt|list|pool_aliases}}.}}&lt;br /&gt;
|{{HistoryLine||1.21|dev=24w19a|Added {{nbt|int|dimension_padding}}.}}&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 {{nbt|string|liquid_settings}}.}}&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;
}}&lt;br /&gt;
&lt;br /&gt;
=== &amp;#039;&amp;#039;Bedrock Edition&amp;#039;&amp;#039; ===&lt;br /&gt;
{{HistoryTable&lt;br /&gt;
|{{HistoryLine|bedrock}}&lt;br /&gt;
|{{HistoryLine||1.10.0|dev=beta 1.10.0.3|Added [[Minecraft:jigsaw block]]s.}}&lt;br /&gt;
|{{HistoryLine||1.21.50|exp=Data-Driven Jigsaw Structures|dev=Preview 1.21.50.26|Jigsaw structures can now be customized in [[Minecraft:add-on]]s, using files json.}}&lt;br /&gt;
|{{HistoryLine||1.21.80|exp=Data-Driven Jigsaw Structures|dev=Preview 1.21.80.22|Added {{nbt|int|start_height}}, {{nbt|int|dimension_padding}}, {{nbt|int|max_distance_from_center}} and {{nbt|list|pool_aliases}}.}}&lt;br /&gt;
|{{HistoryLine||1.21.90|exp=Data-Driven Jigsaw Structures|dev=Preview 1.21.90.21|Added {{nbt|string|liquid_settings}}}}&lt;br /&gt;
|{{HistoryLine||1.21.100|exp=Data-Driven Jigsaw Structures|dev=Preview 1.21.100.20|{{nbt|int}}{{nbt|compound|max_distance_from_center}} now parses horizontal and vertical values separately in an object while supporting horizontal only with parsing as a constant, the vertical value is now optional and defaults to having no limit.}}&lt;br /&gt;
|{{HistoryLine||1.21.120|dev=Preview 1.21.120.23|Jigsaw structures can now be customized without using any experiments.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
{{Navbox generated structures}}&lt;br /&gt;
&lt;br /&gt;
[[Minecraft:de:Verbundblock-Konstruktion]]&lt;br /&gt;
[[Minecraft:fr:Structure en puzzle]]&lt;br /&gt;
[[Minecraft:pt:Estrutura de bloco-quebra-cabeça]]&lt;/div&gt;</summary>
		<author><name>SyncBot</name></author>
	</entry>
</feed>