Skip to main content

steel_core/worldgen/feature/
prelude.rs

1pub(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;