Currently, when defining a "height provider" for start_height in a jigsaw-type structure's JSON, the parameters absolute, above_bottom, and below_top are available to choose from. All three are interpreted either as raw Y values if project_start_to_heightmap is absent, or offsets from the "surface" if a heightmap is specified. I submit above_bottom and below_top never make sense as offsets, and it would be useful to always treat them as raw Y values even when using a heightmap.
For example, suppose I want my overworld structure to occur somewhere between 8 blocks below the surface and 16 blocks above the world floor (Y=-64+16=-48). I'd like to configure it as follows...
{
"project_start_to_heightmap": "OCEAN_FLOOR_WG",
"start_height": {
"type": "uniform",
"min_inclusive": { "above_bottom": 16 },
"max_inclusive": { "absolute": -8 }
}
}
...but that doesn't work. above_bottom:16 is effectively synonymous with absolute:-48, or 48 blocks below the surface. Not what I intended. In fact, it's not at all possible to achieve the desired result when all the parameters are offsets from the heightmap.
I propose above_bottom and below_top be made to always represent raw Y values, even when a heightmap is specified. I suspect these are never used in conjunction with heightmaps now--except maybe by mistake--so it should not break existing structure specifications. absolute can remain as is for backward compatibility (though the name remains somewhat misleading).
Please sign in to leave a comment.
0 Comments