Skip to main content

steel_registry/generated/
vanilla_configured_carvers.rs

1use crate::carver::{
2    CanyonCarverConfiguration, CanyonShapeConfiguration, CarverConfiguration,
3    CaveCarverConfiguration, ConfiguredCarver, ConfiguredCarverKind, ConfiguredCarverRegistry,
4};
5use std::borrow::Cow;
6use std::sync::{LazyLock, OnceLock};
7use steel_utils::value_providers::{FloatProvider, HeightProvider, VerticalAnchor};
8use steel_utils::Identifier;
9pub static CANYON: LazyLock<ConfiguredCarver> = LazyLock::new(|| ConfiguredCarver {
10    key: Identifier::vanilla_static("canyon"),
11    kind: ConfiguredCarverKind::Canyon(CanyonCarverConfiguration {
12        base: CarverConfiguration {
13            probability: 0.01f32,
14            y: HeightProvider::Uniform {
15                min_inclusive: VerticalAnchor::Absolute(10i32),
16                max_inclusive: VerticalAnchor::Absolute(67i32),
17            },
18            y_scale: FloatProvider::Constant(3f32),
19            lava_level: VerticalAnchor::AboveBottom(8i32),
20            replaceable_tag: Identifier {
21                namespace: Cow::Borrowed("minecraft"),
22                path: Cow::Borrowed("overworld_carver_replaceables"),
23            },
24        },
25        vertical_rotation: FloatProvider::Uniform {
26            min_inclusive: -0.125f32,
27            max_exclusive: 0.125f32,
28        },
29        shape: CanyonShapeConfiguration {
30            distance_factor: FloatProvider::Uniform {
31                min_inclusive: 0.75f32,
32                max_exclusive: 1f32,
33            },
34            thickness: FloatProvider::Trapezoid {
35                min: 0f32,
36                max: 6f32,
37                plateau: 2f32,
38            },
39            width_smoothness: 3i32,
40            horizontal_radius_factor: FloatProvider::Uniform {
41                min_inclusive: 0.75f32,
42                max_exclusive: 1f32,
43            },
44            vertical_radius_default_factor: 1f32,
45            vertical_radius_center_factor: 0f32,
46        },
47    }),
48    id: OnceLock::new(),
49});
50pub static CAVE: LazyLock<ConfiguredCarver> = LazyLock::new(|| ConfiguredCarver {
51    key: Identifier::vanilla_static("cave"),
52    kind: ConfiguredCarverKind::Cave(CaveCarverConfiguration {
53        base: CarverConfiguration {
54            probability: 0.15f32,
55            y: HeightProvider::Uniform {
56                min_inclusive: VerticalAnchor::AboveBottom(8i32),
57                max_inclusive: VerticalAnchor::Absolute(180i32),
58            },
59            y_scale: FloatProvider::Uniform {
60                min_inclusive: 0.1f32,
61                max_exclusive: 0.9f32,
62            },
63            lava_level: VerticalAnchor::AboveBottom(8i32),
64            replaceable_tag: Identifier {
65                namespace: Cow::Borrowed("minecraft"),
66                path: Cow::Borrowed("overworld_carver_replaceables"),
67            },
68        },
69        horizontal_radius_multiplier: FloatProvider::Uniform {
70            min_inclusive: 0.7f32,
71            max_exclusive: 1.4f32,
72        },
73        vertical_radius_multiplier: FloatProvider::Uniform {
74            min_inclusive: 0.8f32,
75            max_exclusive: 1.3f32,
76        },
77        floor_level: FloatProvider::Uniform {
78            min_inclusive: -1f32,
79            max_exclusive: -0.4f32,
80        },
81    }),
82    id: OnceLock::new(),
83});
84pub static CAVE_EXTRA_UNDERGROUND: LazyLock<ConfiguredCarver> =
85    LazyLock::new(|| ConfiguredCarver {
86        key: Identifier::vanilla_static("cave_extra_underground"),
87        kind: ConfiguredCarverKind::Cave(CaveCarverConfiguration {
88            base: CarverConfiguration {
89                probability: 0.07f32,
90                y: HeightProvider::Uniform {
91                    min_inclusive: VerticalAnchor::AboveBottom(8i32),
92                    max_inclusive: VerticalAnchor::Absolute(47i32),
93                },
94                y_scale: FloatProvider::Uniform {
95                    min_inclusive: 0.1f32,
96                    max_exclusive: 0.9f32,
97                },
98                lava_level: VerticalAnchor::AboveBottom(8i32),
99                replaceable_tag: Identifier {
100                    namespace: Cow::Borrowed("minecraft"),
101                    path: Cow::Borrowed("overworld_carver_replaceables"),
102                },
103            },
104            horizontal_radius_multiplier: FloatProvider::Uniform {
105                min_inclusive: 0.7f32,
106                max_exclusive: 1.4f32,
107            },
108            vertical_radius_multiplier: FloatProvider::Uniform {
109                min_inclusive: 0.8f32,
110                max_exclusive: 1.3f32,
111            },
112            floor_level: FloatProvider::Uniform {
113                min_inclusive: -1f32,
114                max_exclusive: -0.4f32,
115            },
116        }),
117        id: OnceLock::new(),
118    });
119pub static NETHER_CAVE: LazyLock<ConfiguredCarver> = LazyLock::new(|| ConfiguredCarver {
120    key: Identifier::vanilla_static("nether_cave"),
121    kind: ConfiguredCarverKind::NetherCave(CaveCarverConfiguration {
122        base: CarverConfiguration {
123            probability: 0.2f32,
124            y: HeightProvider::Uniform {
125                min_inclusive: VerticalAnchor::Absolute(0i32),
126                max_inclusive: VerticalAnchor::BelowTop(1i32),
127            },
128            y_scale: FloatProvider::Constant(0.5f32),
129            lava_level: VerticalAnchor::AboveBottom(10i32),
130            replaceable_tag: Identifier {
131                namespace: Cow::Borrowed("minecraft"),
132                path: Cow::Borrowed("nether_carver_replaceables"),
133            },
134        },
135        horizontal_radius_multiplier: FloatProvider::Constant(1f32),
136        vertical_radius_multiplier: FloatProvider::Constant(1f32),
137        floor_level: FloatProvider::Constant(-0.7f32),
138    }),
139    id: OnceLock::new(),
140});
141pub fn register_configured_carvers(registry: &mut ConfiguredCarverRegistry) {
142    registry.register(&CANYON);
143    registry.register(&CAVE);
144    registry.register(&CAVE_EXTRA_UNDERGROUND);
145    registry.register(&NETHER_CAVE);
146}