Skip to main content

steel_core/block_state_provider/
mod.rs

1//! Shared blockstate providers and predicates for worldgen and item transformations
2
3use steel_registry::{Registry, feature::BlockStateData};
4use steel_utils::BlockStateId;
5use steel_worldgen::state_resolver::WorldgenStateResolver;
6
7mod noise_cache;
8mod predicates;
9mod providers;
10
11/// Evaluates blockstate providers against a readonly level
12pub(crate) struct BlockStateProviderEvaluator;
13
14impl BlockStateProviderEvaluator {
15    pub(crate) fn block_state_from_data(
16        registry: &Registry,
17        data: &BlockStateData,
18    ) -> BlockStateId {
19        WorldgenStateResolver::feature_block_state_from_data(registry, data, "block state provider")
20    }
21}
22
23#[cfg(test)]
24mod tests;