Skip to main content

steel_core/worldgen/
mod.rs

1//! World generation module.
2//!
3//! This module provides the integration between extracted vanilla worldgen data
4//! and the world generation pipeline.
5
6/// World-carving: runtime context + carver implementations.
7pub mod carver;
8#[cfg(test)]
9mod chunk_stage_hashes;
10pub(crate) mod feature;
11pub mod generator;
12pub mod region;
13pub(crate) mod stages;
14pub(crate) mod structure;
15pub mod surface;
16pub(crate) mod template;
17
18pub use generator::context::{
19    ChunkGeneratorType, EndGenerator, NetherGenerator, OverworldGenerator, WorldGenContext,
20};
21pub use generator::registry::{GeneratorOutput, WorldGeneratorRegistry};
22pub use generator::{ChunkGenerator, EmptyChunkGenerator, FlatChunkGenerator, VanillaGenerator};
23pub use region::WorldGenRegion;
24pub use steel_worldgen::density_functions::overworld::OverworldColumnCache;
25pub use steel_worldgen::noise::EndIslands;
26
27/// Compatibility path for the per-chunk carving bitset.
28pub mod carving_mask {
29    pub use super::carver::CarvingMask;
30}
31
32/// Compatibility path for generator context types.
33pub mod context {
34    pub use super::generator::context::*;
35}
36
37/// Compatibility path for concrete generator implementations.
38pub mod generators {
39    pub use super::generator::{EmptyChunkGenerator, FlatChunkGenerator, VanillaGenerator};
40
41    pub(crate) mod vanilla {
42        pub(crate) use super::super::generator::vanilla::*;
43    }
44}
45
46/// Compatibility path for generator factory types.
47pub mod registry {
48    pub use super::generator::registry::*;
49}