steel_registry/generated/
vanilla_configured_carvers.rs1use 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}