PG85 / OpenTerrainGenerator

Minecraft Terrain Generator for Bukkit/Spigot/Forge
MIT License
198 stars 83 forks source link

Blockchecks for Bo4's #933

Open NLBlackEagle opened 2 years ago

NLBlackEagle commented 2 years ago

Is your feature request related to a problem? Please describe.

When i use a bunch of 16x16 house Bo4's for their collision detection to make a small mountain village I miss the ability to generate them in rough terrain as the doorstep of these houses mostly either end up floating somewhere above or under terrain.

Describe the solution you'd like

Blockchecks would offer the ability to always spawn the door entrance facing a air block & on a grass level.

Describe alternatives you've considered

Using bo3's with source block settings but this lacks the feature to place the houses a certain distance from each other and the branch frequency function. So there is no real way to make a village X size with 100% unique housings next to each other. When using bo3's You end up with a bunch of the same houses real quick.

PG85 commented 2 years ago

For BO4's we intentionally disallow blockchecks since bo4's may be plotted in unloaded chunks and we don't want to generate those to determine if a structure can be plotted there or not. Atm only the terrain height at the start/center branch is measured when plotting the structure, users can also choose to check for land vs water. The terrain height check only cancels the structure if it doesn't fit between 0-255, the water/land check should ideally only ever be used for structures that spawn along water/land edges in biomes that have both land and water (very edge case). So in short, we avoid terrain checks in unloaded chunks wherever we can, instead for bo4's we re-shape the terrain and merge in the structure so that it doesn't need checks.

Technically speaking, the only blockchecks we could allow without performance problems would be any done during spawning (not plotting) of branches, which would only allow you to have certain (plotted) branches spawn or not depending on terrain.

FrankTCA commented 2 years ago

Believe this could be solved with #936