Skip to content

[Feature] Add post-worldgen hooks for terrain and structure transformation #56

@yunnwi

Description

@yunnwi

Problem / Motivation

Some mods should be able to layer behavior over existing worldgen instead of replacing the selected worldgen provider entirely.

Examples:

  • ecology layer converting static generated trees into lifecycle trees
  • gas pockets or cave atmosphere initialization
  • ore replacement
  • ruins/decorations
  • biome corruption initialization
  • compatibility transforms over vanilla or modded terrain

Currently, a mod that wants to affect generated terrain generally needs to become the worldgen provider itself. That makes composition between independent mods difficult.

Proposed solution

Add post-worldgen hooks/passes that run after the selected worldgen provider emits terrain writes, but before generated terrain is finalized/persisted.

Possible shape:

  • selected worldgen provider generates a column/region
  • one or more registered post-worldgen passes receive the generated output or a mutable column view
  • passes can emit additional/replacement terrain writes
  • host validates final writes before persistence

This should be generic terrain/structure transformation, not a tree-specific or biome-specific engine feature.

Alternatives considered

Replacing the entire worldgen provider works for standalone worlds, but it prevents clean layering.
Hardcoding transformation behavior into vanilla or engine core would not scale to different game types.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions