This utility mod is great for any modder or datapacker that is looking to create custom jigsaw structures but wants a way to spawn the structures quickly or have all nbt pieces laid out neatly.


What this mod does is it created the /spawnstructure and /spawnpieces command that you can use. The full args for the commands are:


/spawnstructure <startpoolresourcelocation> <depth> <heightmapsnap> <disableprocessors> <legacyboundingboxrule> <randomseed>

<startpoolresourcelocation> -  the path to the template pool to use to start the structure gen from. For plains vanilla village, this would be "minecraft:village/plains/town_centers" which is the start pool for villages. You can choose other pools for testing purposes. This is the only required argument. All other arguments are optional.

<depth> - How many pieces outward from the starting piece should the jigsaw structure generate. Think of it like how long a branch should go in length. Not how many pieces in the structure total. Villages are 6 in depth.

<heightmapsnap> - Whether the structure should generate at top land or should spawn where the player is.

<disableprocessors> - Whether structure processors should be turned off for this structure generation or not. Processors are often used to randomized a structure's block or replace blocks based on conditions like how village roads turns into planks when it goes into water.

<legacyboundingboxrule> - Special internal rule that fiddles with bounding boxes of the pieces. This is required to be true for villages to generate properly. All other structures should have this be false.

<randomseed> - Use this and pass in a seed if you want to keep generating the same structure layout over and over every time you run the command anywhere. Great for testing to see if you fixed why a piece wasn't spawning in your structure.



/spawnpieces <resourcelocationpath> <location> <savepieces> <floorblock> <fillerblock> <rowlength>

<resourcelocationpath> - The path to search under for all nbt pieces to spawn in a grid. This command can target a single nbt piece as well. This is the only required argument. All other arguments are optional.

<location> - Where to start placing the pieces down at. ~ ~ ~ is the default which is where the player is standing.

<savepieces> - Whether to auto save every nbt piece spawned into the "generated" folder in the world's save folder.

<floorblock> - What block to place on the floor that the nbt pieces will sit on. This is usually Barrier blocks or Stone.

<fillerblock> - What block to place to clear the area for the nbt piece. Common blocks chosen here are Air or Structure Void.

<rowlength> - How many nbt pieces should be placed per row before the next row of pieces is started.

External resources

Project members

Technical information

Client side
Server side
Project ID