Skip to content

[FEATURE] Protected region and generation skipping #459

@XianlinSheng

Description

@XianlinSheng

I think it should be a natural idea to generate a rough big-scale structure of a city using this tool and create personal small details in game, so this might indicate a requirement of defining 'protected region' in an existing world.

With this feature, one can:

  1. manually modify / add specific structures after the generation by program
  2. update other program-generated structures by running it again, and without overwriting his own personal region

To achieve this, we might need 2 steps:

  1. Detect protected region
  2. Skip generation

For detection, the ways I can figure out are:

  1. Cover the region using predefined 'protection blocks' in the base to label it.
  2. Manually create a list config file for the bounding boxes.

For the skipping, there are 2 main jobs concerned:

  1. Terrain (elevation): offset in y but not modifying the protected structures (or at least should have an option to turn this on), since structures are generally built relatively to the ground.
  2. Structures: completely skip it (or should have an option to abort if the position has conflicts of some types of structures, since this might indicate some unexpected shift compared to what is generated last time)

To realize the detection for solution 1, we might just need to add something to the code related to ground level.

To realize the skipping, I found out it can perfectly fit in the xzbbox architecture I am developing: simply modifying the mask in xzbbox and nothing further is needed to be changed (The xzbbox with mask variation is being debugged now because rotation needs it too).

I am looking forward to some better ideas of defining and detecting protection regions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions