Realistic Terrain Generation

Realistic Terrain Generation

3M Downloads

Trees that remove dirt/grass at root level will not regrow in the same spot

srs-bsns opened this issue ยท 5 comments

commented

Reports suggest that RTG's trees that remove dirt or grass at the root level may be breaking tree farms as trees are not growing in the same spot again until the dirt/grass block are replaced.

If this issue exists with RTG, a possible solution is to allow trees to grow even if those blocks are missing (air blocks).

commented

The last point you made in your table should never happen. If a mod's blocks (pipes/conduits, etc..) are getting replaced, then they are not RTG trees as RTG trees have a very strict rule for which blocks can be replaced when generating them.: TreeRTG.java#L173-L186

In respect to your suggestion, it's probably best, instead of adding a new config option for trees, to instead just modify the existing option for shrubs to include the trees. The RTG configs are already quite ominous, so we should try to prevent contributing to that any further. :)

commented

Config re-use method

re-use same rule as shrubs then

Config-free implementation

Deploy roots with same rules as leaf blocks.
May be done by querying target block's canBeReplacedByLeaves(world, x, y, z)
if true: replace block

commented

Failure scenarios

  • A tree farm planter finding a hole (missing dirt/grass) may either:
    1. Plant a sapling into the hole causing:
      • Either sapling can't grow because surrounded by blocks
      • Either sapling will grow a tree at a layer below
    2. Cannot plant sapling because support block is missing.
  • A tree growing roots logs replacing blocks below::
    1. Discard blocks from the farm structure itself

Known tree farms side-effects

Mod Farm device side-effects
Forestry Multifarm
Plant in hole
Possible if multiple layers of dirt/soil
Single layer
Farm will replace missing dirt; causing an excess dirt consumption
Manual planting
Farm converts saplings to Forestry saplings, so will not grow RTG trees, unless player or other device plant these
Thaumcraft Golems
Plant in hole
Dirt not replaced.
Terrain degrade-down overtime
MFR Planter
In hole
Dirt not replaced
Planter/pipes may be erased/replaced by a root log

Proposed Fix

Implement an Allow Trees to Generate Below Surface option within the trees section of rtg.cfg, similarly to Allow Shrubs to Generate Below Surface:

trees {
    # Set this to FALSE to prevent shrub trunks from generating below the surface.
    #  [default: true]
    B:"Allow Shrubs to Generate Below Surface"=false

    # Set this to FALSE to prevent trees from generating root logs below the surface.
    #  [default: true]
    B:"Allow Trees to Generate Below Surface"=false
}
commented

Fixed in 86d9341 via new config option, which allows users to choose which materials trees can grow into. (Note: This only applies to log blocks.)

commented

cool, thank you @whichonespink44