HexLands Add-On: Hexed Structures
Add-on for your HexLands world
to enable you to place custom structures only in the center of hexes.
Screenshot from Compression Modpack used to test the feature.
Usage
In the datapack for your structure modify the structure/mystruct.json:
{
"type": "hexed_structures:jigsaw", <----- this line
"biomes": "#my:tags",
"max_distance_from_center": 80,
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"size": 7,
"spawn_overrides": {},
"start_height": {
"absolute": 0
},
"valid_height_range":{ <----- optional height limit
"min": 50,
"max": 180
},
"start_pool": "my:pool",
"step": "surface_structures",
"terrain_adaptation": "beard_thin",
"use_expansion_hack": false
}
A slightly different structure type supports defining an exclusion zone to prevent spawn incursion or what have you. Define a center hex and a radius, those hexes will not spawn the structure:
{
"type": "hexed_structures:ez_jigsaw", <----- this line, note the "ez_"
"biomes": "#my:tags",
"max_distance_from_center": 80,
"project_start_to_heightmap": "WORLD_SURFACE_WG",
"size": 7,
"spawn_overrides": {},
"start_height": {
"absolute": 0
},
"exclusion_zone":{ <----- define your exclusion zone
"hex_q": 0, <----- exclusion zone center hex q
"hex_r": 0, <----- r
"radius": 3 <----- radius in number of hexes, upper bound inclusive
}
"valid_height_range":{ <----- optional height limit
"min": 50,
"max": 180
},
"start_pool": "my:pool",
"step": "surface_structures",
"terrain_adaptation": "beard_thin",
"use_expansion_hack": false
}
For both its recommended to modify your structure_set/myset.json like so:
{
"structures": [
{
"structure": "my:structure",
"weight": 1
}
],
"placement": {
"type": "hexed_structures:center", <----- this line
"spacing": 10,
"separation": 6,
"salt": 14347342873
}
}
Note
Structures are shifted so the bounding box center is over the hexagon center.