Overview#
Worldshape is a specialized utility mod designed for Minecraft Forge 1.16.5. Created by simibubi (the developer of the Create mod), it serves as a robust framework for modpack authors to populate their worlds with custom structures. Unlike traditional content mods, Worldshape does not add new blocks, items, or mobs to the game; instead, it provides the technical infrastructure to spawn existing schematics (in .nbt format) or complex Jigsaw-based points of interest (POIs) with high precision.

Key capabilities include:
- Custom Spacing: Define exactly how far apart structures should spawn.
- Vertical Alignment: Control the Y-level, surface snapping, or underground placement.
- Jigsaw Integration: Full support for Minecraft's Jigsaw system to create varied, multi-part structures like villages or dungeons.
- Biome & Dimension Filtering: Restrict structures to specific environments using ID lists or category tags.
Getting Started#
Worldshape operates at the modpack level. Upon the first launch, the mod automatically generates a worldshape directory within your Minecraft instance folder (alongside mods, config, and saves). This folder acts as a local data repository for your custom generation rules.
Directory Structure
To add structures, you must follow a specific namespaced folder hierarchy:
| Folder Path | Description |
|---|---|
worldshape/data/<namespace>/structures/ |
Contains the .nbt schematic files for your structures. |
worldshape/data/<namespace>/structure_spawners/ |
Contains the .json configuration files that define how and where structures spawn. |
worldshape/data/<namespace>/worldgen/template_pool/ |
Contains .json files for Jigsaw block pools (optional). |
Note: Changes made to files in the structure_spawners folder require a game restart to take effect.
Structure Registration#
To register a structure, you must create a JSON file in the structure_spawners/ folder. The name of this file will be the internal ID of the structure.
Configuration Format
Below is the standard structure for a spawner JSON file:
{
"template": {
"single": "namespace:structure_name"
},
"placement": {
"type": "surface",
"minY": 60,
"maxY": 120,
"fluidSurface": false
},
"averageSpacing": 32,
"minimumSpacing": 16,
"seed": 12345,
"avoidOthers": true,
"biomes": [ "minecraft:plains", "#minecraft:is_forest" ],
"dimensions": [ "minecraft:overworld" ]
}
Parameter Definitions
| Parameter | Type | Description |
|---|---|---|
template |
Object | Defines the source. Use "single": "path" for a single NBT or "pool": "path" for a Jigsaw pool. |
averageSpacing |
Integer | The average distance (in chunks) between spawn attempts. |
minimumSpacing |
Integer | The minimum distance (in chunks) between two structures of this type. |
seed |
Integer | A unique salt for the placement algorithm to ensure consistent generation. |
avoidOthers |
Boolean | If true, the structure will check for other Worldshape structures and avoid overlapping. |
biomes |
Array | A list of biome IDs or tags (prefixed with #) where the structure can spawn. |
dimensions |
Array | A list of dimension IDs where the structure is allowed. |
Placement Mechanics#
The placement object determines the vertical logic and environment checks for the structure. Worldshape supports four primary placement types:
Placement Types
surface: Snaps the structure to the highest solid block.- Optional:
fluidSurface(Boolean) allows spawning on water or lava.
- Optional:
underground: Spawns the structure within solid terrain betweenminYandmaxY.cave: Specifically targets air pockets within caves.- Note: Structures using
cavetype are treated as "features" and cannot be found using the/locatecommand.
- Note: Structures using
nether: Optimized for the Nether's ceiling and floor logic.
Advanced Placement Settings
| Setting | Type | Relevant Types | Description |
|---|---|---|---|
minY / maxY |
Integer | All | Restricts spawning to a specific height range. |
offset |
Integer | All | Nudges the structure up or down from its found position. |
ceiling |
Boolean | Cave, Nether | If true, searches for a ceiling to hang the structure from. |
pickHighest |
Boolean | Cave, Nether | Searches for suitable spaces from top-to-bottom instead of bottom-to-top. |
minSpace |
Integer | Cave | The minimum vertical height required for the cave to be valid. |
Jigsaw System Support#
Worldshape fully leverages Minecraft's Jigsaw system, allowing for procedural generation of large-scale POIs. By using the pool key in the template section, you can point to a template_pool JSON file.
Template Pools
Template pools define a list of structure pieces and their relative weights. This is the same system used by vanilla villages and Bastion Remnants.
- Location:
worldshape/data/<namespace>/worldgen/template_pool/ - Usage: Allows for randomized variations of a structure (e.g., a house that sometimes has a balcony or a different roof style).
Technical Details & Commands#
Locating Structures
Most structures generated by Worldshape are registered as standard Minecraft structures. You can find them in-game using the vanilla command:
/locate worldshape:<structure_id>
Exception: Structures using the cave placement type are registered as "Configured Features" rather than "Structures" to ensure they fit correctly into cave generation. Because of this technical distinction, they do not appear in the /locate list.
Compatibility
Worldshape is highly compatible with other world generation mods like Biomes O' Plenty or Terraforged, as it hooks into the standard biome and structure registries. It is a core component of the Create: Above and Beyond modpack, where it is used to spawn unique quest-related buildings and ruins.