steel_core/worldgen/feature/
prelude.rs1pub(super) use std::sync::LazyLock;
2
3pub(super) use rustc_hash::FxHashSet;
4pub(super) use steel_math::{fast_floor, lerp};
5pub(super) use steel_registry::biome::{BiomeRef, TemperatureModifier};
6pub(super) use steel_registry::blocks::{
7 BlockRef, block_state_ext::BlockStateExt as _, properties::BambooLeaves,
8 properties::BlockStateProperties, properties::CreakingHeartState, properties::DoubleBlockHalf,
9 properties::SpeleothemThickness, properties::WallSide, shapes,
10};
11pub(super) use steel_registry::feature::{
12 AttachedToLeavesDecorator, AttachedToLogsDecorator, BambooConfiguration,
13 BasaltColumnsConfiguration, BendingTrunkPlacer, BlobFoliagePlacer, BlockBlobConfiguration,
14 BlockColumnConfiguration, BlockHolderSet, BlockPileConfiguration, BlockPredicate,
15 BlockStateData, BlockStateProviderKind, CherryFoliagePlacer, CherryTrunkPlacer,
16 ConfiguredFeatureKind, ConfiguredFeatureRef, DeltaFeatureConfiguration, DiskConfiguration,
17 DripstoneClusterConfiguration, EndGatewayConfiguration, EndSpike, EndSpikeConfiguration,
18 FallenTreeConfiguration, FeatureHeightmap, FeatureSize, FluidStateData, FoliagePlacer,
19 FossilConfiguration, GeodeBlockSettings, GeodeConfiguration, HugeFungusConfiguration,
20 HugeMushroomConfiguration, LakeConfiguration, LargeDripstoneConfiguration,
21 MangroveRootPlacement, MangroveRootPlacer, MultifaceGrowthConfiguration,
22 NetherForestVegetationConfiguration, NetherrackReplaceBlobsConfiguration, OreConfiguration,
23 PlaceOnGroundDecorator, PlacedFeatureData, PlacedFeatureEntryRef, PlacedFeatureRef,
24 PlacementModifier, PointedDripstoneConfiguration, PoplarFoliagePlacer, PoplarTrunkPlacer,
25 ProjectedRandomPatchySquareConfiguration, RandomNeighborSpreadConfiguration,
26 RandomSpreadFoliagePlacer, RootPlacer, RootSystemConfiguration, SculkPatchConfiguration,
27 SeaPickleConfiguration, SeagrassConfiguration, SimpleBlockConfiguration,
28 SingleBlockPillarConfiguration, SpeleothemClusterConfiguration, SpeleothemConfiguration,
29 SpikeConfiguration, SpringConfiguration, SteppedColumnClusterConfiguration, TreeConfiguration,
30 TreeDecorator, TrunkPlacer, TwistingVinesConfiguration, UnderwaterMagmaConfiguration,
31 UpwardsBranchingTrunkPlacer, VegetationPatchConfiguration, VerticalSurface,
32};
33pub(super) use steel_registry::fluid::{FluidRef, FluidState, FluidStateExt as _};
34pub(super) use steel_registry::structure_processor::StructureRuleTestData;
35pub(super) use steel_registry::{
36 REGISTRY, Registry, RegistryEntry as _, RegistryExt as _, TaggedRegistryExt as _,
37 vanilla_blocks, vanilla_fluids,
38};
39pub(super) use steel_utils::axis::Axis;
40pub(super) use steel_utils::random::{
41 Random as _, RandomSource, legacy_random::LegacyRandom, worldgen_random::WorldgenRandom,
42};
43pub(super) use steel_utils::types::UpdateFlags;
44pub(super) use steel_utils::value_providers::IntProvider;
45pub(super) use steel_utils::{BlockPos, BlockStateId, Direction, Identifier, Rotation, SectionPos};
46pub(super) use steel_worldgen::noise::{NormalNoise, PerlinSimplexNoise};
47
48pub(super) use crate::behavior::BLOCK_BEHAVIORS;
49pub(super) use crate::chunk::heightmap::HeightmapType;
50pub(super) use crate::chunk::status::ChunkStatus;
51pub(super) use crate::fluid::state::get_fluid_state_from_block;
52pub(super) use crate::world::{LevelAccessor, LevelReader};
53pub(super) use crate::worldgen::generator::vanilla::fuzzed_biome_at_block;
54pub(super) use crate::worldgen::region::{WorldGenBulkSectionAccess, WorldGenRegion};
55
56pub(super) const DECORATION_STEP_COUNT: usize = 11;
57
58pub(super) use crate::block_state_provider::BlockStateProviderEvaluator;