Jigsaw max depth fallback system
This issue relates to both VolmitSoftware/IrisPlugin#49 and VolmitSoftware/IrisPlugin#50 in a sense that it has to do with abrupt stops when connectors are not able to place a piece. In this case, it has to do with pieces reaching the max depth and as such are not able to place anything. This occurs when a branch of jigsaw pieces reaches the configured maxDepth configured in the structure, but could also include the maxDepth of a pool if VolmitSoftware/IrisPlugin#49 were to be implemented.
Either a list of pools could be specified, for which a connector can attempt to place once max depth has been reached (separate from that outlined in VolmitSoftware/IrisPlugin#49), OR it could simply be handled by just one fallback pool.
As an example, it could be configured like so:
"connectors": [
{
"targetName": "*",
"innerConnector": false,
"rotateConnector": false,
"name": "",
"pools": [
"stronghold/paths"
],
"maxDepthPools": [
"stronghold/rooms"
],
"fallbackPools": [
"stronghold/paths-fallback"
],
"position": {
"x": -3,
"y": -5,
"z": 0
},
"direction": "WEST_NEGATIVE_X"
},
With the example above in mind, here are a couple potential outcomes and how they would be resolved with this:
Connector attempts to place piece but max depth is reached. Connector then attempts to place a piece from maxDepthPools and succeeds. Now instead of there being a clean cut in the structure, there would be a piece from "stronghold/rooms" that would terminate a path, (or start a new path with a different pool if it was a pool max depth and the piece was recursive).
Another scenario:
Connector attempts to place piece but max depth is reached. Connector then attempts to place a piece from maxDepthPools but the piece collides with another. Connector is unable to place anything successfully so it force places a piece from "stronghold/paths-fallback" defined under "fallbackPools", effectively capping off the end of the path.
