1use steel_registry::RegistryExt;
2use steel_registry::blocks::block_state_ext::BlockStateExt;
3use std::simd::Simd;
4use std::simd::Select;
5use std::simd::cmp::SimdOrd;
6use std::simd::cmp::SimdPartialEq;
7use std::simd::cmp::SimdPartialOrd;
8use std::simd::num::SimdInt;
9use std::simd::num::SimdFloat;
10use steel_worldgen::density::spline_eval;
11use steel_worldgen::density::RarityValueMapper;
12use steel_math::{clamp, map_clamped};
13use steel_worldgen::noise::NormalNoise;
14use steel_worldgen::random::{PositionalRandom, RandomSplitter};
15pub struct OverworldNoises {
19 pub n_aquifer_barrier: NormalNoise,
20 pub n_aquifer_fluid_level_floodedness: NormalNoise,
21 pub n_aquifer_fluid_level_spread: NormalNoise,
22 pub n_aquifer_lava: NormalNoise,
23 pub n_cave_cheese: NormalNoise,
24 pub n_cave_entrance: NormalNoise,
25 pub n_cave_layer: NormalNoise,
26 pub n_continentalness: NormalNoise,
27 pub n_erosion: NormalNoise,
28 pub n_jagged: NormalNoise,
29 pub n_noodle: NormalNoise,
30 pub n_noodle_ridge_a: NormalNoise,
31 pub n_noodle_ridge_b: NormalNoise,
32 pub n_noodle_thickness: NormalNoise,
33 pub n_offset: NormalNoise,
34 pub n_ore_gap: NormalNoise,
35 pub n_ore_vein_a: NormalNoise,
36 pub n_ore_vein_b: NormalNoise,
37 pub n_ore_veininess: NormalNoise,
38 pub n_pillar: NormalNoise,
39 pub n_pillar_rareness: NormalNoise,
40 pub n_pillar_thickness: NormalNoise,
41 pub n_ridge: NormalNoise,
42 pub n_spaghetti_2d: NormalNoise,
43 pub n_spaghetti_2d_elevation: NormalNoise,
44 pub n_spaghetti_2d_modulator: NormalNoise,
45 pub n_spaghetti_2d_thickness: NormalNoise,
46 pub n_spaghetti_3d_1: NormalNoise,
47 pub n_spaghetti_3d_2: NormalNoise,
48 pub n_spaghetti_3d_rarity: NormalNoise,
49 pub n_spaghetti_3d_thickness: NormalNoise,
50 pub n_spaghetti_roughness: NormalNoise,
51 pub n_spaghetti_roughness_modulator: NormalNoise,
52 pub n_temperature: NormalNoise,
53 pub n_vegetation: NormalNoise,
54 pub blended_noise: steel_worldgen::noise::BlendedNoise,
55}
56impl OverworldNoises {
57 pub fn create(
59 seed: u64,
60 splitter: &RandomSplitter,
61 params: &rustc_hash::FxHashMap<String, steel_worldgen::density::NoiseParameters>,
62 ) -> Self {
63 let _ = seed;
64 Self {
65 n_aquifer_barrier: {
66 let p = params
67 .get("minecraft:aquifer_barrier")
68 .expect(
69 concat!("missing noise params: ", "minecraft:aquifer_barrier"),
70 );
71 p.create(splitter, "minecraft:aquifer_barrier")
72 },
73 n_aquifer_fluid_level_floodedness: {
74 let p = params
75 .get("minecraft:aquifer_fluid_level_floodedness")
76 .expect(
77 concat!(
78 "missing noise params: ",
79 "minecraft:aquifer_fluid_level_floodedness"
80 ),
81 );
82 p.create(splitter, "minecraft:aquifer_fluid_level_floodedness")
83 },
84 n_aquifer_fluid_level_spread: {
85 let p = params
86 .get("minecraft:aquifer_fluid_level_spread")
87 .expect(
88 concat!(
89 "missing noise params: ",
90 "minecraft:aquifer_fluid_level_spread"
91 ),
92 );
93 p.create(splitter, "minecraft:aquifer_fluid_level_spread")
94 },
95 n_aquifer_lava: {
96 let p = params
97 .get("minecraft:aquifer_lava")
98 .expect(concat!("missing noise params: ", "minecraft:aquifer_lava"));
99 p.create(splitter, "minecraft:aquifer_lava")
100 },
101 n_cave_cheese: {
102 let p = params
103 .get("minecraft:cave_cheese")
104 .expect(concat!("missing noise params: ", "minecraft:cave_cheese"));
105 p.create(splitter, "minecraft:cave_cheese")
106 },
107 n_cave_entrance: {
108 let p = params
109 .get("minecraft:cave_entrance")
110 .expect(
111 concat!("missing noise params: ", "minecraft:cave_entrance"),
112 );
113 p.create(splitter, "minecraft:cave_entrance")
114 },
115 n_cave_layer: {
116 let p = params
117 .get("minecraft:cave_layer")
118 .expect(concat!("missing noise params: ", "minecraft:cave_layer"));
119 p.create(splitter, "minecraft:cave_layer")
120 },
121 n_continentalness: {
122 let p = params
123 .get("minecraft:continentalness")
124 .expect(
125 concat!("missing noise params: ", "minecraft:continentalness"),
126 );
127 p.create(splitter, "minecraft:continentalness")
128 },
129 n_erosion: {
130 let p = params
131 .get("minecraft:erosion")
132 .expect(concat!("missing noise params: ", "minecraft:erosion"));
133 p.create(splitter, "minecraft:erosion")
134 },
135 n_jagged: {
136 let p = params
137 .get("minecraft:jagged")
138 .expect(concat!("missing noise params: ", "minecraft:jagged"));
139 p.create(splitter, "minecraft:jagged")
140 },
141 n_noodle: {
142 let p = params
143 .get("minecraft:noodle")
144 .expect(concat!("missing noise params: ", "minecraft:noodle"));
145 p.create(splitter, "minecraft:noodle")
146 },
147 n_noodle_ridge_a: {
148 let p = params
149 .get("minecraft:noodle_ridge_a")
150 .expect(
151 concat!("missing noise params: ", "minecraft:noodle_ridge_a"),
152 );
153 p.create(splitter, "minecraft:noodle_ridge_a")
154 },
155 n_noodle_ridge_b: {
156 let p = params
157 .get("minecraft:noodle_ridge_b")
158 .expect(
159 concat!("missing noise params: ", "minecraft:noodle_ridge_b"),
160 );
161 p.create(splitter, "minecraft:noodle_ridge_b")
162 },
163 n_noodle_thickness: {
164 let p = params
165 .get("minecraft:noodle_thickness")
166 .expect(
167 concat!("missing noise params: ", "minecraft:noodle_thickness"),
168 );
169 p.create(splitter, "minecraft:noodle_thickness")
170 },
171 n_offset: {
172 let p = params
173 .get("minecraft:offset")
174 .expect(concat!("missing noise params: ", "minecraft:offset"));
175 p.create(splitter, "minecraft:offset")
176 },
177 n_ore_gap: {
178 let p = params
179 .get("minecraft:ore_gap")
180 .expect(concat!("missing noise params: ", "minecraft:ore_gap"));
181 p.create(splitter, "minecraft:ore_gap")
182 },
183 n_ore_vein_a: {
184 let p = params
185 .get("minecraft:ore_vein_a")
186 .expect(concat!("missing noise params: ", "minecraft:ore_vein_a"));
187 p.create(splitter, "minecraft:ore_vein_a")
188 },
189 n_ore_vein_b: {
190 let p = params
191 .get("minecraft:ore_vein_b")
192 .expect(concat!("missing noise params: ", "minecraft:ore_vein_b"));
193 p.create(splitter, "minecraft:ore_vein_b")
194 },
195 n_ore_veininess: {
196 let p = params
197 .get("minecraft:ore_veininess")
198 .expect(
199 concat!("missing noise params: ", "minecraft:ore_veininess"),
200 );
201 p.create(splitter, "minecraft:ore_veininess")
202 },
203 n_pillar: {
204 let p = params
205 .get("minecraft:pillar")
206 .expect(concat!("missing noise params: ", "minecraft:pillar"));
207 p.create(splitter, "minecraft:pillar")
208 },
209 n_pillar_rareness: {
210 let p = params
211 .get("minecraft:pillar_rareness")
212 .expect(
213 concat!("missing noise params: ", "minecraft:pillar_rareness"),
214 );
215 p.create(splitter, "minecraft:pillar_rareness")
216 },
217 n_pillar_thickness: {
218 let p = params
219 .get("minecraft:pillar_thickness")
220 .expect(
221 concat!("missing noise params: ", "minecraft:pillar_thickness"),
222 );
223 p.create(splitter, "minecraft:pillar_thickness")
224 },
225 n_ridge: {
226 let p = params
227 .get("minecraft:ridge")
228 .expect(concat!("missing noise params: ", "minecraft:ridge"));
229 p.create(splitter, "minecraft:ridge")
230 },
231 n_spaghetti_2d: {
232 let p = params
233 .get("minecraft:spaghetti_2d")
234 .expect(concat!("missing noise params: ", "minecraft:spaghetti_2d"));
235 p.create(splitter, "minecraft:spaghetti_2d")
236 },
237 n_spaghetti_2d_elevation: {
238 let p = params
239 .get("minecraft:spaghetti_2d_elevation")
240 .expect(
241 concat!(
242 "missing noise params: ", "minecraft:spaghetti_2d_elevation"
243 ),
244 );
245 p.create(splitter, "minecraft:spaghetti_2d_elevation")
246 },
247 n_spaghetti_2d_modulator: {
248 let p = params
249 .get("minecraft:spaghetti_2d_modulator")
250 .expect(
251 concat!(
252 "missing noise params: ", "minecraft:spaghetti_2d_modulator"
253 ),
254 );
255 p.create(splitter, "minecraft:spaghetti_2d_modulator")
256 },
257 n_spaghetti_2d_thickness: {
258 let p = params
259 .get("minecraft:spaghetti_2d_thickness")
260 .expect(
261 concat!(
262 "missing noise params: ", "minecraft:spaghetti_2d_thickness"
263 ),
264 );
265 p.create(splitter, "minecraft:spaghetti_2d_thickness")
266 },
267 n_spaghetti_3d_1: {
268 let p = params
269 .get("minecraft:spaghetti_3d_1")
270 .expect(
271 concat!("missing noise params: ", "minecraft:spaghetti_3d_1"),
272 );
273 p.create(splitter, "minecraft:spaghetti_3d_1")
274 },
275 n_spaghetti_3d_2: {
276 let p = params
277 .get("minecraft:spaghetti_3d_2")
278 .expect(
279 concat!("missing noise params: ", "minecraft:spaghetti_3d_2"),
280 );
281 p.create(splitter, "minecraft:spaghetti_3d_2")
282 },
283 n_spaghetti_3d_rarity: {
284 let p = params
285 .get("minecraft:spaghetti_3d_rarity")
286 .expect(
287 concat!(
288 "missing noise params: ", "minecraft:spaghetti_3d_rarity"
289 ),
290 );
291 p.create(splitter, "minecraft:spaghetti_3d_rarity")
292 },
293 n_spaghetti_3d_thickness: {
294 let p = params
295 .get("minecraft:spaghetti_3d_thickness")
296 .expect(
297 concat!(
298 "missing noise params: ", "minecraft:spaghetti_3d_thickness"
299 ),
300 );
301 p.create(splitter, "minecraft:spaghetti_3d_thickness")
302 },
303 n_spaghetti_roughness: {
304 let p = params
305 .get("minecraft:spaghetti_roughness")
306 .expect(
307 concat!(
308 "missing noise params: ", "minecraft:spaghetti_roughness"
309 ),
310 );
311 p.create(splitter, "minecraft:spaghetti_roughness")
312 },
313 n_spaghetti_roughness_modulator: {
314 let p = params
315 .get("minecraft:spaghetti_roughness_modulator")
316 .expect(
317 concat!(
318 "missing noise params: ",
319 "minecraft:spaghetti_roughness_modulator"
320 ),
321 );
322 p.create(splitter, "minecraft:spaghetti_roughness_modulator")
323 },
324 n_temperature: {
325 let p = params
326 .get("minecraft:temperature")
327 .expect(concat!("missing noise params: ", "minecraft:temperature"));
328 p.create(splitter, "minecraft:temperature")
329 },
330 n_vegetation: {
331 let p = params
332 .get("minecraft:vegetation")
333 .expect(concat!("missing noise params: ", "minecraft:vegetation"));
334 p.create(splitter, "minecraft:vegetation")
335 },
336 blended_noise: {
337 use steel_worldgen::random::PositionalRandom;
338 use steel_worldgen::random::name_hash::NameHash;
339 const TERRAIN_HASH: NameHash = NameHash::new("minecraft:terrain");
340 let mut terrain_random = splitter.with_hash_of(&TERRAIN_HASH);
341 steel_worldgen::noise::BlendedNoise::new(
342 &mut terrain_random,
343 0.25,
344 0.125,
345 80.0,
346 160.0,
347 8.0,
348 )
349 },
350 }
351 }
352}
353#[derive(Clone)]
362pub struct OverworldColumnCache {
363 pub x: i32,
365 pub z: i32,
367 qx: i32,
369 qz: i32,
371 valid: bool,
372 grid_first_quart_x: i32,
373 grid_first_quart_z: i32,
374 has_grid: bool,
375 pub df_shift_x: f32,
376 pub df_shift_z: f32,
377 pub df_overworld__continents: f32,
378 pub df_overworld__erosion: f32,
379 pub df_overworld__ridges: f32,
380 pub df_overworld__ridges_folded: f32,
381 pub df_overworld__offset: f32,
382 pub df_overworld__factor: f32,
383 pub df_overworld__jaggedness: f32,
384 pub df_overworld__preliminary_surface_level: f32,
385 pub df_overworld__temperature: f32,
386 pub df_overworld__vegetation: f32,
387 pub router_continentalness: f32,
388 pub router_erosion: f32,
389 pub router_preliminary_surface_level: f32,
390 pub router_ridges: f32,
391 pub router_temperature: f32,
392 pub router_vegetation: f32,
393 pub inline_noise_0: f32,
394 pub inline_noise_1: f32,
395 grid_df_shift_x: [f32; 25],
396 grid_df_shift_z: [f32; 25],
397 grid_df_overworld__continents: [f32; 25],
398 grid_df_overworld__erosion: [f32; 25],
399 grid_df_overworld__ridges: [f32; 25],
400 grid_df_overworld__ridges_folded: [f32; 25],
401 grid_df_overworld__offset: [f32; 25],
402 grid_df_overworld__factor: [f32; 25],
403 grid_df_overworld__jaggedness: [f32; 25],
404 grid_df_overworld__preliminary_surface_level: [f32; 25],
405 grid_df_overworld__temperature: [f32; 25],
406 grid_df_overworld__vegetation: [f32; 25],
407 grid_router_continentalness: [f32; 25],
408 grid_router_erosion: [f32; 25],
409 grid_router_preliminary_surface_level: [f32; 25],
410 grid_router_ridges: [f32; 25],
411 grid_router_temperature: [f32; 25],
412 grid_router_vegetation: [f32; 25],
413 grid_inline_noise_0: [f32; 25],
414 grid_inline_noise_1: [f32; 25],
415}
416impl OverworldColumnCache {
417 const GRID_SIDE: i32 = 5;
419 #[must_use]
421 pub fn new() -> Self {
422 Self {
423 x: 0,
424 z: 0,
425 qx: i32::MIN,
426 qz: i32::MIN,
427 valid: false,
428 grid_first_quart_x: 0,
429 grid_first_quart_z: 0,
430 has_grid: false,
431 df_shift_x: 0.0,
432 df_shift_z: 0.0,
433 df_overworld__continents: 0.0,
434 df_overworld__erosion: 0.0,
435 df_overworld__ridges: 0.0,
436 df_overworld__ridges_folded: 0.0,
437 df_overworld__offset: 0.0,
438 df_overworld__factor: 0.0,
439 df_overworld__jaggedness: 0.0,
440 df_overworld__preliminary_surface_level: 0.0,
441 df_overworld__temperature: 0.0,
442 df_overworld__vegetation: 0.0,
443 router_continentalness: 0.0,
444 router_erosion: 0.0,
445 router_preliminary_surface_level: 0.0,
446 router_ridges: 0.0,
447 router_temperature: 0.0,
448 router_vegetation: 0.0,
449 inline_noise_0: 0.0,
450 inline_noise_1: 0.0,
451 grid_df_shift_x: [0.0; 25],
452 grid_df_shift_z: [0.0; 25],
453 grid_df_overworld__continents: [0.0; 25],
454 grid_df_overworld__erosion: [0.0; 25],
455 grid_df_overworld__ridges: [0.0; 25],
456 grid_df_overworld__ridges_folded: [0.0; 25],
457 grid_df_overworld__offset: [0.0; 25],
458 grid_df_overworld__factor: [0.0; 25],
459 grid_df_overworld__jaggedness: [0.0; 25],
460 grid_df_overworld__preliminary_surface_level: [0.0; 25],
461 grid_df_overworld__temperature: [0.0; 25],
462 grid_df_overworld__vegetation: [0.0; 25],
463 grid_router_continentalness: [0.0; 25],
464 grid_router_erosion: [0.0; 25],
465 grid_router_preliminary_surface_level: [0.0; 25],
466 grid_router_ridges: [0.0; 25],
467 grid_router_temperature: [0.0; 25],
468 grid_router_vegetation: [0.0; 25],
469 grid_inline_noise_0: [0.0; 25],
470 grid_inline_noise_1: [0.0; 25],
471 }
472 }
473 pub fn init_grid(
479 &mut self,
480 chunk_block_x: i32,
481 chunk_block_z: i32,
482 noises: &OverworldNoises,
483 ) {
484 self.grid_first_quart_x = chunk_block_x >> 2;
485 self.grid_first_quart_z = chunk_block_z >> 2;
486 self.has_grid = true;
487 self.valid = false;
488 for rel_z in 0..Self::GRID_SIDE {
489 for rel_x in 0..Self::GRID_SIDE {
490 let x = ((self.grid_first_quart_x + rel_x) << 2) as f64;
491 let z = ((self.grid_first_quart_z + rel_z) << 2) as f64;
492 let idx = (rel_z * Self::GRID_SIDE + rel_x) as usize;
493 let val = compute_shift_x(noises, &*self, x, z);
494 self.df_shift_x = val;
495 let val = compute_shift_z(noises, &*self, x, z);
496 self.df_shift_z = val;
497 let val = compute_overworld__continents(noises, &*self, x, z);
498 self.df_overworld__continents = val;
499 let val = compute_overworld__erosion(noises, &*self, x, z);
500 self.df_overworld__erosion = val;
501 let val = compute_overworld__ridges(noises, &*self, x, z);
502 self.df_overworld__ridges = val;
503 let val = compute_overworld__ridges_folded(noises, &*self, x, z);
504 self.df_overworld__ridges_folded = val;
505 let val = compute_overworld__offset(noises, &*self, x, z);
506 self.df_overworld__offset = val;
507 let val = compute_overworld__factor(noises, &*self, x, z);
508 self.df_overworld__factor = val;
509 let val = compute_overworld__jaggedness(noises, &*self, x, z);
510 self.df_overworld__jaggedness = val;
511 let val = compute_overworld__preliminary_surface_level(
512 noises,
513 &*self,
514 x,
515 z,
516 );
517 self.df_overworld__preliminary_surface_level = val;
518 let val = compute_overworld__temperature(noises, &*self, x, z);
519 self.df_overworld__temperature = val;
520 let val = compute_overworld__vegetation(noises, &*self, x, z);
521 self.df_overworld__vegetation = val;
522 self.grid_df_shift_x[idx] = self.df_shift_x;
523 self.grid_df_shift_z[idx] = self.df_shift_z;
524 self.grid_df_overworld__continents[idx] = self.df_overworld__continents;
525 self.grid_df_overworld__erosion[idx] = self.df_overworld__erosion;
526 self.grid_df_overworld__ridges[idx] = self.df_overworld__ridges;
527 self.grid_df_overworld__ridges_folded[idx] = self
528 .df_overworld__ridges_folded;
529 self.grid_df_overworld__offset[idx] = self.df_overworld__offset;
530 self.grid_df_overworld__factor[idx] = self.df_overworld__factor;
531 self.grid_df_overworld__jaggedness[idx] = self.df_overworld__jaggedness;
532 self.grid_df_overworld__preliminary_surface_level[idx] = self
533 .df_overworld__preliminary_surface_level;
534 self.grid_df_overworld__temperature[idx] = self
535 .df_overworld__temperature;
536 self.grid_df_overworld__vegetation[idx] = self.df_overworld__vegetation;
537 let val = compute_router_continentalness(noises, &*self, x, z);
538 self.router_continentalness = val;
539 let val = compute_router_erosion(noises, &*self, x, z);
540 self.router_erosion = val;
541 let val = compute_router_preliminary_surface_level(noises, &*self, x, z);
542 self.router_preliminary_surface_level = val;
543 let val = compute_router_ridges(noises, &*self, x, z);
544 self.router_ridges = val;
545 let val = compute_router_temperature(noises, &*self, x, z);
546 self.router_temperature = val;
547 let val = compute_router_vegetation(noises, &*self, x, z);
548 self.router_vegetation = val;
549 self.grid_router_continentalness[idx] = self.router_continentalness;
550 self.grid_router_erosion[idx] = self.router_erosion;
551 self.grid_router_preliminary_surface_level[idx] = self
552 .router_preliminary_surface_level;
553 self.grid_router_ridges[idx] = self.router_ridges;
554 self.grid_router_temperature[idx] = self.router_temperature;
555 self.grid_router_vegetation[idx] = self.router_vegetation;
556 self.inline_noise_0 = noises
557 .n_spaghetti_2d_elevation
558 .get_value_xz(x * 1.0, z * 1.0);
559 self.inline_noise_1 = noises
560 .n_jagged
561 .get_value_xz(x * 1500.0, z * 1500.0);
562 self.grid_inline_noise_0[idx] = self.inline_noise_0;
563 self.grid_inline_noise_1[idx] = self.inline_noise_1;
564 }
565 }
566 }
567 pub fn ensure(&mut self, x: i32, z: i32, noises: &OverworldNoises) {
572 self.x = x;
573 self.z = z;
574 let quart_x = x >> 2;
575 let quart_z = z >> 2;
576 if self.has_grid {
577 let rel_x = quart_x - self.grid_first_quart_x;
578 let rel_z = quart_z - self.grid_first_quart_z;
579 if x & 3 == 0 && z & 3 == 0 && rel_x >= 0 && rel_z >= 0
580 && rel_x < Self::GRID_SIDE && rel_z < Self::GRID_SIDE
581 {
582 let eval_x = quart_x << 2;
583 let eval_z = quart_z << 2;
584 if self.valid && self.qx == eval_x && self.qz == eval_z {
585 return;
586 }
587 let idx = (rel_z * Self::GRID_SIDE + rel_x) as usize;
588 self.df_shift_x = self.grid_df_shift_x[idx];
589 self.df_shift_z = self.grid_df_shift_z[idx];
590 self.df_overworld__continents = self.grid_df_overworld__continents[idx];
591 self.df_overworld__erosion = self.grid_df_overworld__erosion[idx];
592 self.df_overworld__ridges = self.grid_df_overworld__ridges[idx];
593 self.df_overworld__ridges_folded = self
594 .grid_df_overworld__ridges_folded[idx];
595 self.df_overworld__offset = self.grid_df_overworld__offset[idx];
596 self.df_overworld__factor = self.grid_df_overworld__factor[idx];
597 self.df_overworld__jaggedness = self.grid_df_overworld__jaggedness[idx];
598 self.df_overworld__preliminary_surface_level = self
599 .grid_df_overworld__preliminary_surface_level[idx];
600 self.df_overworld__temperature = self
601 .grid_df_overworld__temperature[idx];
602 self.df_overworld__vegetation = self.grid_df_overworld__vegetation[idx];
603 self.router_continentalness = self.grid_router_continentalness[idx];
604 self.router_erosion = self.grid_router_erosion[idx];
605 self.router_preliminary_surface_level = self
606 .grid_router_preliminary_surface_level[idx];
607 self.router_ridges = self.grid_router_ridges[idx];
608 self.router_temperature = self.grid_router_temperature[idx];
609 self.router_vegetation = self.grid_router_vegetation[idx];
610 self.inline_noise_0 = self.grid_inline_noise_0[idx];
611 self.inline_noise_1 = self.grid_inline_noise_1[idx];
612 self.qx = eval_x;
613 self.qz = eval_z;
614 self.valid = true;
615 return;
616 }
617 if self.valid && self.qx == x && self.qz == z {
618 return;
619 }
620 self.qx = x;
621 self.qz = z;
622 let x = x as f64;
623 let z = z as f64;
624 let val = compute_shift_x(noises, &*self, x, z);
625 self.df_shift_x = val;
626 let val = compute_shift_z(noises, &*self, x, z);
627 self.df_shift_z = val;
628 let val = compute_overworld__continents(noises, &*self, x, z);
629 self.df_overworld__continents = val;
630 let val = compute_overworld__erosion(noises, &*self, x, z);
631 self.df_overworld__erosion = val;
632 let val = compute_overworld__ridges(noises, &*self, x, z);
633 self.df_overworld__ridges = val;
634 let val = compute_overworld__ridges_folded(noises, &*self, x, z);
635 self.df_overworld__ridges_folded = val;
636 let val = compute_overworld__offset(noises, &*self, x, z);
637 self.df_overworld__offset = val;
638 let val = compute_overworld__factor(noises, &*self, x, z);
639 self.df_overworld__factor = val;
640 let val = compute_overworld__jaggedness(noises, &*self, x, z);
641 self.df_overworld__jaggedness = val;
642 let val = compute_overworld__preliminary_surface_level(noises, &*self, x, z);
643 self.df_overworld__preliminary_surface_level = val;
644 let val = compute_overworld__temperature(noises, &*self, x, z);
645 self.df_overworld__temperature = val;
646 let val = compute_overworld__vegetation(noises, &*self, x, z);
647 self.df_overworld__vegetation = val;
648 let val = compute_router_continentalness(noises, &*self, x, z);
649 self.router_continentalness = val;
650 let val = compute_router_erosion(noises, &*self, x, z);
651 self.router_erosion = val;
652 let val = compute_router_preliminary_surface_level(noises, &*self, x, z);
653 self.router_preliminary_surface_level = val;
654 let val = compute_router_ridges(noises, &*self, x, z);
655 self.router_ridges = val;
656 let val = compute_router_temperature(noises, &*self, x, z);
657 self.router_temperature = val;
658 let val = compute_router_vegetation(noises, &*self, x, z);
659 self.router_vegetation = val;
660 self.inline_noise_0 = noises
661 .n_spaghetti_2d_elevation
662 .get_value_xz(x * 1.0, z * 1.0);
663 self.inline_noise_1 = noises.n_jagged.get_value_xz(x * 1500.0, z * 1500.0);
664 self.valid = true;
665 return;
666 }
667 if self.valid && self.qx == x && self.qz == z {
668 return;
669 }
670 self.qx = x;
671 self.qz = z;
672 let x = x as f64;
673 let z = z as f64;
674 let val = compute_shift_x(noises, &*self, x, z);
675 self.df_shift_x = val;
676 let val = compute_shift_z(noises, &*self, x, z);
677 self.df_shift_z = val;
678 let val = compute_overworld__continents(noises, &*self, x, z);
679 self.df_overworld__continents = val;
680 let val = compute_overworld__erosion(noises, &*self, x, z);
681 self.df_overworld__erosion = val;
682 let val = compute_overworld__ridges(noises, &*self, x, z);
683 self.df_overworld__ridges = val;
684 let val = compute_overworld__ridges_folded(noises, &*self, x, z);
685 self.df_overworld__ridges_folded = val;
686 let val = compute_overworld__offset(noises, &*self, x, z);
687 self.df_overworld__offset = val;
688 let val = compute_overworld__factor(noises, &*self, x, z);
689 self.df_overworld__factor = val;
690 let val = compute_overworld__jaggedness(noises, &*self, x, z);
691 self.df_overworld__jaggedness = val;
692 let val = compute_overworld__preliminary_surface_level(noises, &*self, x, z);
693 self.df_overworld__preliminary_surface_level = val;
694 let val = compute_overworld__temperature(noises, &*self, x, z);
695 self.df_overworld__temperature = val;
696 let val = compute_overworld__vegetation(noises, &*self, x, z);
697 self.df_overworld__vegetation = val;
698 let val = compute_router_continentalness(noises, &*self, x, z);
699 self.router_continentalness = val;
700 let val = compute_router_erosion(noises, &*self, x, z);
701 self.router_erosion = val;
702 let val = compute_router_preliminary_surface_level(noises, &*self, x, z);
703 self.router_preliminary_surface_level = val;
704 let val = compute_router_ridges(noises, &*self, x, z);
705 self.router_ridges = val;
706 let val = compute_router_temperature(noises, &*self, x, z);
707 self.router_temperature = val;
708 let val = compute_router_vegetation(noises, &*self, x, z);
709 self.router_vegetation = val;
710 self.inline_noise_0 = noises
711 .n_spaghetti_2d_elevation
712 .get_value_xz(x * 1.0, z * 1.0);
713 self.inline_noise_1 = noises.n_jagged.get_value_xz(x * 1500.0, z * 1500.0);
714 self.valid = true;
715 }
716}
717#[inline]
719fn compute_overworld__base_3d_noise(
720 noises: &OverworldNoises,
721 cache: &OverworldColumnCache,
722 x: f64,
723 y: f64,
724 z: f64,
725) -> f32 {
726 (noises.blended_noise.compute(x, y, z) as f32) as f32
727}
728#[inline]
730fn compute_overworld__caves__spaghetti_roughness_function(
731 noises: &OverworldNoises,
732 cache: &OverworldColumnCache,
733 x: f64,
734 y: f64,
735 z: f64,
736) -> f32 {
737 ((((((((((noises
738 .n_spaghetti_roughness_modulator
739 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32) * ((-0.05) as f32))) as f32)
740 + ((-0.05) as f32))) as f32)
741 * (((((((noises.n_spaghetti_roughness.get_value(x * 1.0, y * 1.0, z * 1.0))
742 as f32)
743 .abs()) as f32) + ((-0.4) as f32))) as f32))) as f32
744}
745#[inline]
747fn compute_overworld__caves__entrances(
748 noises: &OverworldNoises,
749 cache: &OverworldColumnCache,
750 x: f64,
751 y: f64,
752 z: f64,
753) -> f32 {
754 ({
755 let __sc_a = (((((((noises
756 .n_cave_entrance
757 .get_value(x * 0.75, y * 0.5, z * 0.75)) as f32) + ((0.37) as f32))) as f32)
758 + (({
759 let __coordinate = (y as i32).clamp(-10, 30) - -10;
760 0.3 + __coordinate as f32 * ((0.0 - 0.3) / (30 - -10) as f32)
761 }) as f32))) as f32;
762 let __sc_b = ((((compute_overworld__caves__spaghetti_roughness_function(
763 noises,
764 cache,
765 x,
766 y,
767 z,
768 )) as f32)
769 + ((((((({
770 let __cse_0 = (noises
771 .n_spaghetti_3d_rarity
772 .get_value(x * 2.0, y * 1.0, z * 2.0)) as f32;
773 {
774 let __sc_a = ((({
775 let __branch_input_1 = (__cse_0) as f32;
776 if __branch_input_1 < -0.5 {
777 ((((noises
778 .n_spaghetti_3d_1
779 .get_value(
780 x * 1.3333333333333333,
781 y * 1.3333333333333333,
782 z * 1.3333333333333333,
783 )) as f32) * ((0.75) as f32))) as f32
784 } else {
785 if __branch_input_1 < 0.0 {
786 ((((noises
787 .n_spaghetti_3d_1
788 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
789 * ((1.0) as f32))) as f32
790 } else {
791 if __branch_input_1 < 0.5 {
792 ((((noises
793 .n_spaghetti_3d_1
794 .get_value(
795 x * 0.6666666666666666,
796 y * 0.6666666666666666,
797 z * 0.6666666666666666,
798 )) as f32) * ((1.5) as f32))) as f32
799 } else {
800 ((((noises
801 .n_spaghetti_3d_1
802 .get_value(x * 0.5, y * 0.5, z * 0.5)) as f32)
803 * ((2.0) as f32))) as f32
804 }
805 }
806 }
807 }) as f32)
808 .abs()) as f32;
809 let __sc_b = ((({
810 let __branch_input_2 = (__cse_0) as f32;
811 if __branch_input_2 < -0.5 {
812 ((((noises
813 .n_spaghetti_3d_2
814 .get_value(
815 x * 1.3333333333333333,
816 y * 1.3333333333333333,
817 z * 1.3333333333333333,
818 )) as f32) * ((0.75) as f32))) as f32
819 } else {
820 if __branch_input_2 < 0.0 {
821 ((((noises
822 .n_spaghetti_3d_2
823 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
824 * ((1.0) as f32))) as f32
825 } else {
826 if __branch_input_2 < 0.5 {
827 ((((noises
828 .n_spaghetti_3d_2
829 .get_value(
830 x * 0.6666666666666666,
831 y * 0.6666666666666666,
832 z * 0.6666666666666666,
833 )) as f32) * ((1.5) as f32))) as f32
834 } else {
835 ((((noises
836 .n_spaghetti_3d_2
837 .get_value(x * 0.5, y * 0.5, z * 0.5)) as f32)
838 * ((2.0) as f32))) as f32
839 }
840 }
841 }
842 }) as f32)
843 .abs()) as f32;
844 if __sc_a > __sc_b { __sc_a } else { __sc_b }
845 }
846 }) as f32)
847 + ((((((((noises
848 .n_spaghetti_3d_thickness
849 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
850 * ((-0.011500001) as f32))) as f32) + ((-0.0765) as f32))) as f32)))
851 as f32)
852 .clamp(-1.0, 1.0)) as f32))) as f32;
853 if __sc_a < __sc_b { __sc_a } else { __sc_b }
854 }) as f32
855}
856#[inline]
858fn compute_y(
859 noises: &OverworldNoises,
860 cache: &OverworldColumnCache,
861 x: f64,
862 y: f64,
863 z: f64,
864) -> f32 {
865 ({
866 let __coordinate = (y as i32).clamp(-4064, 4062) - -4064;
867 -4064.0 + __coordinate as f32 * ((4062.0 - -4064.0) / (4062 - -4064) as f32)
868 }) as f32
869}
870#[inline]
872fn compute_overworld__caves__noodle(
873 noises: &OverworldNoises,
874 cache: &OverworldColumnCache,
875 x: f64,
876 y: f64,
877 z: f64,
878) -> f32 {
879 ({
880 let __branch_input_4 = (({
881 let __branch_input_3 = (compute_y(noises, cache, x, y, z)) as f32;
882 if __branch_input_3 >= -60.0 && __branch_input_3 < 321.0 {
883 (noises.n_noodle.get_value(x * 1.0, y * 1.0, z * 1.0)) as f32
884 } else {
885 (-1.0) as f32
886 }
887 }) as f32) as f32;
888 if __branch_input_4 >= -1000000.0 && __branch_input_4 < 0.0 {
889 (64.0) as f32
890 } else {
891 ({
892 let __cse_5 = (compute_y(noises, cache, x, y, z)) as f32;
893 (((({
894 let __branch_input_6 = __cse_5;
895 if __branch_input_6 >= -60.0 && __branch_input_6 < 321.0 {
896 (((((((noises
897 .n_noodle_thickness
898 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
899 * ((-0.025) as f32))) as f32) + ((-0.075) as f32))) as f32
900 } else {
901 (0.0) as f32
902 }
903 }) as f32) as f32)
904 + ((((({
905 let __sc_a = (((({
906 let __branch_input_7 = __cse_5;
907 if __branch_input_7 >= -60.0 && __branch_input_7 < 321.0 {
908 (noises
909 .n_noodle_ridge_a
910 .get_value(
911 x * 2.6666666666666665,
912 y * 2.6666666666666665,
913 z * 2.6666666666666665,
914 )) as f32
915 } else {
916 (0.0) as f32
917 }
918 }) as f32) as f32)
919 .abs()) as f32;
920 let __sc_b = (((({
921 let __branch_input_8 = __cse_5;
922 if __branch_input_8 >= -60.0 && __branch_input_8 < 321.0 {
923 (noises
924 .n_noodle_ridge_b
925 .get_value(
926 x * 2.6666666666666665,
927 y * 2.6666666666666665,
928 z * 2.6666666666666665,
929 )) as f32
930 } else {
931 (0.0) as f32
932 }
933 }) as f32) as f32)
934 .abs()) as f32;
935 if __sc_a > __sc_b { __sc_a } else { __sc_b }
936 }) as f32) * ((1.5) as f32))) as f32))
937 }) as f32
938 }
939 }) as f32
940}
941#[inline]
943fn compute_overworld__caves__pillars(
944 noises: &OverworldNoises,
945 cache: &OverworldColumnCache,
946 x: f64,
947 y: f64,
948 z: f64,
949) -> f32 {
950 ((((((((((noises.n_pillar.get_value(x * 25.0, y * 0.3, z * 25.0)) as f32)
951 * ((2.0) as f32))) as f32)
952 + ((((((((noises.n_pillar_rareness.get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
953 * ((-1.0) as f32))) as f32) + ((-1.0) as f32))) as f32))) as f32)
954 * (({
955 let v = (((((((noises
956 .n_pillar_thickness
957 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32) * ((0.55) as f32)))
958 as f32) + ((0.55) as f32))) as f32;
959 v * v * v
960 }) as f32))) as f32
961}
962#[inline]
964fn compute_overworld__caves__spaghetti_2d_thickness_modulator(
965 noises: &OverworldNoises,
966 cache: &OverworldColumnCache,
967 x: f64,
968 y: f64,
969 z: f64,
970) -> f32 {
971 (((((((noises.n_spaghetti_2d_thickness.get_value(x * 2.0, y * 1.0, z * 2.0)) as f32)
972 * ((-0.34999996) as f32))) as f32) + ((-0.95) as f32))) as f32
973}
974#[inline]
976fn compute_overworld__caves__spaghetti_2d(
977 noises: &OverworldNoises,
978 cache: &OverworldColumnCache,
979 x: f64,
980 y: f64,
981 z: f64,
982) -> f32 {
983 ((({
984 let __cse_9 = (compute_overworld__caves__spaghetti_2d_thickness_modulator(
985 noises,
986 cache,
987 x,
988 y,
989 z,
990 )) as f32;
991 {
992 let __sc_a = (((((({
993 let __branch_input_10 = (noises
994 .n_spaghetti_2d_modulator
995 .get_value(x * 2.0, y * 1.0, z * 2.0)) as f32;
996 if __branch_input_10 < -0.75 {
997 ((((noises.n_spaghetti_2d.get_value(x * 2.0, y * 2.0, z * 2.0))
998 as f32) * ((0.5) as f32))) as f32
999 } else {
1000 if __branch_input_10 < -0.5 {
1001 ((((noises
1002 .n_spaghetti_2d
1003 .get_value(
1004 x * 1.3333333333333333,
1005 y * 1.3333333333333333,
1006 z * 1.3333333333333333,
1007 )) as f32) * ((0.75) as f32))) as f32
1008 } else {
1009 if __branch_input_10 < 0.5 {
1010 ((((noises
1011 .n_spaghetti_2d
1012 .get_value(x * 1.0, y * 1.0, z * 1.0)) as f32)
1013 * ((1.0) as f32))) as f32
1014 } else {
1015 if __branch_input_10 < 0.75 {
1016 ((((noises
1017 .n_spaghetti_2d
1018 .get_value(x * 0.5, y * 0.5, z * 0.5)) as f32)
1019 * ((2.0) as f32))) as f32
1020 } else {
1021 ((((noises
1022 .n_spaghetti_2d
1023 .get_value(
1024 x * 0.3333333333333333,
1025 y * 0.3333333333333333,
1026 z * 0.3333333333333333,
1027 )) as f32) * ((3.0) as f32))) as f32
1028 }
1029 }
1030 }
1031 }
1032 }) as f32)
1033 .abs()) as f32) + ((((__cse_9) * ((0.083) as f32))) as f32))) as f32;
1034 let __sc_b = ({
1035 let v = ((((((((((((cache.inline_noise_0) * ((8.0) as f32))) as f32)
1036 as f32)
1037 + (({
1038 let __coordinate = (y as i32).clamp(-64, 320) - -64;
1039 8.0 + __coordinate as f32 * ((-40.0 - 8.0) / (320 - -64) as f32)
1040 }) as f32))) as f32)
1041 .abs()) as f32) + (__cse_9))) as f32;
1042 v * v * v
1043 }) as f32;
1044 if __sc_a > __sc_b { __sc_a } else { __sc_b }
1045 }
1046 }) as f32)
1047 .clamp(-1.0, 1.0)) as f32
1048}
1049#[inline]
1051fn compute_shift_x(
1052 noises: &OverworldNoises,
1053 cache: &OverworldColumnCache,
1054 x: f64,
1055 z: f64,
1056) -> f32 {
1057 (noises.n_offset.get_value_xz(x * 0.25, z * 0.25) * 4.0) as f32
1058}
1059#[inline]
1061fn compute_shift_z(
1062 noises: &OverworldNoises,
1063 cache: &OverworldColumnCache,
1064 x: f64,
1065 z: f64,
1066) -> f32 {
1067 (noises.n_offset.get_value_xy(z * 0.25, x * 0.25) * 4.0) as f32
1068}
1069#[inline]
1071fn compute_overworld__continents(
1072 noises: &OverworldNoises,
1073 cache: &OverworldColumnCache,
1074 x: f64,
1075 z: f64,
1076) -> f32 {
1077 ({
1078 let dx = (cache.df_shift_x) as f32;
1079 let dz = (cache.df_shift_z) as f32;
1080 noises
1081 .n_continentalness
1082 .get_value_xz(x * 0.25 + f64::from(dx), z * 0.25 + f64::from(dz))
1083 }) as f32
1084}
1085#[inline]
1087fn compute_overworld__erosion(
1088 noises: &OverworldNoises,
1089 cache: &OverworldColumnCache,
1090 x: f64,
1091 z: f64,
1092) -> f32 {
1093 ({
1094 let dx = (cache.df_shift_x) as f32;
1095 let dz = (cache.df_shift_z) as f32;
1096 noises.n_erosion.get_value_xz(x * 0.25 + f64::from(dx), z * 0.25 + f64::from(dz))
1097 }) as f32
1098}
1099#[inline]
1101fn compute_overworld__ridges(
1102 noises: &OverworldNoises,
1103 cache: &OverworldColumnCache,
1104 x: f64,
1105 z: f64,
1106) -> f32 {
1107 ({
1108 let dx = (cache.df_shift_x) as f32;
1109 let dz = (cache.df_shift_z) as f32;
1110 noises.n_ridge.get_value_xz(x * 0.25 + f64::from(dx), z * 0.25 + f64::from(dz))
1111 }) as f32
1112}
1113#[inline]
1115fn compute_overworld__ridges_folded(
1116 noises: &OverworldNoises,
1117 cache: &OverworldColumnCache,
1118 x: f64,
1119 z: f64,
1120) -> f32 {
1121 ((((((((((((((cache.df_overworld__ridges) as f32).abs()) as f32)
1122 + ((-0.6666667) as f32))) as f32)
1123 .abs()) as f32) + ((-0.33333334) as f32))) as f32) * ((-3.0) as f32))) as f32
1124}
1125#[inline]
1127fn compute_overworld__offset(
1128 noises: &OverworldNoises,
1129 cache: &OverworldColumnCache,
1130 x: f64,
1131 z: f64,
1132) -> f32 {
1133 ({
1134 let __lerp_alpha = (1.0) as f32;
1135 if __lerp_alpha == 0.0 {
1136 (0.0) as f32
1137 } else if __lerp_alpha == 1.0 {
1138 ((((-0.50375) as f32)
1139 + (({
1140 let __coord = ((cache.df_overworld__continents) as f32) as f32;
1141 if __coord < -1.1 {
1142 f64::from(0.044 + 0.0 * (__coord - -1.1))
1143 } else if __coord < -1.02 {
1144 let __y1 = 0.044;
1145 let __y2 = -0.2222;
1146 let __t = (__coord - -1.1) / (-1.02 - -1.1);
1147 let __h = -1.02 - -1.1;
1148 let __a = 0.0 * __h - (__y2 - __y1);
1149 let __b = -0.0 * __h + (__y2 - __y1);
1150 let __lerp_y = __y1 + __t * (__y2 - __y1);
1151 let __lerp_ab = __a + __t * (__b - __a);
1152 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1153 } else if __coord < -0.51 {
1154 let __y1 = -0.2222;
1155 let __y2 = -0.2222;
1156 let __t = (__coord - -1.02) / (-0.51 - -1.02);
1157 let __h = -0.51 - -1.02;
1158 let __a = 0.0 * __h - (__y2 - __y1);
1159 let __b = -0.0 * __h + (__y2 - __y1);
1160 let __lerp_y = __y1 + __t * (__y2 - __y1);
1161 let __lerp_ab = __a + __t * (__b - __a);
1162 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1163 } else if __coord < -0.44 {
1164 let __y1 = -0.2222;
1165 let __y2 = -0.12;
1166 let __t = (__coord - -0.51) / (-0.44 - -0.51);
1167 let __h = -0.44 - -0.51;
1168 let __a = 0.0 * __h - (__y2 - __y1);
1169 let __b = -0.0 * __h + (__y2 - __y1);
1170 let __lerp_y = __y1 + __t * (__y2 - __y1);
1171 let __lerp_ab = __a + __t * (__b - __a);
1172 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1173 } else if __coord < -0.18 {
1174 let __y1 = -0.12;
1175 let __y2 = -0.12;
1176 let __t = (__coord - -0.44) / (-0.18 - -0.44);
1177 let __h = -0.18 - -0.44;
1178 let __a = 0.0 * __h - (__y2 - __y1);
1179 let __b = -0.0 * __h + (__y2 - __y1);
1180 let __lerp_y = __y1 + __t * (__y2 - __y1);
1181 let __lerp_ab = __a + __t * (__b - __a);
1182 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1183 } else if __coord < -0.16 {
1184 let __y1 = -0.12;
1185 let __y2 = spline_helper_0(noises, cache, x, z);
1186 let __t = (__coord - -0.18) / (-0.16 - -0.18);
1187 let __h = -0.16 - -0.18;
1188 let __a = 0.0 * __h - (__y2 - __y1);
1189 let __b = -0.0 * __h + (__y2 - __y1);
1190 let __lerp_y = __y1 + __t * (__y2 - __y1);
1191 let __lerp_ab = __a + __t * (__b - __a);
1192 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1193 } else if __coord < -0.15 {
1194 let __y1 = spline_helper_0(noises, cache, x, z);
1195 let __y2 = spline_helper_8(noises, cache, x, z);
1196 let __t = (__coord - -0.16) / (-0.15 - -0.16);
1197 let __h = -0.15 - -0.16;
1198 let __a = 0.0 * __h - (__y2 - __y1);
1199 let __b = -0.0 * __h + (__y2 - __y1);
1200 let __lerp_y = __y1 + __t * (__y2 - __y1);
1201 let __lerp_ab = __a + __t * (__b - __a);
1202 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1203 } else if __coord < -0.1 {
1204 let __y1 = spline_helper_8(noises, cache, x, z);
1205 let __y2 = spline_helper_16(noises, cache, x, z);
1206 let __t = (__coord - -0.15) / (-0.1 - -0.15);
1207 let __h = -0.1 - -0.15;
1208 let __a = 0.0 * __h - (__y2 - __y1);
1209 let __b = -0.0 * __h + (__y2 - __y1);
1210 let __lerp_y = __y1 + __t * (__y2 - __y1);
1211 let __lerp_ab = __a + __t * (__b - __a);
1212 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1213 } else if __coord < 0.25 {
1214 let __y1 = spline_helper_16(noises, cache, x, z);
1215 let __y2 = spline_helper_24(noises, cache, x, z);
1216 let __t = (__coord - -0.1) / (0.25 - -0.1);
1217 let __h = 0.25 - -0.1;
1218 let __a = 0.0 * __h - (__y2 - __y1);
1219 let __b = -0.0 * __h + (__y2 - __y1);
1220 let __lerp_y = __y1 + __t * (__y2 - __y1);
1221 let __lerp_ab = __a + __t * (__b - __a);
1222 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1223 } else if __coord < 1.0 {
1224 let __y1 = spline_helper_24(noises, cache, x, z);
1225 let __y2 = spline_helper_38(noises, cache, x, z);
1226 let __t = (__coord - 0.25) / (1.0 - 0.25);
1227 let __h = 1.0 - 0.25;
1228 let __a = 0.0 * __h - (__y2 - __y1);
1229 let __b = -0.0 * __h + (__y2 - __y1);
1230 let __lerp_y = __y1 + __t * (__y2 - __y1);
1231 let __lerp_ab = __a + __t * (__b - __a);
1232 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1233 } else {
1234 f64::from(
1235 spline_helper_38(noises, cache, x, z) + 0.0 * (__coord - 1.0),
1236 )
1237 }
1238 }) as f32))) as f32
1239 } else {
1240 let __lerp_first = (0.0) as f32;
1241 __lerp_first
1242 + __lerp_alpha
1243 * ((((((-0.50375) as f32)
1244 + (({
1245 let __coord = ((cache.df_overworld__continents) as f32)
1246 as f32;
1247 if __coord < -1.1 {
1248 f64::from(0.044 + 0.0 * (__coord - -1.1))
1249 } else if __coord < -1.02 {
1250 let __y1 = 0.044;
1251 let __y2 = -0.2222;
1252 let __t = (__coord - -1.1) / (-1.02 - -1.1);
1253 let __h = -1.02 - -1.1;
1254 let __a = 0.0 * __h - (__y2 - __y1);
1255 let __b = -0.0 * __h + (__y2 - __y1);
1256 let __lerp_y = __y1 + __t * (__y2 - __y1);
1257 let __lerp_ab = __a + __t * (__b - __a);
1258 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1259 } else if __coord < -0.51 {
1260 let __y1 = -0.2222;
1261 let __y2 = -0.2222;
1262 let __t = (__coord - -1.02) / (-0.51 - -1.02);
1263 let __h = -0.51 - -1.02;
1264 let __a = 0.0 * __h - (__y2 - __y1);
1265 let __b = -0.0 * __h + (__y2 - __y1);
1266 let __lerp_y = __y1 + __t * (__y2 - __y1);
1267 let __lerp_ab = __a + __t * (__b - __a);
1268 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1269 } else if __coord < -0.44 {
1270 let __y1 = -0.2222;
1271 let __y2 = -0.12;
1272 let __t = (__coord - -0.51) / (-0.44 - -0.51);
1273 let __h = -0.44 - -0.51;
1274 let __a = 0.0 * __h - (__y2 - __y1);
1275 let __b = -0.0 * __h + (__y2 - __y1);
1276 let __lerp_y = __y1 + __t * (__y2 - __y1);
1277 let __lerp_ab = __a + __t * (__b - __a);
1278 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1279 } else if __coord < -0.18 {
1280 let __y1 = -0.12;
1281 let __y2 = -0.12;
1282 let __t = (__coord - -0.44) / (-0.18 - -0.44);
1283 let __h = -0.18 - -0.44;
1284 let __a = 0.0 * __h - (__y2 - __y1);
1285 let __b = -0.0 * __h + (__y2 - __y1);
1286 let __lerp_y = __y1 + __t * (__y2 - __y1);
1287 let __lerp_ab = __a + __t * (__b - __a);
1288 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1289 } else if __coord < -0.16 {
1290 let __y1 = -0.12;
1291 let __y2 = spline_helper_0(noises, cache, x, z);
1292 let __t = (__coord - -0.18) / (-0.16 - -0.18);
1293 let __h = -0.16 - -0.18;
1294 let __a = 0.0 * __h - (__y2 - __y1);
1295 let __b = -0.0 * __h + (__y2 - __y1);
1296 let __lerp_y = __y1 + __t * (__y2 - __y1);
1297 let __lerp_ab = __a + __t * (__b - __a);
1298 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1299 } else if __coord < -0.15 {
1300 let __y1 = spline_helper_0(noises, cache, x, z);
1301 let __y2 = spline_helper_8(noises, cache, x, z);
1302 let __t = (__coord - -0.16) / (-0.15 - -0.16);
1303 let __h = -0.15 - -0.16;
1304 let __a = 0.0 * __h - (__y2 - __y1);
1305 let __b = -0.0 * __h + (__y2 - __y1);
1306 let __lerp_y = __y1 + __t * (__y2 - __y1);
1307 let __lerp_ab = __a + __t * (__b - __a);
1308 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1309 } else if __coord < -0.1 {
1310 let __y1 = spline_helper_8(noises, cache, x, z);
1311 let __y2 = spline_helper_16(noises, cache, x, z);
1312 let __t = (__coord - -0.15) / (-0.1 - -0.15);
1313 let __h = -0.1 - -0.15;
1314 let __a = 0.0 * __h - (__y2 - __y1);
1315 let __b = -0.0 * __h + (__y2 - __y1);
1316 let __lerp_y = __y1 + __t * (__y2 - __y1);
1317 let __lerp_ab = __a + __t * (__b - __a);
1318 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1319 } else if __coord < 0.25 {
1320 let __y1 = spline_helper_16(noises, cache, x, z);
1321 let __y2 = spline_helper_24(noises, cache, x, z);
1322 let __t = (__coord - -0.1) / (0.25 - -0.1);
1323 let __h = 0.25 - -0.1;
1324 let __a = 0.0 * __h - (__y2 - __y1);
1325 let __b = -0.0 * __h + (__y2 - __y1);
1326 let __lerp_y = __y1 + __t * (__y2 - __y1);
1327 let __lerp_ab = __a + __t * (__b - __a);
1328 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1329 } else if __coord < 1.0 {
1330 let __y1 = spline_helper_24(noises, cache, x, z);
1331 let __y2 = spline_helper_38(noises, cache, x, z);
1332 let __t = (__coord - 0.25) / (1.0 - 0.25);
1333 let __h = 1.0 - 0.25;
1334 let __a = 0.0 * __h - (__y2 - __y1);
1335 let __b = -0.0 * __h + (__y2 - __y1);
1336 let __lerp_y = __y1 + __t * (__y2 - __y1);
1337 let __lerp_ab = __a + __t * (__b - __a);
1338 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1339 } else {
1340 f64::from(
1341 spline_helper_38(noises, cache, x, z)
1342 + 0.0 * (__coord - 1.0),
1343 )
1344 }
1345 }) as f32))) as f32) - __lerp_first)
1346 }
1347 }) as f32
1348}
1349#[inline]
1351fn compute_overworld__depth(
1352 noises: &OverworldNoises,
1353 cache: &OverworldColumnCache,
1354 x: f64,
1355 y: f64,
1356 z: f64,
1357) -> f32 {
1358 (((({
1359 let __coordinate = (y as i32).clamp(-64, 320) - -64;
1360 1.5 + __coordinate as f32 * ((-1.5 - 1.5) / (320 - -64) as f32)
1361 }) as f32) + ((cache.df_overworld__offset) as f32))) as f32
1362}
1363#[inline]
1365fn compute_overworld__factor(
1366 noises: &OverworldNoises,
1367 cache: &OverworldColumnCache,
1368 x: f64,
1369 z: f64,
1370) -> f32 {
1371 ({
1372 let __lerp_alpha = (1.0) as f32;
1373 if __lerp_alpha == 0.0 {
1374 (10.0) as f32
1375 } else if __lerp_alpha == 1.0 {
1376 ({
1377 let __coord = ((cache.df_overworld__continents) as f32) as f32;
1378 if __coord < -0.19 {
1379 f64::from(3.95 + 0.0 * (__coord - -0.19))
1380 } else if __coord < -0.15 {
1381 let __y1 = 3.95;
1382 let __y2 = spline_helper_52(noises, cache, x, z);
1383 let __t = (__coord - -0.19) / (-0.15 - -0.19);
1384 let __h = -0.15 - -0.19;
1385 let __a = 0.0 * __h - (__y2 - __y1);
1386 let __b = -0.0 * __h + (__y2 - __y1);
1387 let __lerp_y = __y1 + __t * (__y2 - __y1);
1388 let __lerp_ab = __a + __t * (__b - __a);
1389 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1390 } else if __coord < -0.1 {
1391 let __y1 = spline_helper_52(noises, cache, x, z);
1392 let __y2 = spline_helper_63(noises, cache, x, z);
1393 let __t = (__coord - -0.15) / (-0.1 - -0.15);
1394 let __h = -0.1 - -0.15;
1395 let __a = 0.0 * __h - (__y2 - __y1);
1396 let __b = -0.0 * __h + (__y2 - __y1);
1397 let __lerp_y = __y1 + __t * (__y2 - __y1);
1398 let __lerp_ab = __a + __t * (__b - __a);
1399 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1400 } else if __coord < 0.03 {
1401 let __y1 = spline_helper_63(noises, cache, x, z);
1402 let __y2 = spline_helper_74(noises, cache, x, z);
1403 let __t = (__coord - -0.1) / (0.03 - -0.1);
1404 let __h = 0.03 - -0.1;
1405 let __a = 0.0 * __h - (__y2 - __y1);
1406 let __b = -0.0 * __h + (__y2 - __y1);
1407 let __lerp_y = __y1 + __t * (__y2 - __y1);
1408 let __lerp_ab = __a + __t * (__b - __a);
1409 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1410 } else if __coord < 0.06 {
1411 let __y1 = spline_helper_74(noises, cache, x, z);
1412 let __y2 = spline_helper_85(noises, cache, x, z);
1413 let __t = (__coord - 0.03) / (0.06 - 0.03);
1414 let __h = 0.06 - 0.03;
1415 let __a = 0.0 * __h - (__y2 - __y1);
1416 let __b = -0.0 * __h + (__y2 - __y1);
1417 let __lerp_y = __y1 + __t * (__y2 - __y1);
1418 let __lerp_ab = __a + __t * (__b - __a);
1419 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1420 } else {
1421 f64::from(
1422 spline_helper_85(noises, cache, x, z) + 0.0 * (__coord - 0.06),
1423 )
1424 }
1425 }) as f32
1426 } else {
1427 let __lerp_first = (10.0) as f32;
1428 __lerp_first
1429 + __lerp_alpha
1430 * ((({
1431 let __coord = ((cache.df_overworld__continents) as f32) as f32;
1432 if __coord < -0.19 {
1433 f64::from(3.95 + 0.0 * (__coord - -0.19))
1434 } else if __coord < -0.15 {
1435 let __y1 = 3.95;
1436 let __y2 = spline_helper_52(noises, cache, x, z);
1437 let __t = (__coord - -0.19) / (-0.15 - -0.19);
1438 let __h = -0.15 - -0.19;
1439 let __a = 0.0 * __h - (__y2 - __y1);
1440 let __b = -0.0 * __h + (__y2 - __y1);
1441 let __lerp_y = __y1 + __t * (__y2 - __y1);
1442 let __lerp_ab = __a + __t * (__b - __a);
1443 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1444 } else if __coord < -0.1 {
1445 let __y1 = spline_helper_52(noises, cache, x, z);
1446 let __y2 = spline_helper_63(noises, cache, x, z);
1447 let __t = (__coord - -0.15) / (-0.1 - -0.15);
1448 let __h = -0.1 - -0.15;
1449 let __a = 0.0 * __h - (__y2 - __y1);
1450 let __b = -0.0 * __h + (__y2 - __y1);
1451 let __lerp_y = __y1 + __t * (__y2 - __y1);
1452 let __lerp_ab = __a + __t * (__b - __a);
1453 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1454 } else if __coord < 0.03 {
1455 let __y1 = spline_helper_63(noises, cache, x, z);
1456 let __y2 = spline_helper_74(noises, cache, x, z);
1457 let __t = (__coord - -0.1) / (0.03 - -0.1);
1458 let __h = 0.03 - -0.1;
1459 let __a = 0.0 * __h - (__y2 - __y1);
1460 let __b = -0.0 * __h + (__y2 - __y1);
1461 let __lerp_y = __y1 + __t * (__y2 - __y1);
1462 let __lerp_ab = __a + __t * (__b - __a);
1463 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1464 } else if __coord < 0.06 {
1465 let __y1 = spline_helper_74(noises, cache, x, z);
1466 let __y2 = spline_helper_85(noises, cache, x, z);
1467 let __t = (__coord - 0.03) / (0.06 - 0.03);
1468 let __h = 0.06 - 0.03;
1469 let __a = 0.0 * __h - (__y2 - __y1);
1470 let __b = -0.0 * __h + (__y2 - __y1);
1471 let __lerp_y = __y1 + __t * (__y2 - __y1);
1472 let __lerp_ab = __a + __t * (__b - __a);
1473 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1474 } else {
1475 f64::from(
1476 spline_helper_85(noises, cache, x, z)
1477 + 0.0 * (__coord - 0.06),
1478 )
1479 }
1480 }) as f32) - __lerp_first)
1481 }
1482 }) as f32
1483}
1484#[inline]
1486fn compute_overworld__jaggedness(
1487 noises: &OverworldNoises,
1488 cache: &OverworldColumnCache,
1489 x: f64,
1490 z: f64,
1491) -> f32 {
1492 ({
1493 let __lerp_alpha = (1.0) as f32;
1494 if __lerp_alpha == 0.0 {
1495 (0.0) as f32
1496 } else if __lerp_alpha == 1.0 {
1497 ({
1498 let __coord = ((cache.df_overworld__continents) as f32) as f32;
1499 if __coord < -0.11 {
1500 f64::from(0.0 + 0.0 * (__coord - -0.11))
1501 } else if __coord < 0.03 {
1502 let __y1 = 0.0;
1503 let __y2 = spline_helper_100(noises, cache, x, z);
1504 let __t = (__coord - -0.11) / (0.03 - -0.11);
1505 let __h = 0.03 - -0.11;
1506 let __a = 0.0 * __h - (__y2 - __y1);
1507 let __b = -0.0 * __h + (__y2 - __y1);
1508 let __lerp_y = __y1 + __t * (__y2 - __y1);
1509 let __lerp_ab = __a + __t * (__b - __a);
1510 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1511 } else if __coord < 0.65 {
1512 let __y1 = spline_helper_100(noises, cache, x, z);
1513 let __y2 = spline_helper_107(noises, cache, x, z);
1514 let __t = (__coord - 0.03) / (0.65 - 0.03);
1515 let __h = 0.65 - 0.03;
1516 let __a = 0.0 * __h - (__y2 - __y1);
1517 let __b = -0.0 * __h + (__y2 - __y1);
1518 let __lerp_y = __y1 + __t * (__y2 - __y1);
1519 let __lerp_ab = __a + __t * (__b - __a);
1520 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1521 } else {
1522 f64::from(
1523 spline_helper_107(noises, cache, x, z) + 0.0 * (__coord - 0.65),
1524 )
1525 }
1526 }) as f32
1527 } else {
1528 let __lerp_first = (0.0) as f32;
1529 __lerp_first
1530 + __lerp_alpha
1531 * ((({
1532 let __coord = ((cache.df_overworld__continents) as f32) as f32;
1533 if __coord < -0.11 {
1534 f64::from(0.0 + 0.0 * (__coord - -0.11))
1535 } else if __coord < 0.03 {
1536 let __y1 = 0.0;
1537 let __y2 = spline_helper_100(noises, cache, x, z);
1538 let __t = (__coord - -0.11) / (0.03 - -0.11);
1539 let __h = 0.03 - -0.11;
1540 let __a = 0.0 * __h - (__y2 - __y1);
1541 let __b = -0.0 * __h + (__y2 - __y1);
1542 let __lerp_y = __y1 + __t * (__y2 - __y1);
1543 let __lerp_ab = __a + __t * (__b - __a);
1544 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1545 } else if __coord < 0.65 {
1546 let __y1 = spline_helper_100(noises, cache, x, z);
1547 let __y2 = spline_helper_107(noises, cache, x, z);
1548 let __t = (__coord - 0.03) / (0.65 - 0.03);
1549 let __h = 0.65 - 0.03;
1550 let __a = 0.0 * __h - (__y2 - __y1);
1551 let __b = -0.0 * __h + (__y2 - __y1);
1552 let __lerp_y = __y1 + __t * (__y2 - __y1);
1553 let __lerp_ab = __a + __t * (__b - __a);
1554 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
1555 } else {
1556 f64::from(
1557 spline_helper_107(noises, cache, x, z)
1558 + 0.0 * (__coord - 0.65),
1559 )
1560 }
1561 }) as f32) - __lerp_first)
1562 }
1563 }) as f32
1564}
1565#[inline]
1567fn compute_overworld__sloped_cheese(
1568 noises: &OverworldNoises,
1569 cache: &OverworldColumnCache,
1570 x: f64,
1571 y: f64,
1572 z: f64,
1573) -> f32 {
1574 ((((((({
1575 let v = (((((((compute_overworld__depth(noises, cache, x, y, z)) as f32)
1576 + ((((((cache.df_overworld__jaggedness) as f32)
1577 * (({
1578 let v = cache.inline_noise_1;
1579 if v > 0.0 { v } else { v * 0.5 }
1580 }) as f32))) as f32) as f32))) as f32)
1581 * ((cache.df_overworld__factor) as f32))) as f32;
1582 if v > 0.0 { v } else { v * 0.25 }
1583 }) as f32) * ((4.0) as f32))) as f32)
1584 + ((compute_overworld__base_3d_noise(noises, cache, x, y, z)) as f32))) as f32
1585}
1586#[inline]
1588fn compute_overworld__final_density(
1589 noises: &OverworldNoises,
1590 cache: &OverworldColumnCache,
1591 x: f64,
1592 y: f64,
1593 z: f64,
1594) -> f32 {
1595 (((({
1596 let __sc_a = ({
1597 let c = ((((((({
1598 let __lerp_alpha = ({
1599 let __coordinate = (y as i32).clamp(-64, -40) - -64;
1600 0.0 + __coordinate as f32 * ((1.0 - 0.0) / (-40 - -64) as f32)
1601 }) as f32;
1602 if __lerp_alpha == 0.0 {
1603 (0.1171875) as f32
1604 } else if __lerp_alpha == 1.0 {
1605 ({
1606 let __lerp_alpha = ({
1607 let __coordinate = (y as i32).clamp(240, 256) - 240;
1608 1.0
1609 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
1610 }) as f32;
1611 if __lerp_alpha == 0.0 {
1612 (-0.078125) as f32
1613 } else if __lerp_alpha == 1.0 {
1614 ({
1615 let __branch_input_11 = (compute_overworld__sloped_cheese(
1616 noises,
1617 cache,
1618 x,
1619 y,
1620 z,
1621 )) as f32;
1622 let __cse_12 = (compute_overworld__caves__entrances(
1623 noises,
1624 cache,
1625 x,
1626 y,
1627 z,
1628 )) as f32;
1629 if __branch_input_11 >= -1000000.0
1630 && __branch_input_11 < 1.5625
1631 {
1632 ({
1633 let __sc_a = __branch_input_11;
1634 let __sc_b = (((__cse_12) * ((5.0) as f32))) as f32;
1635 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1636 }) as f32
1637 } else {
1638 ({
1639 let __sc_a = ({
1640 let __sc_a = ({
1641 let __sc_a = ((((((({
1642 let v = (noises
1643 .n_cave_layer
1644 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
1645 v * v
1646 }) as f32) * ((4.0) as f32))) as f32)
1647 + ((((((((((noises
1648 .n_cave_cheese
1649 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
1650 as f32) + ((0.27) as f32))) as f32)
1651 .clamp(-1.0, 1.0)) as f32)
1652 + (((((((((__branch_input_11) * ((-0.64) as f32))) as f32)
1653 + ((1.5) as f32))) as f32)
1654 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
1655 let __sc_b = __cse_12;
1656 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1657 }) as f32;
1658 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
1659 noises,
1660 cache,
1661 x,
1662 y,
1663 z,
1664 )) as f32)
1665 + ((compute_overworld__caves__spaghetti_roughness_function(
1666 noises,
1667 cache,
1668 x,
1669 y,
1670 z,
1671 )) as f32))) as f32;
1672 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1673 }) as f32;
1674 let __sc_b = ({
1675 let __branch_input_13 = (compute_overworld__caves__pillars(
1676 noises,
1677 cache,
1678 x,
1679 y,
1680 z,
1681 )) as f32;
1682 if __branch_input_13 >= -1000000.0
1683 && __branch_input_13 < 0.03
1684 {
1685 (-1000000.0) as f32
1686 } else {
1687 __branch_input_13
1688 }
1689 }) as f32;
1690 if __sc_a > __sc_b { __sc_a } else { __sc_b }
1691 }) as f32
1692 }
1693 }) as f32
1694 } else {
1695 let __lerp_first = (-0.078125) as f32;
1696 __lerp_first
1697 + __lerp_alpha
1698 * ((({
1699 let __branch_input_11 = (compute_overworld__sloped_cheese(
1700 noises,
1701 cache,
1702 x,
1703 y,
1704 z,
1705 )) as f32;
1706 let __cse_12 = (compute_overworld__caves__entrances(
1707 noises,
1708 cache,
1709 x,
1710 y,
1711 z,
1712 )) as f32;
1713 if __branch_input_11 >= -1000000.0
1714 && __branch_input_11 < 1.5625
1715 {
1716 ({
1717 let __sc_a = __branch_input_11;
1718 let __sc_b = (((__cse_12) * ((5.0) as f32))) as f32;
1719 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1720 }) as f32
1721 } else {
1722 ({
1723 let __sc_a = ({
1724 let __sc_a = ({
1725 let __sc_a = ((((((({
1726 let v = (noises
1727 .n_cave_layer
1728 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
1729 v * v
1730 }) as f32) * ((4.0) as f32))) as f32)
1731 + ((((((((((noises
1732 .n_cave_cheese
1733 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
1734 as f32) + ((0.27) as f32))) as f32)
1735 .clamp(-1.0, 1.0)) as f32)
1736 + (((((((((__branch_input_11) * ((-0.64) as f32))) as f32)
1737 + ((1.5) as f32))) as f32)
1738 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
1739 let __sc_b = __cse_12;
1740 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1741 }) as f32;
1742 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
1743 noises,
1744 cache,
1745 x,
1746 y,
1747 z,
1748 )) as f32)
1749 + ((compute_overworld__caves__spaghetti_roughness_function(
1750 noises,
1751 cache,
1752 x,
1753 y,
1754 z,
1755 )) as f32))) as f32;
1756 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1757 }) as f32;
1758 let __sc_b = ({
1759 let __branch_input_13 = (compute_overworld__caves__pillars(
1760 noises,
1761 cache,
1762 x,
1763 y,
1764 z,
1765 )) as f32;
1766 if __branch_input_13 >= -1000000.0
1767 && __branch_input_13 < 0.03
1768 {
1769 (-1000000.0) as f32
1770 } else {
1771 __branch_input_13
1772 }
1773 }) as f32;
1774 if __sc_a > __sc_b { __sc_a } else { __sc_b }
1775 }) as f32
1776 }
1777 }) as f32) - __lerp_first)
1778 }
1779 }) as f32
1780 } else {
1781 let __lerp_first = (0.1171875) as f32;
1782 __lerp_first
1783 + __lerp_alpha
1784 * ((({
1785 let __lerp_alpha = ({
1786 let __coordinate = (y as i32).clamp(240, 256) - 240;
1787 1.0
1788 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
1789 }) as f32;
1790 if __lerp_alpha == 0.0 {
1791 (-0.078125) as f32
1792 } else if __lerp_alpha == 1.0 {
1793 ({
1794 let __branch_input_11 = (compute_overworld__sloped_cheese(
1795 noises,
1796 cache,
1797 x,
1798 y,
1799 z,
1800 )) as f32;
1801 let __cse_12 = (compute_overworld__caves__entrances(
1802 noises,
1803 cache,
1804 x,
1805 y,
1806 z,
1807 )) as f32;
1808 if __branch_input_11 >= -1000000.0
1809 && __branch_input_11 < 1.5625
1810 {
1811 ({
1812 let __sc_a = __branch_input_11;
1813 let __sc_b = (((__cse_12) * ((5.0) as f32))) as f32;
1814 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1815 }) as f32
1816 } else {
1817 ({
1818 let __sc_a = ({
1819 let __sc_a = ({
1820 let __sc_a = ((((((({
1821 let v = (noises
1822 .n_cave_layer
1823 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
1824 v * v
1825 }) as f32) * ((4.0) as f32))) as f32)
1826 + ((((((((((noises
1827 .n_cave_cheese
1828 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
1829 as f32) + ((0.27) as f32))) as f32)
1830 .clamp(-1.0, 1.0)) as f32)
1831 + (((((((((__branch_input_11) * ((-0.64) as f32))) as f32)
1832 + ((1.5) as f32))) as f32)
1833 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
1834 let __sc_b = __cse_12;
1835 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1836 }) as f32;
1837 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
1838 noises,
1839 cache,
1840 x,
1841 y,
1842 z,
1843 )) as f32)
1844 + ((compute_overworld__caves__spaghetti_roughness_function(
1845 noises,
1846 cache,
1847 x,
1848 y,
1849 z,
1850 )) as f32))) as f32;
1851 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1852 }) as f32;
1853 let __sc_b = ({
1854 let __branch_input_13 = (compute_overworld__caves__pillars(
1855 noises,
1856 cache,
1857 x,
1858 y,
1859 z,
1860 )) as f32;
1861 if __branch_input_13 >= -1000000.0
1862 && __branch_input_13 < 0.03
1863 {
1864 (-1000000.0) as f32
1865 } else {
1866 __branch_input_13
1867 }
1868 }) as f32;
1869 if __sc_a > __sc_b { __sc_a } else { __sc_b }
1870 }) as f32
1871 }
1872 }) as f32
1873 } else {
1874 let __lerp_first = (-0.078125) as f32;
1875 __lerp_first
1876 + __lerp_alpha
1877 * ((({
1878 let __branch_input_11 = (compute_overworld__sloped_cheese(
1879 noises,
1880 cache,
1881 x,
1882 y,
1883 z,
1884 )) as f32;
1885 let __cse_12 = (compute_overworld__caves__entrances(
1886 noises,
1887 cache,
1888 x,
1889 y,
1890 z,
1891 )) as f32;
1892 if __branch_input_11 >= -1000000.0
1893 && __branch_input_11 < 1.5625
1894 {
1895 ({
1896 let __sc_a = __branch_input_11;
1897 let __sc_b = (((__cse_12) * ((5.0) as f32))) as f32;
1898 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1899 }) as f32
1900 } else {
1901 ({
1902 let __sc_a = ({
1903 let __sc_a = ({
1904 let __sc_a = ((((((({
1905 let v = (noises
1906 .n_cave_layer
1907 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
1908 v * v
1909 }) as f32) * ((4.0) as f32))) as f32)
1910 + ((((((((((noises
1911 .n_cave_cheese
1912 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
1913 as f32) + ((0.27) as f32))) as f32)
1914 .clamp(-1.0, 1.0)) as f32)
1915 + (((((((((__branch_input_11) * ((-0.64) as f32))) as f32)
1916 + ((1.5) as f32))) as f32)
1917 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
1918 let __sc_b = __cse_12;
1919 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1920 }) as f32;
1921 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
1922 noises,
1923 cache,
1924 x,
1925 y,
1926 z,
1927 )) as f32)
1928 + ((compute_overworld__caves__spaghetti_roughness_function(
1929 noises,
1930 cache,
1931 x,
1932 y,
1933 z,
1934 )) as f32))) as f32;
1935 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1936 }) as f32;
1937 let __sc_b = ({
1938 let __branch_input_13 = (compute_overworld__caves__pillars(
1939 noises,
1940 cache,
1941 x,
1942 y,
1943 z,
1944 )) as f32;
1945 if __branch_input_13 >= -1000000.0
1946 && __branch_input_13 < 0.03
1947 {
1948 (-1000000.0) as f32
1949 } else {
1950 __branch_input_13
1951 }
1952 }) as f32;
1953 if __sc_a > __sc_b { __sc_a } else { __sc_b }
1954 }) as f32
1955 }
1956 }) as f32) - __lerp_first)
1957 }
1958 }) as f32) - __lerp_first)
1959 }
1960 }) as f32) as f32) * ((0.64) as f32))) as f32) as f32)
1961 .clamp(-1.0, 1.0);
1962 c / 2.0 - c * c * c / 24.0
1963 }) as f32;
1964 let __sc_b = (compute_overworld__caves__noodle(noises, cache, x, y, z)) as f32;
1965 if __sc_a < __sc_b { __sc_a } else { __sc_b }
1966 }) as f32) + ((0.0) as f32))) as f32
1967}
1968#[inline]
1970fn compute_overworld__ore_vein__toggle(
1971 noises: &OverworldNoises,
1972 cache: &OverworldColumnCache,
1973 x: f64,
1974 y: f64,
1975 z: f64,
1976) -> f32 {
1977 ({
1978 let __branch_input_14 = (compute_y(noises, cache, x, y, z)) as f32;
1979 if __branch_input_14 >= -64.0 && __branch_input_14 < 57.0 {
1980 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
1981 } else {
1982 (0.0) as f32
1983 }
1984 }) as f32
1985}
1986#[inline]
1988fn compute_overworld__ore_vein__mask(
1989 noises: &OverworldNoises,
1990 cache: &OverworldColumnCache,
1991 x: f64,
1992 y: f64,
1993 z: f64,
1994) -> f32 {
1995 ({
1996 let __branch_input_15 = (compute_overworld__ore_vein__toggle(
1997 noises,
1998 cache,
1999 x,
2000 y,
2001 z,
2002 )) as f32;
2003 if __branch_input_15 >= -0.4 && __branch_input_15 < 0.4 {
2004 (-1.0) as f32
2005 } else {
2006 ((((0.08) as f32)
2007 - (({
2008 let __cse_16 = (compute_y(noises, cache, x, y, z)) as f32;
2009 {
2010 let __sc_a = (((({
2011 let __branch_input_17 = __cse_16;
2012 if __branch_input_17 >= -64.0 && __branch_input_17 < 57.0 {
2013 (noises.n_ore_vein_a.get_value(x * 4.0, y * 4.0, z * 4.0))
2014 as f32
2015 } else {
2016 (1.0) as f32
2017 }
2018 }) as f32) as f32)
2019 .abs()) as f32;
2020 let __sc_b = (((({
2021 let __branch_input_18 = __cse_16;
2022 if __branch_input_18 >= -64.0 && __branch_input_18 < 57.0 {
2023 (noises.n_ore_vein_b.get_value(x * 4.0, y * 4.0, z * 4.0))
2024 as f32
2025 } else {
2026 (1.0) as f32
2027 }
2028 }) as f32) as f32)
2029 .abs()) as f32;
2030 if __sc_a > __sc_b { __sc_a } else { __sc_b }
2031 }
2032 }) as f32))) as f32
2033 }
2034 }) as f32
2035}
2036#[inline]
2038fn compute_overworld__ore_vein__copper_density(
2039 noises: &OverworldNoises,
2040 cache: &OverworldColumnCache,
2041 x: f64,
2042 y: f64,
2043 z: f64,
2044) -> f32 {
2045 ({
2046 let __branch_input_19 = (compute_y(noises, cache, x, y, z)) as f32;
2047 if __branch_input_19 >= 0.0 && __branch_input_19 < 50.0 {
2048 ({
2049 let __branch_input_20 = (compute_overworld__ore_vein__mask(
2050 noises,
2051 cache,
2052 x,
2053 y,
2054 z,
2055 )) as f32;
2056 if __branch_input_20 >= 0.0 {
2057 ({
2058 let __branch_input_21 = (((((((compute_overworld__ore_vein__toggle(
2059 noises,
2060 cache,
2061 x,
2062 y,
2063 z,
2064 )) as f32) - ((0.4) as f32))) as f32)
2065 + (((((((((({
2066 let __sc_a = ((((50.0) as f32) - (__branch_input_19)))
2067 as f32;
2068 if __sc_a <= -4064.0 {
2069 __sc_a
2070 } else {
2071 let __sc_b = (((__branch_input_19) - ((0.0) as f32)))
2072 as f32;
2073 if __sc_a < __sc_b { __sc_a } else { __sc_b }
2074 }
2075 }) as f32)
2076 .clamp(0.0, 20.0)) as f32) * ((0.01) as f32))) as f32)
2077 + ((-0.2) as f32))) as f32))) as f32;
2078 if __branch_input_21 >= 0.0 && __branch_input_21 < 1000000.0 {
2079 (0.7) as f32
2080 } else {
2081 (-1.0) as f32
2082 }
2083 }) as f32
2084 } else {
2085 (-1.0) as f32
2086 }
2087 }) as f32
2088 } else {
2089 (-1.0) as f32
2090 }
2091 }) as f32
2092}
2093#[inline]
2095fn compute_overworld__ore_vein__gap(
2096 noises: &OverworldNoises,
2097 cache: &OverworldColumnCache,
2098 x: f64,
2099 y: f64,
2100 z: f64,
2101) -> f32 {
2102 ((((-0.3) as f32)
2103 - ((noises.n_ore_gap.get_value(x * 1.0, y * 1.0, z * 1.0)) as f32))) as f32
2104}
2105#[inline]
2107fn compute_overworld__ore_vein__iron_density(
2108 noises: &OverworldNoises,
2109 cache: &OverworldColumnCache,
2110 x: f64,
2111 y: f64,
2112 z: f64,
2113) -> f32 {
2114 ({
2115 let __branch_input_22 = (compute_y(noises, cache, x, y, z)) as f32;
2116 if __branch_input_22 >= -60.0 && __branch_input_22 < -8.0 {
2117 ({
2118 let __branch_input_23 = (compute_overworld__ore_vein__mask(
2119 noises,
2120 cache,
2121 x,
2122 y,
2123 z,
2124 )) as f32;
2125 if __branch_input_23 >= 0.0 {
2126 ({
2127 let __branch_input_24 = ((((((((-((compute_overworld__ore_vein__toggle(
2128 noises,
2129 cache,
2130 x,
2131 y,
2132 z,
2133 )) as f32))) as f32) - ((0.4) as f32))) as f32)
2134 + (((((((((({
2135 let __sc_a = ((((-8.0) as f32) - (__branch_input_22)))
2136 as f32;
2137 if __sc_a <= -4004.0 {
2138 __sc_a
2139 } else {
2140 let __sc_b = (((__branch_input_22) - ((-60.0) as f32)))
2141 as f32;
2142 if __sc_a < __sc_b { __sc_a } else { __sc_b }
2143 }
2144 }) as f32)
2145 .clamp(0.0, 20.0)) as f32) * ((0.01) as f32))) as f32)
2146 + ((-0.2) as f32))) as f32))) as f32;
2147 if __branch_input_24 >= 0.0 && __branch_input_24 < 1000000.0 {
2148 (0.7) as f32
2149 } else {
2150 (-1.0) as f32
2151 }
2152 }) as f32
2153 } else {
2154 (-1.0) as f32
2155 }
2156 }) as f32
2157 } else {
2158 (-1.0) as f32
2159 }
2160 }) as f32
2161}
2162#[inline]
2164fn compute_overworld__ore_vein__richness(
2165 noises: &OverworldNoises,
2166 cache: &OverworldColumnCache,
2167 x: f64,
2168 y: f64,
2169 z: f64,
2170) -> f32 {
2171 (((((((((((compute_overworld__ore_vein__toggle(noises, cache, x, y, z)) as f32)
2172 .abs()) as f32)
2173 .clamp(0.4, 0.6)) as f32) * ((1.0) as f32))) as f32) + ((-0.3) as f32))) as f32
2174}
2175#[inline]
2177fn compute_overworld__preliminary_surface_level(
2178 noises: &OverworldNoises,
2179 cache: &OverworldColumnCache,
2180 x: f64,
2181 z: f64,
2182) -> f32 {
2183 ({
2184 let __upper = (((((((((((((((0.2734375) as f32)
2185 / ((cache.df_overworld__factor) as f32))) as f32)
2186 - ((cache.df_overworld__offset) as f32))) as f32) * ((-128.0) as f32)))
2187 as f32) + ((128.0) as f32))) as f32)
2188 .clamp(-40.0, 320.0)) as f32;
2189 let __top_y = (__upper / 8 as f32).floor() as i32 * 8;
2190 if __top_y <= -64 {
2191 -64 as f32
2192 } else {
2193 let mut __result = -64;
2194 let mut y = __top_y;
2195 while y >= -64 {
2196 let __d = (((({
2197 let __lerp_alpha = ({
2198 let __coordinate = (y as i32).clamp(-64, -40) - -64;
2199 0.0 + __coordinate as f32 * ((1.0 - 0.0) / (-40 - -64) as f32)
2200 }) as f32;
2201 if __lerp_alpha == 0.0 {
2202 (0.1171875) as f32
2203 } else if __lerp_alpha == 1.0 {
2204 ({
2205 let __lerp_alpha = ({
2206 let __coordinate = (y as i32).clamp(240, 256) - 240;
2207 1.0
2208 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
2209 }) as f32;
2210 if __lerp_alpha == 0.0 {
2211 (-0.078125) as f32
2212 } else if __lerp_alpha == 1.0 {
2213 ((((((((({
2214 let v = ((((((({
2215 let __coordinate = (y as i32).clamp(-64, 320) - -64;
2216 1.5
2217 + __coordinate as f32 * ((-1.5 - 1.5) / (320 - -64) as f32)
2218 }) as f32) + ((cache.df_overworld__offset) as f32))) as f32)
2219 * ((cache.df_overworld__factor) as f32))) as f32;
2220 if v > 0.0 { v } else { v * 0.25 }
2221 }) as f32) * ((4.0) as f32))) as f32)
2222 + ((-0.703125) as f32))) as f32)
2223 .clamp(-64.0, 64.0)) as f32
2224 } else {
2225 let __lerp_first = (-0.078125) as f32;
2226 __lerp_first
2227 + __lerp_alpha
2228 * ((((((((((({
2229 let v = ((((((({
2230 let __coordinate = (y as i32).clamp(-64, 320) - -64;
2231 1.5
2232 + __coordinate as f32 * ((-1.5 - 1.5) / (320 - -64) as f32)
2233 }) as f32) + ((cache.df_overworld__offset) as f32))) as f32)
2234 * ((cache.df_overworld__factor) as f32))) as f32;
2235 if v > 0.0 { v } else { v * 0.25 }
2236 }) as f32) * ((4.0) as f32))) as f32)
2237 + ((-0.703125) as f32))) as f32)
2238 .clamp(-64.0, 64.0)) as f32) - __lerp_first)
2239 }
2240 }) as f32
2241 } else {
2242 let __lerp_first = (0.1171875) as f32;
2243 __lerp_first
2244 + __lerp_alpha
2245 * ((({
2246 let __lerp_alpha = ({
2247 let __coordinate = (y as i32).clamp(240, 256) - 240;
2248 1.0
2249 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
2250 }) as f32;
2251 if __lerp_alpha == 0.0 {
2252 (-0.078125) as f32
2253 } else if __lerp_alpha == 1.0 {
2254 ((((((((({
2255 let v = ((((((({
2256 let __coordinate = (y as i32).clamp(-64, 320) - -64;
2257 1.5
2258 + __coordinate as f32 * ((-1.5 - 1.5) / (320 - -64) as f32)
2259 }) as f32) + ((cache.df_overworld__offset) as f32))) as f32)
2260 * ((cache.df_overworld__factor) as f32))) as f32;
2261 if v > 0.0 { v } else { v * 0.25 }
2262 }) as f32) * ((4.0) as f32))) as f32)
2263 + ((-0.703125) as f32))) as f32)
2264 .clamp(-64.0, 64.0)) as f32
2265 } else {
2266 let __lerp_first = (-0.078125) as f32;
2267 __lerp_first
2268 + __lerp_alpha
2269 * ((((((((((({
2270 let v = ((((((({
2271 let __coordinate = (y as i32).clamp(-64, 320) - -64;
2272 1.5
2273 + __coordinate as f32 * ((-1.5 - 1.5) / (320 - -64) as f32)
2274 }) as f32) + ((cache.df_overworld__offset) as f32))) as f32)
2275 * ((cache.df_overworld__factor) as f32))) as f32;
2276 if v > 0.0 { v } else { v * 0.25 }
2277 }) as f32) * ((4.0) as f32))) as f32)
2278 + ((-0.703125) as f32))) as f32)
2279 .clamp(-64.0, 64.0)) as f32) - __lerp_first)
2280 }
2281 }) as f32) - __lerp_first)
2282 }
2283 }) as f32) + ((-0.390625) as f32))) as f32;
2284 if __d > 0.0 {
2285 __result = y;
2286 break;
2287 }
2288 y -= 8;
2289 }
2290 __result as f32
2291 }
2292 }) as f32
2293}
2294#[inline]
2296fn compute_overworld__temperature(
2297 noises: &OverworldNoises,
2298 cache: &OverworldColumnCache,
2299 x: f64,
2300 z: f64,
2301) -> f32 {
2302 ({
2303 let dx = (cache.df_shift_x) as f32;
2304 let dz = (cache.df_shift_z) as f32;
2305 noises
2306 .n_temperature
2307 .get_value_xz(x * 0.25 + f64::from(dx), z * 0.25 + f64::from(dz))
2308 }) as f32
2309}
2310#[inline]
2312fn compute_overworld__vegetation(
2313 noises: &OverworldNoises,
2314 cache: &OverworldColumnCache,
2315 x: f64,
2316 z: f64,
2317) -> f32 {
2318 ({
2319 let dx = (cache.df_shift_x) as f32;
2320 let dz = (cache.df_shift_z) as f32;
2321 noises
2322 .n_vegetation
2323 .get_value_xz(x * 0.25 + f64::from(dx), z * 0.25 + f64::from(dz))
2324 }) as f32
2325}
2326#[inline]
2327fn spline_helper_1(
2328 noises: &OverworldNoises,
2329 cache: &OverworldColumnCache,
2330 x: f64,
2331 z: f64,
2332) -> f32 {
2333 ({
2334 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2335 if __coord < -1.0 {
2336 f64::from(-0.08880186 + 0.38940096 * (__coord - -1.0))
2337 } else if __coord < 1.0 {
2338 let __y1 = -0.08880186;
2339 let __y2 = 0.69000006;
2340 let __t = (__coord - -1.0) / (1.0 - -1.0);
2341 let __h = 1.0 - -1.0;
2342 let __a = 0.38940096 * __h - (__y2 - __y1);
2343 let __b = -0.38940096 * __h + (__y2 - __y1);
2344 let __lerp_y = __y1 + __t * (__y2 - __y1);
2345 let __lerp_ab = __a + __t * (__b - __a);
2346 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2347 } else {
2348 f64::from(0.69000006 + 0.38940096 * (__coord - 1.0))
2349 }
2350 }) as f32
2351}
2352#[inline]
2353fn spline_helper_2(
2354 noises: &OverworldNoises,
2355 cache: &OverworldColumnCache,
2356 x: f64,
2357 z: f64,
2358) -> f32 {
2359 ({
2360 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2361 if __coord < -1.0 {
2362 f64::from(-0.115760356 + 0.37788022 * (__coord - -1.0))
2363 } else if __coord < 1.0 {
2364 let __y1 = -0.115760356;
2365 let __y2 = 0.6400001;
2366 let __t = (__coord - -1.0) / (1.0 - -1.0);
2367 let __h = 1.0 - -1.0;
2368 let __a = 0.37788022 * __h - (__y2 - __y1);
2369 let __b = -0.37788022 * __h + (__y2 - __y1);
2370 let __lerp_y = __y1 + __t * (__y2 - __y1);
2371 let __lerp_ab = __a + __t * (__b - __a);
2372 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2373 } else {
2374 f64::from(0.6400001 + 0.37788022 * (__coord - 1.0))
2375 }
2376 }) as f32
2377}
2378#[inline]
2379fn spline_helper_3(
2380 noises: &OverworldNoises,
2381 cache: &OverworldColumnCache,
2382 x: f64,
2383 z: f64,
2384) -> f32 {
2385 ({
2386 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2387 if __coord < -1.0 {
2388 f64::from(-0.2222 + 0.0 * (__coord - -1.0))
2389 } else if __coord < -0.75 {
2390 let __y1 = -0.2222;
2391 let __y2 = -0.2222;
2392 let __t = (__coord - -1.0) / (-0.75 - -1.0);
2393 let __h = -0.75 - -1.0;
2394 let __a = 0.0 * __h - (__y2 - __y1);
2395 let __b = -0.0 * __h + (__y2 - __y1);
2396 let __lerp_y = __y1 + __t * (__y2 - __y1);
2397 let __lerp_ab = __a + __t * (__b - __a);
2398 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2399 } else if __coord < -0.65 {
2400 let __y1 = -0.2222;
2401 let __y2 = 0.0;
2402 let __t = (__coord - -0.75) / (-0.65 - -0.75);
2403 let __h = -0.65 - -0.75;
2404 let __a = 0.0 * __h - (__y2 - __y1);
2405 let __b = -0.0 * __h + (__y2 - __y1);
2406 let __lerp_y = __y1 + __t * (__y2 - __y1);
2407 let __lerp_ab = __a + __t * (__b - __a);
2408 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2409 } else if __coord < 0.5954547 {
2410 let __y1 = 0.0;
2411 let __y2 = 0.000000029802322;
2412 let __t = (__coord - -0.65) / (0.5954547 - -0.65);
2413 let __h = 0.5954547 - -0.65;
2414 let __a = 0.0 * __h - (__y2 - __y1);
2415 let __b = -0.0 * __h + (__y2 - __y1);
2416 let __lerp_y = __y1 + __t * (__y2 - __y1);
2417 let __lerp_ab = __a + __t * (__b - __a);
2418 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2419 } else if __coord < 0.6054547 {
2420 let __y1 = 0.000000029802322;
2421 let __y2 = 0.000000029802322;
2422 let __t = (__coord - 0.5954547) / (0.6054547 - 0.5954547);
2423 let __h = 0.6054547 - 0.5954547;
2424 let __a = 0.0 * __h - (__y2 - __y1);
2425 let __b = -0.2534563 * __h + (__y2 - __y1);
2426 let __lerp_y = __y1 + __t * (__y2 - __y1);
2427 let __lerp_ab = __a + __t * (__b - __a);
2428 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2429 } else if __coord < 1.0 {
2430 let __y1 = 0.000000029802322;
2431 let __y2 = 0.100000024;
2432 let __t = (__coord - 0.6054547) / (1.0 - 0.6054547);
2433 let __h = 1.0 - 0.6054547;
2434 let __a = 0.2534563 * __h - (__y2 - __y1);
2435 let __b = -0.2534563 * __h + (__y2 - __y1);
2436 let __lerp_y = __y1 + __t * (__y2 - __y1);
2437 let __lerp_ab = __a + __t * (__b - __a);
2438 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2439 } else {
2440 f64::from(0.100000024 + 0.2534563 * (__coord - 1.0))
2441 }
2442 }) as f32
2443}
2444#[inline]
2445fn spline_helper_4(
2446 noises: &OverworldNoises,
2447 cache: &OverworldColumnCache,
2448 x: f64,
2449 z: f64,
2450) -> f32 {
2451 ({
2452 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2453 if __coord < -1.0 {
2454 f64::from(-0.3 + 0.5 * (__coord - -1.0))
2455 } else if __coord < -0.4 {
2456 let __y1 = -0.3;
2457 let __y2 = 0.05;
2458 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2459 let __h = -0.4 - -1.0;
2460 let __a = 0.5 * __h - (__y2 - __y1);
2461 let __b = -0.0 * __h + (__y2 - __y1);
2462 let __lerp_y = __y1 + __t * (__y2 - __y1);
2463 let __lerp_ab = __a + __t * (__b - __a);
2464 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2465 } else if __coord < 0.0 {
2466 let __y1 = 0.05;
2467 let __y2 = 0.05;
2468 let __t = (__coord - -0.4) / (0.0 - -0.4);
2469 let __h = 0.0 - -0.4;
2470 let __a = 0.0 * __h - (__y2 - __y1);
2471 let __b = -0.0 * __h + (__y2 - __y1);
2472 let __lerp_y = __y1 + __t * (__y2 - __y1);
2473 let __lerp_ab = __a + __t * (__b - __a);
2474 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2475 } else if __coord < 0.4 {
2476 let __y1 = 0.05;
2477 let __y2 = 0.05;
2478 let __t = (__coord - 0.0) / (0.4 - 0.0);
2479 let __h = 0.4 - 0.0;
2480 let __a = 0.0 * __h - (__y2 - __y1);
2481 let __b = -0.0 * __h + (__y2 - __y1);
2482 let __lerp_y = __y1 + __t * (__y2 - __y1);
2483 let __lerp_ab = __a + __t * (__b - __a);
2484 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2485 } else if __coord < 1.0 {
2486 let __y1 = 0.05;
2487 let __y2 = 0.060000002;
2488 let __t = (__coord - 0.4) / (1.0 - 0.4);
2489 let __h = 1.0 - 0.4;
2490 let __a = 0.0 * __h - (__y2 - __y1);
2491 let __b = -0.007000001 * __h + (__y2 - __y1);
2492 let __lerp_y = __y1 + __t * (__y2 - __y1);
2493 let __lerp_ab = __a + __t * (__b - __a);
2494 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2495 } else {
2496 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
2497 }
2498 }) as f32
2499}
2500#[inline]
2501fn spline_helper_5(
2502 noises: &OverworldNoises,
2503 cache: &OverworldColumnCache,
2504 x: f64,
2505 z: f64,
2506) -> f32 {
2507 ({
2508 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2509 if __coord < -1.0 {
2510 f64::from(-0.15 + 0.5 * (__coord - -1.0))
2511 } else if __coord < -0.4 {
2512 let __y1 = -0.15;
2513 let __y2 = 0.0;
2514 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2515 let __h = -0.4 - -1.0;
2516 let __a = 0.5 * __h - (__y2 - __y1);
2517 let __b = -0.0 * __h + (__y2 - __y1);
2518 let __lerp_y = __y1 + __t * (__y2 - __y1);
2519 let __lerp_ab = __a + __t * (__b - __a);
2520 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2521 } else if __coord < 0.0 {
2522 let __y1 = 0.0;
2523 let __y2 = 0.0;
2524 let __t = (__coord - -0.4) / (0.0 - -0.4);
2525 let __h = 0.0 - -0.4;
2526 let __a = 0.0 * __h - (__y2 - __y1);
2527 let __b = -0.0 * __h + (__y2 - __y1);
2528 let __lerp_y = __y1 + __t * (__y2 - __y1);
2529 let __lerp_ab = __a + __t * (__b - __a);
2530 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2531 } else if __coord < 0.4 {
2532 let __y1 = 0.0;
2533 let __y2 = 0.05;
2534 let __t = (__coord - 0.0) / (0.4 - 0.0);
2535 let __h = 0.4 - 0.0;
2536 let __a = 0.0 * __h - (__y2 - __y1);
2537 let __b = -0.1 * __h + (__y2 - __y1);
2538 let __lerp_y = __y1 + __t * (__y2 - __y1);
2539 let __lerp_ab = __a + __t * (__b - __a);
2540 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2541 } else if __coord < 1.0 {
2542 let __y1 = 0.05;
2543 let __y2 = 0.060000002;
2544 let __t = (__coord - 0.4) / (1.0 - 0.4);
2545 let __h = 1.0 - 0.4;
2546 let __a = 0.1 * __h - (__y2 - __y1);
2547 let __b = -0.007000001 * __h + (__y2 - __y1);
2548 let __lerp_y = __y1 + __t * (__y2 - __y1);
2549 let __lerp_ab = __a + __t * (__b - __a);
2550 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2551 } else {
2552 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
2553 }
2554 }) as f32
2555}
2556#[inline]
2557fn spline_helper_6(
2558 noises: &OverworldNoises,
2559 cache: &OverworldColumnCache,
2560 x: f64,
2561 z: f64,
2562) -> f32 {
2563 ({
2564 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2565 if __coord < -1.0 {
2566 f64::from(-0.15 + 0.5 * (__coord - -1.0))
2567 } else if __coord < -0.4 {
2568 let __y1 = -0.15;
2569 let __y2 = 0.0;
2570 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2571 let __h = -0.4 - -1.0;
2572 let __a = 0.5 * __h - (__y2 - __y1);
2573 let __b = -0.0 * __h + (__y2 - __y1);
2574 let __lerp_y = __y1 + __t * (__y2 - __y1);
2575 let __lerp_ab = __a + __t * (__b - __a);
2576 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2577 } else if __coord < 0.0 {
2578 let __y1 = 0.0;
2579 let __y2 = 0.0;
2580 let __t = (__coord - -0.4) / (0.0 - -0.4);
2581 let __h = 0.0 - -0.4;
2582 let __a = 0.0 * __h - (__y2 - __y1);
2583 let __b = -0.0 * __h + (__y2 - __y1);
2584 let __lerp_y = __y1 + __t * (__y2 - __y1);
2585 let __lerp_ab = __a + __t * (__b - __a);
2586 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2587 } else if __coord < 0.4 {
2588 let __y1 = 0.0;
2589 let __y2 = 0.0;
2590 let __t = (__coord - 0.0) / (0.4 - 0.0);
2591 let __h = 0.4 - 0.0;
2592 let __a = 0.0 * __h - (__y2 - __y1);
2593 let __b = -0.0 * __h + (__y2 - __y1);
2594 let __lerp_y = __y1 + __t * (__y2 - __y1);
2595 let __lerp_ab = __a + __t * (__b - __a);
2596 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2597 } else if __coord < 1.0 {
2598 let __y1 = 0.0;
2599 let __y2 = 0.0;
2600 let __t = (__coord - 0.4) / (1.0 - 0.4);
2601 let __h = 1.0 - 0.4;
2602 let __a = 0.0 * __h - (__y2 - __y1);
2603 let __b = -0.0 * __h + (__y2 - __y1);
2604 let __lerp_y = __y1 + __t * (__y2 - __y1);
2605 let __lerp_ab = __a + __t * (__b - __a);
2606 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2607 } else {
2608 f64::from(0.0 + 0.0 * (__coord - 1.0))
2609 }
2610 }) as f32
2611}
2612#[inline]
2613fn spline_helper_7(
2614 noises: &OverworldNoises,
2615 cache: &OverworldColumnCache,
2616 x: f64,
2617 z: f64,
2618) -> f32 {
2619 ({
2620 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2621 if __coord < -1.0 {
2622 f64::from(-0.02 + 0.0 * (__coord - -1.0))
2623 } else if __coord < -0.4 {
2624 let __y1 = -0.02;
2625 let __y2 = -0.03;
2626 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2627 let __h = -0.4 - -1.0;
2628 let __a = 0.0 * __h - (__y2 - __y1);
2629 let __b = -0.0 * __h + (__y2 - __y1);
2630 let __lerp_y = __y1 + __t * (__y2 - __y1);
2631 let __lerp_ab = __a + __t * (__b - __a);
2632 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2633 } else if __coord < 0.0 {
2634 let __y1 = -0.03;
2635 let __y2 = -0.03;
2636 let __t = (__coord - -0.4) / (0.0 - -0.4);
2637 let __h = 0.0 - -0.4;
2638 let __a = 0.0 * __h - (__y2 - __y1);
2639 let __b = -0.0 * __h + (__y2 - __y1);
2640 let __lerp_y = __y1 + __t * (__y2 - __y1);
2641 let __lerp_ab = __a + __t * (__b - __a);
2642 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2643 } else if __coord < 0.4 {
2644 let __y1 = -0.03;
2645 let __y2 = 0.0;
2646 let __t = (__coord - 0.0) / (0.4 - 0.0);
2647 let __h = 0.4 - 0.0;
2648 let __a = 0.0 * __h - (__y2 - __y1);
2649 let __b = -0.06 * __h + (__y2 - __y1);
2650 let __lerp_y = __y1 + __t * (__y2 - __y1);
2651 let __lerp_ab = __a + __t * (__b - __a);
2652 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2653 } else if __coord < 1.0 {
2654 let __y1 = 0.0;
2655 let __y2 = 0.0;
2656 let __t = (__coord - 0.4) / (1.0 - 0.4);
2657 let __h = 1.0 - 0.4;
2658 let __a = 0.06 * __h - (__y2 - __y1);
2659 let __b = -0.0 * __h + (__y2 - __y1);
2660 let __lerp_y = __y1 + __t * (__y2 - __y1);
2661 let __lerp_ab = __a + __t * (__b - __a);
2662 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2663 } else {
2664 f64::from(0.0 + 0.0 * (__coord - 1.0))
2665 }
2666 }) as f32
2667}
2668#[inline]
2669fn spline_helper_0(
2670 noises: &OverworldNoises,
2671 cache: &OverworldColumnCache,
2672 x: f64,
2673 z: f64,
2674) -> f32 {
2675 ({
2676 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
2677 if __coord < -0.85 {
2678 f64::from(spline_helper_1(noises, cache, x, z) + 0.0 * (__coord - -0.85))
2679 } else if __coord < -0.7 {
2680 let __y1 = spline_helper_1(noises, cache, x, z);
2681 let __y2 = spline_helper_2(noises, cache, x, z);
2682 let __t = (__coord - -0.85) / (-0.7 - -0.85);
2683 let __h = -0.7 - -0.85;
2684 let __a = 0.0 * __h - (__y2 - __y1);
2685 let __b = -0.0 * __h + (__y2 - __y1);
2686 let __lerp_y = __y1 + __t * (__y2 - __y1);
2687 let __lerp_ab = __a + __t * (__b - __a);
2688 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2689 } else if __coord < -0.4 {
2690 let __y1 = spline_helper_2(noises, cache, x, z);
2691 let __y2 = spline_helper_3(noises, cache, x, z);
2692 let __t = (__coord - -0.7) / (-0.4 - -0.7);
2693 let __h = -0.4 - -0.7;
2694 let __a = 0.0 * __h - (__y2 - __y1);
2695 let __b = -0.0 * __h + (__y2 - __y1);
2696 let __lerp_y = __y1 + __t * (__y2 - __y1);
2697 let __lerp_ab = __a + __t * (__b - __a);
2698 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2699 } else if __coord < -0.35 {
2700 let __y1 = spline_helper_3(noises, cache, x, z);
2701 let __y2 = spline_helper_4(noises, cache, x, z);
2702 let __t = (__coord - -0.4) / (-0.35 - -0.4);
2703 let __h = -0.35 - -0.4;
2704 let __a = 0.0 * __h - (__y2 - __y1);
2705 let __b = -0.0 * __h + (__y2 - __y1);
2706 let __lerp_y = __y1 + __t * (__y2 - __y1);
2707 let __lerp_ab = __a + __t * (__b - __a);
2708 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2709 } else if __coord < -0.1 {
2710 let __y1 = spline_helper_4(noises, cache, x, z);
2711 let __y2 = spline_helper_5(noises, cache, x, z);
2712 let __t = (__coord - -0.35) / (-0.1 - -0.35);
2713 let __h = -0.1 - -0.35;
2714 let __a = 0.0 * __h - (__y2 - __y1);
2715 let __b = -0.0 * __h + (__y2 - __y1);
2716 let __lerp_y = __y1 + __t * (__y2 - __y1);
2717 let __lerp_ab = __a + __t * (__b - __a);
2718 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2719 } else if __coord < 0.2 {
2720 let __y1 = spline_helper_5(noises, cache, x, z);
2721 let __y2 = spline_helper_6(noises, cache, x, z);
2722 let __t = (__coord - -0.1) / (0.2 - -0.1);
2723 let __h = 0.2 - -0.1;
2724 let __a = 0.0 * __h - (__y2 - __y1);
2725 let __b = -0.0 * __h + (__y2 - __y1);
2726 let __lerp_y = __y1 + __t * (__y2 - __y1);
2727 let __lerp_ab = __a + __t * (__b - __a);
2728 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2729 } else if __coord < 0.7 {
2730 let __y1 = spline_helper_6(noises, cache, x, z);
2731 let __y2 = spline_helper_7(noises, cache, x, z);
2732 let __t = (__coord - 0.2) / (0.7 - 0.2);
2733 let __h = 0.7 - 0.2;
2734 let __a = 0.0 * __h - (__y2 - __y1);
2735 let __b = -0.0 * __h + (__y2 - __y1);
2736 let __lerp_y = __y1 + __t * (__y2 - __y1);
2737 let __lerp_ab = __a + __t * (__b - __a);
2738 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2739 } else {
2740 f64::from(spline_helper_7(noises, cache, x, z) + 0.0 * (__coord - 0.7))
2741 }
2742 }) as f32
2743}
2744#[inline]
2745fn spline_helper_9(
2746 noises: &OverworldNoises,
2747 cache: &OverworldColumnCache,
2748 x: f64,
2749 z: f64,
2750) -> f32 {
2751 ({
2752 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2753 if __coord < -1.0 {
2754 f64::from(-0.08880186 + 0.38940096 * (__coord - -1.0))
2755 } else if __coord < 1.0 {
2756 let __y1 = -0.08880186;
2757 let __y2 = 0.69000006;
2758 let __t = (__coord - -1.0) / (1.0 - -1.0);
2759 let __h = 1.0 - -1.0;
2760 let __a = 0.38940096 * __h - (__y2 - __y1);
2761 let __b = -0.38940096 * __h + (__y2 - __y1);
2762 let __lerp_y = __y1 + __t * (__y2 - __y1);
2763 let __lerp_ab = __a + __t * (__b - __a);
2764 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2765 } else {
2766 f64::from(0.69000006 + 0.38940096 * (__coord - 1.0))
2767 }
2768 }) as f32
2769}
2770#[inline]
2771fn spline_helper_10(
2772 noises: &OverworldNoises,
2773 cache: &OverworldColumnCache,
2774 x: f64,
2775 z: f64,
2776) -> f32 {
2777 ({
2778 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2779 if __coord < -1.0 {
2780 f64::from(-0.115760356 + 0.37788022 * (__coord - -1.0))
2781 } else if __coord < 1.0 {
2782 let __y1 = -0.115760356;
2783 let __y2 = 0.6400001;
2784 let __t = (__coord - -1.0) / (1.0 - -1.0);
2785 let __h = 1.0 - -1.0;
2786 let __a = 0.37788022 * __h - (__y2 - __y1);
2787 let __b = -0.37788022 * __h + (__y2 - __y1);
2788 let __lerp_y = __y1 + __t * (__y2 - __y1);
2789 let __lerp_ab = __a + __t * (__b - __a);
2790 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2791 } else {
2792 f64::from(0.6400001 + 0.37788022 * (__coord - 1.0))
2793 }
2794 }) as f32
2795}
2796#[inline]
2797fn spline_helper_11(
2798 noises: &OverworldNoises,
2799 cache: &OverworldColumnCache,
2800 x: f64,
2801 z: f64,
2802) -> f32 {
2803 ({
2804 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2805 if __coord < -1.0 {
2806 f64::from(-0.2222 + 0.0 * (__coord - -1.0))
2807 } else if __coord < -0.75 {
2808 let __y1 = -0.2222;
2809 let __y2 = -0.2222;
2810 let __t = (__coord - -1.0) / (-0.75 - -1.0);
2811 let __h = -0.75 - -1.0;
2812 let __a = 0.0 * __h - (__y2 - __y1);
2813 let __b = -0.0 * __h + (__y2 - __y1);
2814 let __lerp_y = __y1 + __t * (__y2 - __y1);
2815 let __lerp_ab = __a + __t * (__b - __a);
2816 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2817 } else if __coord < -0.65 {
2818 let __y1 = -0.2222;
2819 let __y2 = 0.0;
2820 let __t = (__coord - -0.75) / (-0.65 - -0.75);
2821 let __h = -0.65 - -0.75;
2822 let __a = 0.0 * __h - (__y2 - __y1);
2823 let __b = -0.0 * __h + (__y2 - __y1);
2824 let __lerp_y = __y1 + __t * (__y2 - __y1);
2825 let __lerp_ab = __a + __t * (__b - __a);
2826 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2827 } else if __coord < 0.5954547 {
2828 let __y1 = 0.0;
2829 let __y2 = 0.000000029802322;
2830 let __t = (__coord - -0.65) / (0.5954547 - -0.65);
2831 let __h = 0.5954547 - -0.65;
2832 let __a = 0.0 * __h - (__y2 - __y1);
2833 let __b = -0.0 * __h + (__y2 - __y1);
2834 let __lerp_y = __y1 + __t * (__y2 - __y1);
2835 let __lerp_ab = __a + __t * (__b - __a);
2836 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2837 } else if __coord < 0.6054547 {
2838 let __y1 = 0.000000029802322;
2839 let __y2 = 0.000000029802322;
2840 let __t = (__coord - 0.5954547) / (0.6054547 - 0.5954547);
2841 let __h = 0.6054547 - 0.5954547;
2842 let __a = 0.0 * __h - (__y2 - __y1);
2843 let __b = -0.2534563 * __h + (__y2 - __y1);
2844 let __lerp_y = __y1 + __t * (__y2 - __y1);
2845 let __lerp_ab = __a + __t * (__b - __a);
2846 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2847 } else if __coord < 1.0 {
2848 let __y1 = 0.000000029802322;
2849 let __y2 = 0.100000024;
2850 let __t = (__coord - 0.6054547) / (1.0 - 0.6054547);
2851 let __h = 1.0 - 0.6054547;
2852 let __a = 0.2534563 * __h - (__y2 - __y1);
2853 let __b = -0.2534563 * __h + (__y2 - __y1);
2854 let __lerp_y = __y1 + __t * (__y2 - __y1);
2855 let __lerp_ab = __a + __t * (__b - __a);
2856 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2857 } else {
2858 f64::from(0.100000024 + 0.2534563 * (__coord - 1.0))
2859 }
2860 }) as f32
2861}
2862#[inline]
2863fn spline_helper_12(
2864 noises: &OverworldNoises,
2865 cache: &OverworldColumnCache,
2866 x: f64,
2867 z: f64,
2868) -> f32 {
2869 ({
2870 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2871 if __coord < -1.0 {
2872 f64::from(-0.3 + 0.5 * (__coord - -1.0))
2873 } else if __coord < -0.4 {
2874 let __y1 = -0.3;
2875 let __y2 = 0.05;
2876 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2877 let __h = -0.4 - -1.0;
2878 let __a = 0.5 * __h - (__y2 - __y1);
2879 let __b = -0.0 * __h + (__y2 - __y1);
2880 let __lerp_y = __y1 + __t * (__y2 - __y1);
2881 let __lerp_ab = __a + __t * (__b - __a);
2882 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2883 } else if __coord < 0.0 {
2884 let __y1 = 0.05;
2885 let __y2 = 0.05;
2886 let __t = (__coord - -0.4) / (0.0 - -0.4);
2887 let __h = 0.0 - -0.4;
2888 let __a = 0.0 * __h - (__y2 - __y1);
2889 let __b = -0.0 * __h + (__y2 - __y1);
2890 let __lerp_y = __y1 + __t * (__y2 - __y1);
2891 let __lerp_ab = __a + __t * (__b - __a);
2892 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2893 } else if __coord < 0.4 {
2894 let __y1 = 0.05;
2895 let __y2 = 0.05;
2896 let __t = (__coord - 0.0) / (0.4 - 0.0);
2897 let __h = 0.4 - 0.0;
2898 let __a = 0.0 * __h - (__y2 - __y1);
2899 let __b = -0.0 * __h + (__y2 - __y1);
2900 let __lerp_y = __y1 + __t * (__y2 - __y1);
2901 let __lerp_ab = __a + __t * (__b - __a);
2902 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2903 } else if __coord < 1.0 {
2904 let __y1 = 0.05;
2905 let __y2 = 0.060000002;
2906 let __t = (__coord - 0.4) / (1.0 - 0.4);
2907 let __h = 1.0 - 0.4;
2908 let __a = 0.0 * __h - (__y2 - __y1);
2909 let __b = -0.007000001 * __h + (__y2 - __y1);
2910 let __lerp_y = __y1 + __t * (__y2 - __y1);
2911 let __lerp_ab = __a + __t * (__b - __a);
2912 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2913 } else {
2914 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
2915 }
2916 }) as f32
2917}
2918#[inline]
2919fn spline_helper_13(
2920 noises: &OverworldNoises,
2921 cache: &OverworldColumnCache,
2922 x: f64,
2923 z: f64,
2924) -> f32 {
2925 ({
2926 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2927 if __coord < -1.0 {
2928 f64::from(-0.15 + 0.5 * (__coord - -1.0))
2929 } else if __coord < -0.4 {
2930 let __y1 = -0.15;
2931 let __y2 = 0.0;
2932 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2933 let __h = -0.4 - -1.0;
2934 let __a = 0.5 * __h - (__y2 - __y1);
2935 let __b = -0.0 * __h + (__y2 - __y1);
2936 let __lerp_y = __y1 + __t * (__y2 - __y1);
2937 let __lerp_ab = __a + __t * (__b - __a);
2938 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2939 } else if __coord < 0.0 {
2940 let __y1 = 0.0;
2941 let __y2 = 0.0;
2942 let __t = (__coord - -0.4) / (0.0 - -0.4);
2943 let __h = 0.0 - -0.4;
2944 let __a = 0.0 * __h - (__y2 - __y1);
2945 let __b = -0.0 * __h + (__y2 - __y1);
2946 let __lerp_y = __y1 + __t * (__y2 - __y1);
2947 let __lerp_ab = __a + __t * (__b - __a);
2948 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2949 } else if __coord < 0.4 {
2950 let __y1 = 0.0;
2951 let __y2 = 0.05;
2952 let __t = (__coord - 0.0) / (0.4 - 0.0);
2953 let __h = 0.4 - 0.0;
2954 let __a = 0.0 * __h - (__y2 - __y1);
2955 let __b = -0.1 * __h + (__y2 - __y1);
2956 let __lerp_y = __y1 + __t * (__y2 - __y1);
2957 let __lerp_ab = __a + __t * (__b - __a);
2958 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2959 } else if __coord < 1.0 {
2960 let __y1 = 0.05;
2961 let __y2 = 0.060000002;
2962 let __t = (__coord - 0.4) / (1.0 - 0.4);
2963 let __h = 1.0 - 0.4;
2964 let __a = 0.1 * __h - (__y2 - __y1);
2965 let __b = -0.007000001 * __h + (__y2 - __y1);
2966 let __lerp_y = __y1 + __t * (__y2 - __y1);
2967 let __lerp_ab = __a + __t * (__b - __a);
2968 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2969 } else {
2970 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
2971 }
2972 }) as f32
2973}
2974#[inline]
2975fn spline_helper_14(
2976 noises: &OverworldNoises,
2977 cache: &OverworldColumnCache,
2978 x: f64,
2979 z: f64,
2980) -> f32 {
2981 ({
2982 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
2983 if __coord < -1.0 {
2984 f64::from(-0.15 + 0.5 * (__coord - -1.0))
2985 } else if __coord < -0.4 {
2986 let __y1 = -0.15;
2987 let __y2 = 0.0;
2988 let __t = (__coord - -1.0) / (-0.4 - -1.0);
2989 let __h = -0.4 - -1.0;
2990 let __a = 0.5 * __h - (__y2 - __y1);
2991 let __b = -0.0 * __h + (__y2 - __y1);
2992 let __lerp_y = __y1 + __t * (__y2 - __y1);
2993 let __lerp_ab = __a + __t * (__b - __a);
2994 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
2995 } else if __coord < 0.0 {
2996 let __y1 = 0.0;
2997 let __y2 = 0.0;
2998 let __t = (__coord - -0.4) / (0.0 - -0.4);
2999 let __h = 0.0 - -0.4;
3000 let __a = 0.0 * __h - (__y2 - __y1);
3001 let __b = -0.0 * __h + (__y2 - __y1);
3002 let __lerp_y = __y1 + __t * (__y2 - __y1);
3003 let __lerp_ab = __a + __t * (__b - __a);
3004 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3005 } else if __coord < 0.4 {
3006 let __y1 = 0.0;
3007 let __y2 = 0.0;
3008 let __t = (__coord - 0.0) / (0.4 - 0.0);
3009 let __h = 0.4 - 0.0;
3010 let __a = 0.0 * __h - (__y2 - __y1);
3011 let __b = -0.0 * __h + (__y2 - __y1);
3012 let __lerp_y = __y1 + __t * (__y2 - __y1);
3013 let __lerp_ab = __a + __t * (__b - __a);
3014 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3015 } else if __coord < 1.0 {
3016 let __y1 = 0.0;
3017 let __y2 = 0.0;
3018 let __t = (__coord - 0.4) / (1.0 - 0.4);
3019 let __h = 1.0 - 0.4;
3020 let __a = 0.0 * __h - (__y2 - __y1);
3021 let __b = -0.0 * __h + (__y2 - __y1);
3022 let __lerp_y = __y1 + __t * (__y2 - __y1);
3023 let __lerp_ab = __a + __t * (__b - __a);
3024 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3025 } else {
3026 f64::from(0.0 + 0.0 * (__coord - 1.0))
3027 }
3028 }) as f32
3029}
3030#[inline]
3031fn spline_helper_15(
3032 noises: &OverworldNoises,
3033 cache: &OverworldColumnCache,
3034 x: f64,
3035 z: f64,
3036) -> f32 {
3037 ({
3038 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3039 if __coord < -1.0 {
3040 f64::from(-0.02 + 0.0 * (__coord - -1.0))
3041 } else if __coord < -0.4 {
3042 let __y1 = -0.02;
3043 let __y2 = -0.03;
3044 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3045 let __h = -0.4 - -1.0;
3046 let __a = 0.0 * __h - (__y2 - __y1);
3047 let __b = -0.0 * __h + (__y2 - __y1);
3048 let __lerp_y = __y1 + __t * (__y2 - __y1);
3049 let __lerp_ab = __a + __t * (__b - __a);
3050 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3051 } else if __coord < 0.0 {
3052 let __y1 = -0.03;
3053 let __y2 = -0.03;
3054 let __t = (__coord - -0.4) / (0.0 - -0.4);
3055 let __h = 0.0 - -0.4;
3056 let __a = 0.0 * __h - (__y2 - __y1);
3057 let __b = -0.0 * __h + (__y2 - __y1);
3058 let __lerp_y = __y1 + __t * (__y2 - __y1);
3059 let __lerp_ab = __a + __t * (__b - __a);
3060 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3061 } else if __coord < 0.4 {
3062 let __y1 = -0.03;
3063 let __y2 = 0.0;
3064 let __t = (__coord - 0.0) / (0.4 - 0.0);
3065 let __h = 0.4 - 0.0;
3066 let __a = 0.0 * __h - (__y2 - __y1);
3067 let __b = -0.06 * __h + (__y2 - __y1);
3068 let __lerp_y = __y1 + __t * (__y2 - __y1);
3069 let __lerp_ab = __a + __t * (__b - __a);
3070 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3071 } else if __coord < 1.0 {
3072 let __y1 = 0.0;
3073 let __y2 = 0.0;
3074 let __t = (__coord - 0.4) / (1.0 - 0.4);
3075 let __h = 1.0 - 0.4;
3076 let __a = 0.06 * __h - (__y2 - __y1);
3077 let __b = -0.0 * __h + (__y2 - __y1);
3078 let __lerp_y = __y1 + __t * (__y2 - __y1);
3079 let __lerp_ab = __a + __t * (__b - __a);
3080 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3081 } else {
3082 f64::from(0.0 + 0.0 * (__coord - 1.0))
3083 }
3084 }) as f32
3085}
3086#[inline]
3087fn spline_helper_8(
3088 noises: &OverworldNoises,
3089 cache: &OverworldColumnCache,
3090 x: f64,
3091 z: f64,
3092) -> f32 {
3093 ({
3094 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
3095 if __coord < -0.85 {
3096 f64::from(spline_helper_9(noises, cache, x, z) + 0.0 * (__coord - -0.85))
3097 } else if __coord < -0.7 {
3098 let __y1 = spline_helper_9(noises, cache, x, z);
3099 let __y2 = spline_helper_10(noises, cache, x, z);
3100 let __t = (__coord - -0.85) / (-0.7 - -0.85);
3101 let __h = -0.7 - -0.85;
3102 let __a = 0.0 * __h - (__y2 - __y1);
3103 let __b = -0.0 * __h + (__y2 - __y1);
3104 let __lerp_y = __y1 + __t * (__y2 - __y1);
3105 let __lerp_ab = __a + __t * (__b - __a);
3106 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3107 } else if __coord < -0.4 {
3108 let __y1 = spline_helper_10(noises, cache, x, z);
3109 let __y2 = spline_helper_11(noises, cache, x, z);
3110 let __t = (__coord - -0.7) / (-0.4 - -0.7);
3111 let __h = -0.4 - -0.7;
3112 let __a = 0.0 * __h - (__y2 - __y1);
3113 let __b = -0.0 * __h + (__y2 - __y1);
3114 let __lerp_y = __y1 + __t * (__y2 - __y1);
3115 let __lerp_ab = __a + __t * (__b - __a);
3116 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3117 } else if __coord < -0.35 {
3118 let __y1 = spline_helper_11(noises, cache, x, z);
3119 let __y2 = spline_helper_12(noises, cache, x, z);
3120 let __t = (__coord - -0.4) / (-0.35 - -0.4);
3121 let __h = -0.35 - -0.4;
3122 let __a = 0.0 * __h - (__y2 - __y1);
3123 let __b = -0.0 * __h + (__y2 - __y1);
3124 let __lerp_y = __y1 + __t * (__y2 - __y1);
3125 let __lerp_ab = __a + __t * (__b - __a);
3126 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3127 } else if __coord < -0.1 {
3128 let __y1 = spline_helper_12(noises, cache, x, z);
3129 let __y2 = spline_helper_13(noises, cache, x, z);
3130 let __t = (__coord - -0.35) / (-0.1 - -0.35);
3131 let __h = -0.1 - -0.35;
3132 let __a = 0.0 * __h - (__y2 - __y1);
3133 let __b = -0.0 * __h + (__y2 - __y1);
3134 let __lerp_y = __y1 + __t * (__y2 - __y1);
3135 let __lerp_ab = __a + __t * (__b - __a);
3136 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3137 } else if __coord < 0.2 {
3138 let __y1 = spline_helper_13(noises, cache, x, z);
3139 let __y2 = spline_helper_14(noises, cache, x, z);
3140 let __t = (__coord - -0.1) / (0.2 - -0.1);
3141 let __h = 0.2 - -0.1;
3142 let __a = 0.0 * __h - (__y2 - __y1);
3143 let __b = -0.0 * __h + (__y2 - __y1);
3144 let __lerp_y = __y1 + __t * (__y2 - __y1);
3145 let __lerp_ab = __a + __t * (__b - __a);
3146 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3147 } else if __coord < 0.7 {
3148 let __y1 = spline_helper_14(noises, cache, x, z);
3149 let __y2 = spline_helper_15(noises, cache, x, z);
3150 let __t = (__coord - 0.2) / (0.7 - 0.2);
3151 let __h = 0.7 - 0.2;
3152 let __a = 0.0 * __h - (__y2 - __y1);
3153 let __b = -0.0 * __h + (__y2 - __y1);
3154 let __lerp_y = __y1 + __t * (__y2 - __y1);
3155 let __lerp_ab = __a + __t * (__b - __a);
3156 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3157 } else {
3158 f64::from(spline_helper_15(noises, cache, x, z) + 0.0 * (__coord - 0.7))
3159 }
3160 }) as f32
3161}
3162#[inline]
3163fn spline_helper_17(
3164 noises: &OverworldNoises,
3165 cache: &OverworldColumnCache,
3166 x: f64,
3167 z: f64,
3168) -> f32 {
3169 ({
3170 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3171 if __coord < -1.0 {
3172 f64::from(-0.08880186 + 0.38940096 * (__coord - -1.0))
3173 } else if __coord < 1.0 {
3174 let __y1 = -0.08880186;
3175 let __y2 = 0.69000006;
3176 let __t = (__coord - -1.0) / (1.0 - -1.0);
3177 let __h = 1.0 - -1.0;
3178 let __a = 0.38940096 * __h - (__y2 - __y1);
3179 let __b = -0.38940096 * __h + (__y2 - __y1);
3180 let __lerp_y = __y1 + __t * (__y2 - __y1);
3181 let __lerp_ab = __a + __t * (__b - __a);
3182 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3183 } else {
3184 f64::from(0.69000006 + 0.38940096 * (__coord - 1.0))
3185 }
3186 }) as f32
3187}
3188#[inline]
3189fn spline_helper_18(
3190 noises: &OverworldNoises,
3191 cache: &OverworldColumnCache,
3192 x: f64,
3193 z: f64,
3194) -> f32 {
3195 ({
3196 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3197 if __coord < -1.0 {
3198 f64::from(-0.115760356 + 0.37788022 * (__coord - -1.0))
3199 } else if __coord < 1.0 {
3200 let __y1 = -0.115760356;
3201 let __y2 = 0.6400001;
3202 let __t = (__coord - -1.0) / (1.0 - -1.0);
3203 let __h = 1.0 - -1.0;
3204 let __a = 0.37788022 * __h - (__y2 - __y1);
3205 let __b = -0.37788022 * __h + (__y2 - __y1);
3206 let __lerp_y = __y1 + __t * (__y2 - __y1);
3207 let __lerp_ab = __a + __t * (__b - __a);
3208 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3209 } else {
3210 f64::from(0.6400001 + 0.37788022 * (__coord - 1.0))
3211 }
3212 }) as f32
3213}
3214#[inline]
3215fn spline_helper_19(
3216 noises: &OverworldNoises,
3217 cache: &OverworldColumnCache,
3218 x: f64,
3219 z: f64,
3220) -> f32 {
3221 ({
3222 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3223 if __coord < -1.0 {
3224 f64::from(-0.2222 + 0.0 * (__coord - -1.0))
3225 } else if __coord < -0.75 {
3226 let __y1 = -0.2222;
3227 let __y2 = -0.2222;
3228 let __t = (__coord - -1.0) / (-0.75 - -1.0);
3229 let __h = -0.75 - -1.0;
3230 let __a = 0.0 * __h - (__y2 - __y1);
3231 let __b = -0.0 * __h + (__y2 - __y1);
3232 let __lerp_y = __y1 + __t * (__y2 - __y1);
3233 let __lerp_ab = __a + __t * (__b - __a);
3234 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3235 } else if __coord < -0.65 {
3236 let __y1 = -0.2222;
3237 let __y2 = 0.0;
3238 let __t = (__coord - -0.75) / (-0.65 - -0.75);
3239 let __h = -0.65 - -0.75;
3240 let __a = 0.0 * __h - (__y2 - __y1);
3241 let __b = -0.0 * __h + (__y2 - __y1);
3242 let __lerp_y = __y1 + __t * (__y2 - __y1);
3243 let __lerp_ab = __a + __t * (__b - __a);
3244 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3245 } else if __coord < 0.5954547 {
3246 let __y1 = 0.0;
3247 let __y2 = 0.000000029802322;
3248 let __t = (__coord - -0.65) / (0.5954547 - -0.65);
3249 let __h = 0.5954547 - -0.65;
3250 let __a = 0.0 * __h - (__y2 - __y1);
3251 let __b = -0.0 * __h + (__y2 - __y1);
3252 let __lerp_y = __y1 + __t * (__y2 - __y1);
3253 let __lerp_ab = __a + __t * (__b - __a);
3254 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3255 } else if __coord < 0.6054547 {
3256 let __y1 = 0.000000029802322;
3257 let __y2 = 0.000000029802322;
3258 let __t = (__coord - 0.5954547) / (0.6054547 - 0.5954547);
3259 let __h = 0.6054547 - 0.5954547;
3260 let __a = 0.0 * __h - (__y2 - __y1);
3261 let __b = -0.2534563 * __h + (__y2 - __y1);
3262 let __lerp_y = __y1 + __t * (__y2 - __y1);
3263 let __lerp_ab = __a + __t * (__b - __a);
3264 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3265 } else if __coord < 1.0 {
3266 let __y1 = 0.000000029802322;
3267 let __y2 = 0.100000024;
3268 let __t = (__coord - 0.6054547) / (1.0 - 0.6054547);
3269 let __h = 1.0 - 0.6054547;
3270 let __a = 0.2534563 * __h - (__y2 - __y1);
3271 let __b = -0.2534563 * __h + (__y2 - __y1);
3272 let __lerp_y = __y1 + __t * (__y2 - __y1);
3273 let __lerp_ab = __a + __t * (__b - __a);
3274 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3275 } else {
3276 f64::from(0.100000024 + 0.2534563 * (__coord - 1.0))
3277 }
3278 }) as f32
3279}
3280#[inline]
3281fn spline_helper_20(
3282 noises: &OverworldNoises,
3283 cache: &OverworldColumnCache,
3284 x: f64,
3285 z: f64,
3286) -> f32 {
3287 ({
3288 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3289 if __coord < -1.0 {
3290 f64::from(-0.25 + 0.5 * (__coord - -1.0))
3291 } else if __coord < -0.4 {
3292 let __y1 = -0.25;
3293 let __y2 = 0.05;
3294 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3295 let __h = -0.4 - -1.0;
3296 let __a = 0.5 * __h - (__y2 - __y1);
3297 let __b = -0.0 * __h + (__y2 - __y1);
3298 let __lerp_y = __y1 + __t * (__y2 - __y1);
3299 let __lerp_ab = __a + __t * (__b - __a);
3300 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3301 } else if __coord < 0.0 {
3302 let __y1 = 0.05;
3303 let __y2 = 0.05;
3304 let __t = (__coord - -0.4) / (0.0 - -0.4);
3305 let __h = 0.0 - -0.4;
3306 let __a = 0.0 * __h - (__y2 - __y1);
3307 let __b = -0.0 * __h + (__y2 - __y1);
3308 let __lerp_y = __y1 + __t * (__y2 - __y1);
3309 let __lerp_ab = __a + __t * (__b - __a);
3310 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3311 } else if __coord < 0.4 {
3312 let __y1 = 0.05;
3313 let __y2 = 0.05;
3314 let __t = (__coord - 0.0) / (0.4 - 0.0);
3315 let __h = 0.4 - 0.0;
3316 let __a = 0.0 * __h - (__y2 - __y1);
3317 let __b = -0.0 * __h + (__y2 - __y1);
3318 let __lerp_y = __y1 + __t * (__y2 - __y1);
3319 let __lerp_ab = __a + __t * (__b - __a);
3320 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3321 } else if __coord < 1.0 {
3322 let __y1 = 0.05;
3323 let __y2 = 0.060000002;
3324 let __t = (__coord - 0.4) / (1.0 - 0.4);
3325 let __h = 1.0 - 0.4;
3326 let __a = 0.0 * __h - (__y2 - __y1);
3327 let __b = -0.007000001 * __h + (__y2 - __y1);
3328 let __lerp_y = __y1 + __t * (__y2 - __y1);
3329 let __lerp_ab = __a + __t * (__b - __a);
3330 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3331 } else {
3332 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
3333 }
3334 }) as f32
3335}
3336#[inline]
3337fn spline_helper_21(
3338 noises: &OverworldNoises,
3339 cache: &OverworldColumnCache,
3340 x: f64,
3341 z: f64,
3342) -> f32 {
3343 ({
3344 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3345 if __coord < -1.0 {
3346 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3347 } else if __coord < -0.4 {
3348 let __y1 = -0.1;
3349 let __y2 = 0.001;
3350 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3351 let __h = -0.4 - -1.0;
3352 let __a = 0.5 * __h - (__y2 - __y1);
3353 let __b = -0.01 * __h + (__y2 - __y1);
3354 let __lerp_y = __y1 + __t * (__y2 - __y1);
3355 let __lerp_ab = __a + __t * (__b - __a);
3356 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3357 } else if __coord < 0.0 {
3358 let __y1 = 0.001;
3359 let __y2 = 0.003;
3360 let __t = (__coord - -0.4) / (0.0 - -0.4);
3361 let __h = 0.0 - -0.4;
3362 let __a = 0.01 * __h - (__y2 - __y1);
3363 let __b = -0.01 * __h + (__y2 - __y1);
3364 let __lerp_y = __y1 + __t * (__y2 - __y1);
3365 let __lerp_ab = __a + __t * (__b - __a);
3366 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3367 } else if __coord < 0.4 {
3368 let __y1 = 0.003;
3369 let __y2 = 0.05;
3370 let __t = (__coord - 0.0) / (0.4 - 0.0);
3371 let __h = 0.4 - 0.0;
3372 let __a = 0.01 * __h - (__y2 - __y1);
3373 let __b = -0.094000004 * __h + (__y2 - __y1);
3374 let __lerp_y = __y1 + __t * (__y2 - __y1);
3375 let __lerp_ab = __a + __t * (__b - __a);
3376 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3377 } else if __coord < 1.0 {
3378 let __y1 = 0.05;
3379 let __y2 = 0.060000002;
3380 let __t = (__coord - 0.4) / (1.0 - 0.4);
3381 let __h = 1.0 - 0.4;
3382 let __a = 0.094000004 * __h - (__y2 - __y1);
3383 let __b = -0.007000001 * __h + (__y2 - __y1);
3384 let __lerp_y = __y1 + __t * (__y2 - __y1);
3385 let __lerp_ab = __a + __t * (__b - __a);
3386 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3387 } else {
3388 f64::from(0.060000002 + 0.007000001 * (__coord - 1.0))
3389 }
3390 }) as f32
3391}
3392#[inline]
3393fn spline_helper_22(
3394 noises: &OverworldNoises,
3395 cache: &OverworldColumnCache,
3396 x: f64,
3397 z: f64,
3398) -> f32 {
3399 ({
3400 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3401 if __coord < -1.0 {
3402 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3403 } else if __coord < -0.4 {
3404 let __y1 = -0.1;
3405 let __y2 = 0.01;
3406 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3407 let __h = -0.4 - -1.0;
3408 let __a = 0.5 * __h - (__y2 - __y1);
3409 let __b = -0.0 * __h + (__y2 - __y1);
3410 let __lerp_y = __y1 + __t * (__y2 - __y1);
3411 let __lerp_ab = __a + __t * (__b - __a);
3412 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3413 } else if __coord < 0.0 {
3414 let __y1 = 0.01;
3415 let __y2 = 0.01;
3416 let __t = (__coord - -0.4) / (0.0 - -0.4);
3417 let __h = 0.0 - -0.4;
3418 let __a = 0.0 * __h - (__y2 - __y1);
3419 let __b = -0.0 * __h + (__y2 - __y1);
3420 let __lerp_y = __y1 + __t * (__y2 - __y1);
3421 let __lerp_ab = __a + __t * (__b - __a);
3422 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3423 } else if __coord < 0.4 {
3424 let __y1 = 0.01;
3425 let __y2 = 0.03;
3426 let __t = (__coord - 0.0) / (0.4 - 0.0);
3427 let __h = 0.4 - 0.0;
3428 let __a = 0.0 * __h - (__y2 - __y1);
3429 let __b = -0.04 * __h + (__y2 - __y1);
3430 let __lerp_y = __y1 + __t * (__y2 - __y1);
3431 let __lerp_ab = __a + __t * (__b - __a);
3432 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3433 } else if __coord < 1.0 {
3434 let __y1 = 0.03;
3435 let __y2 = 0.1;
3436 let __t = (__coord - 0.4) / (1.0 - 0.4);
3437 let __h = 1.0 - 0.4;
3438 let __a = 0.04 * __h - (__y2 - __y1);
3439 let __b = -0.049 * __h + (__y2 - __y1);
3440 let __lerp_y = __y1 + __t * (__y2 - __y1);
3441 let __lerp_ab = __a + __t * (__b - __a);
3442 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3443 } else {
3444 f64::from(0.1 + 0.049 * (__coord - 1.0))
3445 }
3446 }) as f32
3447}
3448#[inline]
3449fn spline_helper_23(
3450 noises: &OverworldNoises,
3451 cache: &OverworldColumnCache,
3452 x: f64,
3453 z: f64,
3454) -> f32 {
3455 ({
3456 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3457 if __coord < -1.0 {
3458 f64::from(-0.02 + 0.0 * (__coord - -1.0))
3459 } else if __coord < -0.4 {
3460 let __y1 = -0.02;
3461 let __y2 = -0.03;
3462 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3463 let __h = -0.4 - -1.0;
3464 let __a = 0.0 * __h - (__y2 - __y1);
3465 let __b = -0.0 * __h + (__y2 - __y1);
3466 let __lerp_y = __y1 + __t * (__y2 - __y1);
3467 let __lerp_ab = __a + __t * (__b - __a);
3468 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3469 } else if __coord < 0.0 {
3470 let __y1 = -0.03;
3471 let __y2 = -0.03;
3472 let __t = (__coord - -0.4) / (0.0 - -0.4);
3473 let __h = 0.0 - -0.4;
3474 let __a = 0.0 * __h - (__y2 - __y1);
3475 let __b = -0.0 * __h + (__y2 - __y1);
3476 let __lerp_y = __y1 + __t * (__y2 - __y1);
3477 let __lerp_ab = __a + __t * (__b - __a);
3478 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3479 } else if __coord < 0.4 {
3480 let __y1 = -0.03;
3481 let __y2 = 0.03;
3482 let __t = (__coord - 0.0) / (0.4 - 0.0);
3483 let __h = 0.4 - 0.0;
3484 let __a = 0.0 * __h - (__y2 - __y1);
3485 let __b = -0.12 * __h + (__y2 - __y1);
3486 let __lerp_y = __y1 + __t * (__y2 - __y1);
3487 let __lerp_ab = __a + __t * (__b - __a);
3488 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3489 } else if __coord < 1.0 {
3490 let __y1 = 0.03;
3491 let __y2 = 0.1;
3492 let __t = (__coord - 0.4) / (1.0 - 0.4);
3493 let __h = 1.0 - 0.4;
3494 let __a = 0.12 * __h - (__y2 - __y1);
3495 let __b = -0.049 * __h + (__y2 - __y1);
3496 let __lerp_y = __y1 + __t * (__y2 - __y1);
3497 let __lerp_ab = __a + __t * (__b - __a);
3498 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3499 } else {
3500 f64::from(0.1 + 0.049 * (__coord - 1.0))
3501 }
3502 }) as f32
3503}
3504#[inline]
3505fn spline_helper_16(
3506 noises: &OverworldNoises,
3507 cache: &OverworldColumnCache,
3508 x: f64,
3509 z: f64,
3510) -> f32 {
3511 ({
3512 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
3513 if __coord < -0.85 {
3514 f64::from(spline_helper_17(noises, cache, x, z) + 0.0 * (__coord - -0.85))
3515 } else if __coord < -0.7 {
3516 let __y1 = spline_helper_17(noises, cache, x, z);
3517 let __y2 = spline_helper_18(noises, cache, x, z);
3518 let __t = (__coord - -0.85) / (-0.7 - -0.85);
3519 let __h = -0.7 - -0.85;
3520 let __a = 0.0 * __h - (__y2 - __y1);
3521 let __b = -0.0 * __h + (__y2 - __y1);
3522 let __lerp_y = __y1 + __t * (__y2 - __y1);
3523 let __lerp_ab = __a + __t * (__b - __a);
3524 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3525 } else if __coord < -0.4 {
3526 let __y1 = spline_helper_18(noises, cache, x, z);
3527 let __y2 = spline_helper_19(noises, cache, x, z);
3528 let __t = (__coord - -0.7) / (-0.4 - -0.7);
3529 let __h = -0.4 - -0.7;
3530 let __a = 0.0 * __h - (__y2 - __y1);
3531 let __b = -0.0 * __h + (__y2 - __y1);
3532 let __lerp_y = __y1 + __t * (__y2 - __y1);
3533 let __lerp_ab = __a + __t * (__b - __a);
3534 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3535 } else if __coord < -0.35 {
3536 let __y1 = spline_helper_19(noises, cache, x, z);
3537 let __y2 = spline_helper_20(noises, cache, x, z);
3538 let __t = (__coord - -0.4) / (-0.35 - -0.4);
3539 let __h = -0.35 - -0.4;
3540 let __a = 0.0 * __h - (__y2 - __y1);
3541 let __b = -0.0 * __h + (__y2 - __y1);
3542 let __lerp_y = __y1 + __t * (__y2 - __y1);
3543 let __lerp_ab = __a + __t * (__b - __a);
3544 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3545 } else if __coord < -0.1 {
3546 let __y1 = spline_helper_20(noises, cache, x, z);
3547 let __y2 = spline_helper_21(noises, cache, x, z);
3548 let __t = (__coord - -0.35) / (-0.1 - -0.35);
3549 let __h = -0.1 - -0.35;
3550 let __a = 0.0 * __h - (__y2 - __y1);
3551 let __b = -0.0 * __h + (__y2 - __y1);
3552 let __lerp_y = __y1 + __t * (__y2 - __y1);
3553 let __lerp_ab = __a + __t * (__b - __a);
3554 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3555 } else if __coord < 0.2 {
3556 let __y1 = spline_helper_21(noises, cache, x, z);
3557 let __y2 = spline_helper_22(noises, cache, x, z);
3558 let __t = (__coord - -0.1) / (0.2 - -0.1);
3559 let __h = 0.2 - -0.1;
3560 let __a = 0.0 * __h - (__y2 - __y1);
3561 let __b = -0.0 * __h + (__y2 - __y1);
3562 let __lerp_y = __y1 + __t * (__y2 - __y1);
3563 let __lerp_ab = __a + __t * (__b - __a);
3564 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3565 } else if __coord < 0.7 {
3566 let __y1 = spline_helper_22(noises, cache, x, z);
3567 let __y2 = spline_helper_23(noises, cache, x, z);
3568 let __t = (__coord - 0.2) / (0.7 - 0.2);
3569 let __h = 0.7 - 0.2;
3570 let __a = 0.0 * __h - (__y2 - __y1);
3571 let __b = -0.0 * __h + (__y2 - __y1);
3572 let __lerp_y = __y1 + __t * (__y2 - __y1);
3573 let __lerp_ab = __a + __t * (__b - __a);
3574 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3575 } else {
3576 f64::from(spline_helper_23(noises, cache, x, z) + 0.0 * (__coord - 0.7))
3577 }
3578 }) as f32
3579}
3580#[inline]
3581fn spline_helper_25(
3582 noises: &OverworldNoises,
3583 cache: &OverworldColumnCache,
3584 x: f64,
3585 z: f64,
3586) -> f32 {
3587 ({
3588 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3589 if __coord < -1.0 {
3590 f64::from(0.20235021 + 0.0 * (__coord - -1.0))
3591 } else if __coord < 0.0 {
3592 let __y1 = 0.20235021;
3593 let __y2 = 0.7161751;
3594 let __t = (__coord - -1.0) / (0.0 - -1.0);
3595 let __h = 0.0 - -1.0;
3596 let __a = 0.0 * __h - (__y2 - __y1);
3597 let __b = -0.5138249 * __h + (__y2 - __y1);
3598 let __lerp_y = __y1 + __t * (__y2 - __y1);
3599 let __lerp_ab = __a + __t * (__b - __a);
3600 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3601 } else if __coord < 1.0 {
3602 let __y1 = 0.7161751;
3603 let __y2 = 1.23;
3604 let __t = (__coord - 0.0) / (1.0 - 0.0);
3605 let __h = 1.0 - 0.0;
3606 let __a = 0.5138249 * __h - (__y2 - __y1);
3607 let __b = -0.5138249 * __h + (__y2 - __y1);
3608 let __lerp_y = __y1 + __t * (__y2 - __y1);
3609 let __lerp_ab = __a + __t * (__b - __a);
3610 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3611 } else {
3612 f64::from(1.23 + 0.5138249 * (__coord - 1.0))
3613 }
3614 }) as f32
3615}
3616#[inline]
3617fn spline_helper_26(
3618 noises: &OverworldNoises,
3619 cache: &OverworldColumnCache,
3620 x: f64,
3621 z: f64,
3622) -> f32 {
3623 ({
3624 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3625 if __coord < -1.0 {
3626 f64::from(0.2 + 0.0 * (__coord - -1.0))
3627 } else if __coord < 0.0 {
3628 let __y1 = 0.2;
3629 let __y2 = 0.44682026;
3630 let __t = (__coord - -1.0) / (0.0 - -1.0);
3631 let __h = 0.0 - -1.0;
3632 let __a = 0.0 * __h - (__y2 - __y1);
3633 let __b = -0.43317974 * __h + (__y2 - __y1);
3634 let __lerp_y = __y1 + __t * (__y2 - __y1);
3635 let __lerp_ab = __a + __t * (__b - __a);
3636 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3637 } else if __coord < 1.0 {
3638 let __y1 = 0.44682026;
3639 let __y2 = 0.88;
3640 let __t = (__coord - 0.0) / (1.0 - 0.0);
3641 let __h = 1.0 - 0.0;
3642 let __a = 0.43317974 * __h - (__y2 - __y1);
3643 let __b = -0.43317974 * __h + (__y2 - __y1);
3644 let __lerp_y = __y1 + __t * (__y2 - __y1);
3645 let __lerp_ab = __a + __t * (__b - __a);
3646 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3647 } else {
3648 f64::from(0.88 + 0.43317974 * (__coord - 1.0))
3649 }
3650 }) as f32
3651}
3652#[inline]
3653fn spline_helper_27(
3654 noises: &OverworldNoises,
3655 cache: &OverworldColumnCache,
3656 x: f64,
3657 z: f64,
3658) -> f32 {
3659 ({
3660 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3661 if __coord < -1.0 {
3662 f64::from(0.2 + 0.0 * (__coord - -1.0))
3663 } else if __coord < 0.0 {
3664 let __y1 = 0.2;
3665 let __y2 = 0.30829495;
3666 let __t = (__coord - -1.0) / (0.0 - -1.0);
3667 let __h = 0.0 - -1.0;
3668 let __a = 0.0 * __h - (__y2 - __y1);
3669 let __b = -0.3917051 * __h + (__y2 - __y1);
3670 let __lerp_y = __y1 + __t * (__y2 - __y1);
3671 let __lerp_ab = __a + __t * (__b - __a);
3672 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3673 } else if __coord < 1.0 {
3674 let __y1 = 0.30829495;
3675 let __y2 = 0.70000005;
3676 let __t = (__coord - 0.0) / (1.0 - 0.0);
3677 let __h = 1.0 - 0.0;
3678 let __a = 0.3917051 * __h - (__y2 - __y1);
3679 let __b = -0.3917051 * __h + (__y2 - __y1);
3680 let __lerp_y = __y1 + __t * (__y2 - __y1);
3681 let __lerp_ab = __a + __t * (__b - __a);
3682 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3683 } else {
3684 f64::from(0.70000005 + 0.3917051 * (__coord - 1.0))
3685 }
3686 }) as f32
3687}
3688#[inline]
3689fn spline_helper_28(
3690 noises: &OverworldNoises,
3691 cache: &OverworldColumnCache,
3692 x: f64,
3693 z: f64,
3694) -> f32 {
3695 ({
3696 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3697 if __coord < -1.0 {
3698 f64::from(-0.25 + 0.5 * (__coord - -1.0))
3699 } else if __coord < -0.4 {
3700 let __y1 = -0.25;
3701 let __y2 = 0.35;
3702 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3703 let __h = -0.4 - -1.0;
3704 let __a = 0.5 * __h - (__y2 - __y1);
3705 let __b = -0.0 * __h + (__y2 - __y1);
3706 let __lerp_y = __y1 + __t * (__y2 - __y1);
3707 let __lerp_ab = __a + __t * (__b - __a);
3708 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3709 } else if __coord < 0.0 {
3710 let __y1 = 0.35;
3711 let __y2 = 0.35;
3712 let __t = (__coord - -0.4) / (0.0 - -0.4);
3713 let __h = 0.0 - -0.4;
3714 let __a = 0.0 * __h - (__y2 - __y1);
3715 let __b = -0.0 * __h + (__y2 - __y1);
3716 let __lerp_y = __y1 + __t * (__y2 - __y1);
3717 let __lerp_ab = __a + __t * (__b - __a);
3718 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3719 } else if __coord < 0.4 {
3720 let __y1 = 0.35;
3721 let __y2 = 0.35;
3722 let __t = (__coord - 0.0) / (0.4 - 0.0);
3723 let __h = 0.4 - 0.0;
3724 let __a = 0.0 * __h - (__y2 - __y1);
3725 let __b = -0.0 * __h + (__y2 - __y1);
3726 let __lerp_y = __y1 + __t * (__y2 - __y1);
3727 let __lerp_ab = __a + __t * (__b - __a);
3728 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3729 } else if __coord < 1.0 {
3730 let __y1 = 0.35;
3731 let __y2 = 0.42000002;
3732 let __t = (__coord - 0.4) / (1.0 - 0.4);
3733 let __h = 1.0 - 0.4;
3734 let __a = 0.0 * __h - (__y2 - __y1);
3735 let __b = -0.049000014 * __h + (__y2 - __y1);
3736 let __lerp_y = __y1 + __t * (__y2 - __y1);
3737 let __lerp_ab = __a + __t * (__b - __a);
3738 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3739 } else {
3740 f64::from(0.42000002 + 0.049000014 * (__coord - 1.0))
3741 }
3742 }) as f32
3743}
3744#[inline]
3745fn spline_helper_29(
3746 noises: &OverworldNoises,
3747 cache: &OverworldColumnCache,
3748 x: f64,
3749 z: f64,
3750) -> f32 {
3751 ({
3752 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3753 if __coord < -1.0 {
3754 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3755 } else if __coord < -0.4 {
3756 let __y1 = -0.1;
3757 let __y2 = 0.0069999998;
3758 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3759 let __h = -0.4 - -1.0;
3760 let __a = 0.5 * __h - (__y2 - __y1);
3761 let __b = -0.07 * __h + (__y2 - __y1);
3762 let __lerp_y = __y1 + __t * (__y2 - __y1);
3763 let __lerp_ab = __a + __t * (__b - __a);
3764 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3765 } else if __coord < 0.0 {
3766 let __y1 = 0.0069999998;
3767 let __y2 = 0.021;
3768 let __t = (__coord - -0.4) / (0.0 - -0.4);
3769 let __h = 0.0 - -0.4;
3770 let __a = 0.07 * __h - (__y2 - __y1);
3771 let __b = -0.07 * __h + (__y2 - __y1);
3772 let __lerp_y = __y1 + __t * (__y2 - __y1);
3773 let __lerp_ab = __a + __t * (__b - __a);
3774 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3775 } else if __coord < 0.4 {
3776 let __y1 = 0.021;
3777 let __y2 = 0.35;
3778 let __t = (__coord - 0.0) / (0.4 - 0.0);
3779 let __h = 0.4 - 0.0;
3780 let __a = 0.07 * __h - (__y2 - __y1);
3781 let __b = -0.658 * __h + (__y2 - __y1);
3782 let __lerp_y = __y1 + __t * (__y2 - __y1);
3783 let __lerp_ab = __a + __t * (__b - __a);
3784 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3785 } else if __coord < 1.0 {
3786 let __y1 = 0.35;
3787 let __y2 = 0.42000002;
3788 let __t = (__coord - 0.4) / (1.0 - 0.4);
3789 let __h = 1.0 - 0.4;
3790 let __a = 0.658 * __h - (__y2 - __y1);
3791 let __b = -0.049000014 * __h + (__y2 - __y1);
3792 let __lerp_y = __y1 + __t * (__y2 - __y1);
3793 let __lerp_ab = __a + __t * (__b - __a);
3794 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3795 } else {
3796 f64::from(0.42000002 + 0.049000014 * (__coord - 1.0))
3797 }
3798 }) as f32
3799}
3800#[inline]
3801fn spline_helper_30(
3802 noises: &OverworldNoises,
3803 cache: &OverworldColumnCache,
3804 x: f64,
3805 z: f64,
3806) -> f32 {
3807 ({
3808 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3809 if __coord < -1.0 {
3810 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3811 } else if __coord < -0.4 {
3812 let __y1 = -0.1;
3813 let __y2 = 0.01;
3814 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3815 let __h = -0.4 - -1.0;
3816 let __a = 0.5 * __h - (__y2 - __y1);
3817 let __b = -0.0 * __h + (__y2 - __y1);
3818 let __lerp_y = __y1 + __t * (__y2 - __y1);
3819 let __lerp_ab = __a + __t * (__b - __a);
3820 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3821 } else if __coord < 0.0 {
3822 let __y1 = 0.01;
3823 let __y2 = 0.01;
3824 let __t = (__coord - -0.4) / (0.0 - -0.4);
3825 let __h = 0.0 - -0.4;
3826 let __a = 0.0 * __h - (__y2 - __y1);
3827 let __b = -0.0 * __h + (__y2 - __y1);
3828 let __lerp_y = __y1 + __t * (__y2 - __y1);
3829 let __lerp_ab = __a + __t * (__b - __a);
3830 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3831 } else if __coord < 0.4 {
3832 let __y1 = 0.01;
3833 let __y2 = 0.03;
3834 let __t = (__coord - 0.0) / (0.4 - 0.0);
3835 let __h = 0.4 - 0.0;
3836 let __a = 0.0 * __h - (__y2 - __y1);
3837 let __b = -0.04 * __h + (__y2 - __y1);
3838 let __lerp_y = __y1 + __t * (__y2 - __y1);
3839 let __lerp_ab = __a + __t * (__b - __a);
3840 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3841 } else if __coord < 1.0 {
3842 let __y1 = 0.03;
3843 let __y2 = 0.1;
3844 let __t = (__coord - 0.4) / (1.0 - 0.4);
3845 let __h = 1.0 - 0.4;
3846 let __a = 0.04 * __h - (__y2 - __y1);
3847 let __b = -0.049 * __h + (__y2 - __y1);
3848 let __lerp_y = __y1 + __t * (__y2 - __y1);
3849 let __lerp_ab = __a + __t * (__b - __a);
3850 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3851 } else {
3852 f64::from(0.1 + 0.049 * (__coord - 1.0))
3853 }
3854 }) as f32
3855}
3856#[inline]
3857fn spline_helper_31(
3858 noises: &OverworldNoises,
3859 cache: &OverworldColumnCache,
3860 x: f64,
3861 z: f64,
3862) -> f32 {
3863 ({
3864 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3865 if __coord < -1.0 {
3866 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3867 } else if __coord < -0.4 {
3868 let __y1 = -0.1;
3869 let __y2 = 0.01;
3870 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3871 let __h = -0.4 - -1.0;
3872 let __a = 0.5 * __h - (__y2 - __y1);
3873 let __b = -0.0 * __h + (__y2 - __y1);
3874 let __lerp_y = __y1 + __t * (__y2 - __y1);
3875 let __lerp_ab = __a + __t * (__b - __a);
3876 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3877 } else if __coord < 0.0 {
3878 let __y1 = 0.01;
3879 let __y2 = 0.01;
3880 let __t = (__coord - -0.4) / (0.0 - -0.4);
3881 let __h = 0.0 - -0.4;
3882 let __a = 0.0 * __h - (__y2 - __y1);
3883 let __b = -0.0 * __h + (__y2 - __y1);
3884 let __lerp_y = __y1 + __t * (__y2 - __y1);
3885 let __lerp_ab = __a + __t * (__b - __a);
3886 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3887 } else if __coord < 0.4 {
3888 let __y1 = 0.01;
3889 let __y2 = 0.03;
3890 let __t = (__coord - 0.0) / (0.4 - 0.0);
3891 let __h = 0.4 - 0.0;
3892 let __a = 0.0 * __h - (__y2 - __y1);
3893 let __b = -0.04 * __h + (__y2 - __y1);
3894 let __lerp_y = __y1 + __t * (__y2 - __y1);
3895 let __lerp_ab = __a + __t * (__b - __a);
3896 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3897 } else if __coord < 1.0 {
3898 let __y1 = 0.03;
3899 let __y2 = 0.1;
3900 let __t = (__coord - 0.4) / (1.0 - 0.4);
3901 let __h = 1.0 - 0.4;
3902 let __a = 0.04 * __h - (__y2 - __y1);
3903 let __b = -0.049 * __h + (__y2 - __y1);
3904 let __lerp_y = __y1 + __t * (__y2 - __y1);
3905 let __lerp_ab = __a + __t * (__b - __a);
3906 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3907 } else {
3908 f64::from(0.1 + 0.049 * (__coord - 1.0))
3909 }
3910 }) as f32
3911}
3912#[inline]
3913fn spline_helper_33(
3914 noises: &OverworldNoises,
3915 cache: &OverworldColumnCache,
3916 x: f64,
3917 z: f64,
3918) -> f32 {
3919 ({
3920 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3921 if __coord < -1.0 {
3922 f64::from(-0.1 + 0.5 * (__coord - -1.0))
3923 } else if __coord < -0.4 {
3924 let __y1 = -0.1;
3925 let __y2 = 0.01;
3926 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3927 let __h = -0.4 - -1.0;
3928 let __a = 0.5 * __h - (__y2 - __y1);
3929 let __b = -0.0 * __h + (__y2 - __y1);
3930 let __lerp_y = __y1 + __t * (__y2 - __y1);
3931 let __lerp_ab = __a + __t * (__b - __a);
3932 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3933 } else if __coord < 0.0 {
3934 let __y1 = 0.01;
3935 let __y2 = 0.01;
3936 let __t = (__coord - -0.4) / (0.0 - -0.4);
3937 let __h = 0.0 - -0.4;
3938 let __a = 0.0 * __h - (__y2 - __y1);
3939 let __b = -0.0 * __h + (__y2 - __y1);
3940 let __lerp_y = __y1 + __t * (__y2 - __y1);
3941 let __lerp_ab = __a + __t * (__b - __a);
3942 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3943 } else if __coord < 0.4 {
3944 let __y1 = 0.01;
3945 let __y2 = 0.03;
3946 let __t = (__coord - 0.0) / (0.4 - 0.0);
3947 let __h = 0.4 - 0.0;
3948 let __a = 0.0 * __h - (__y2 - __y1);
3949 let __b = -0.04 * __h + (__y2 - __y1);
3950 let __lerp_y = __y1 + __t * (__y2 - __y1);
3951 let __lerp_ab = __a + __t * (__b - __a);
3952 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3953 } else if __coord < 1.0 {
3954 let __y1 = 0.03;
3955 let __y2 = 0.1;
3956 let __t = (__coord - 0.4) / (1.0 - 0.4);
3957 let __h = 1.0 - 0.4;
3958 let __a = 0.04 * __h - (__y2 - __y1);
3959 let __b = -0.049 * __h + (__y2 - __y1);
3960 let __lerp_y = __y1 + __t * (__y2 - __y1);
3961 let __lerp_ab = __a + __t * (__b - __a);
3962 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3963 } else {
3964 f64::from(0.1 + 0.049 * (__coord - 1.0))
3965 }
3966 }) as f32
3967}
3968#[inline]
3969fn spline_helper_32(
3970 noises: &OverworldNoises,
3971 cache: &OverworldColumnCache,
3972 x: f64,
3973 z: f64,
3974) -> f32 {
3975 ({
3976 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
3977 if __coord < -1.0 {
3978 f64::from(-0.1 + 0.0 * (__coord - -1.0))
3979 } else if __coord < -0.4 {
3980 let __y1 = -0.1;
3981 let __y2 = spline_helper_33(noises, cache, x, z);
3982 let __t = (__coord - -1.0) / (-0.4 - -1.0);
3983 let __h = -0.4 - -1.0;
3984 let __a = 0.0 * __h - (__y2 - __y1);
3985 let __b = -0.0 * __h + (__y2 - __y1);
3986 let __lerp_y = __y1 + __t * (__y2 - __y1);
3987 let __lerp_ab = __a + __t * (__b - __a);
3988 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3989 } else if __coord < 0.0 {
3990 let __y1 = spline_helper_33(noises, cache, x, z);
3991 let __y2 = 0.17;
3992 let __t = (__coord - -0.4) / (0.0 - -0.4);
3993 let __h = 0.0 - -0.4;
3994 let __a = 0.0 * __h - (__y2 - __y1);
3995 let __b = -0.0 * __h + (__y2 - __y1);
3996 let __lerp_y = __y1 + __t * (__y2 - __y1);
3997 let __lerp_ab = __a + __t * (__b - __a);
3998 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
3999 } else {
4000 f64::from(0.17 + 0.0 * (__coord - 0.0))
4001 }
4002 }) as f32
4003}
4004#[inline]
4005fn spline_helper_35(
4006 noises: &OverworldNoises,
4007 cache: &OverworldColumnCache,
4008 x: f64,
4009 z: f64,
4010) -> f32 {
4011 ({
4012 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4013 if __coord < -1.0 {
4014 f64::from(-0.1 + 0.5 * (__coord - -1.0))
4015 } else if __coord < -0.4 {
4016 let __y1 = -0.1;
4017 let __y2 = 0.01;
4018 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4019 let __h = -0.4 - -1.0;
4020 let __a = 0.5 * __h - (__y2 - __y1);
4021 let __b = -0.0 * __h + (__y2 - __y1);
4022 let __lerp_y = __y1 + __t * (__y2 - __y1);
4023 let __lerp_ab = __a + __t * (__b - __a);
4024 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4025 } else if __coord < 0.0 {
4026 let __y1 = 0.01;
4027 let __y2 = 0.01;
4028 let __t = (__coord - -0.4) / (0.0 - -0.4);
4029 let __h = 0.0 - -0.4;
4030 let __a = 0.0 * __h - (__y2 - __y1);
4031 let __b = -0.0 * __h + (__y2 - __y1);
4032 let __lerp_y = __y1 + __t * (__y2 - __y1);
4033 let __lerp_ab = __a + __t * (__b - __a);
4034 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4035 } else if __coord < 0.4 {
4036 let __y1 = 0.01;
4037 let __y2 = 0.03;
4038 let __t = (__coord - 0.0) / (0.4 - 0.0);
4039 let __h = 0.4 - 0.0;
4040 let __a = 0.0 * __h - (__y2 - __y1);
4041 let __b = -0.04 * __h + (__y2 - __y1);
4042 let __lerp_y = __y1 + __t * (__y2 - __y1);
4043 let __lerp_ab = __a + __t * (__b - __a);
4044 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4045 } else if __coord < 1.0 {
4046 let __y1 = 0.03;
4047 let __y2 = 0.1;
4048 let __t = (__coord - 0.4) / (1.0 - 0.4);
4049 let __h = 1.0 - 0.4;
4050 let __a = 0.04 * __h - (__y2 - __y1);
4051 let __b = -0.049 * __h + (__y2 - __y1);
4052 let __lerp_y = __y1 + __t * (__y2 - __y1);
4053 let __lerp_ab = __a + __t * (__b - __a);
4054 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4055 } else {
4056 f64::from(0.1 + 0.049 * (__coord - 1.0))
4057 }
4058 }) as f32
4059}
4060#[inline]
4061fn spline_helper_34(
4062 noises: &OverworldNoises,
4063 cache: &OverworldColumnCache,
4064 x: f64,
4065 z: f64,
4066) -> f32 {
4067 ({
4068 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4069 if __coord < -1.0 {
4070 f64::from(-0.1 + 0.0 * (__coord - -1.0))
4071 } else if __coord < -0.4 {
4072 let __y1 = -0.1;
4073 let __y2 = spline_helper_35(noises, cache, x, z);
4074 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4075 let __h = -0.4 - -1.0;
4076 let __a = 0.0 * __h - (__y2 - __y1);
4077 let __b = -0.0 * __h + (__y2 - __y1);
4078 let __lerp_y = __y1 + __t * (__y2 - __y1);
4079 let __lerp_ab = __a + __t * (__b - __a);
4080 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4081 } else if __coord < 0.0 {
4082 let __y1 = spline_helper_35(noises, cache, x, z);
4083 let __y2 = 0.17;
4084 let __t = (__coord - -0.4) / (0.0 - -0.4);
4085 let __h = 0.0 - -0.4;
4086 let __a = 0.0 * __h - (__y2 - __y1);
4087 let __b = -0.0 * __h + (__y2 - __y1);
4088 let __lerp_y = __y1 + __t * (__y2 - __y1);
4089 let __lerp_ab = __a + __t * (__b - __a);
4090 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4091 } else {
4092 f64::from(0.17 + 0.0 * (__coord - 0.0))
4093 }
4094 }) as f32
4095}
4096#[inline]
4097fn spline_helper_36(
4098 noises: &OverworldNoises,
4099 cache: &OverworldColumnCache,
4100 x: f64,
4101 z: f64,
4102) -> f32 {
4103 ({
4104 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4105 if __coord < -1.0 {
4106 f64::from(-0.1 + 0.5 * (__coord - -1.0))
4107 } else if __coord < -0.4 {
4108 let __y1 = -0.1;
4109 let __y2 = 0.01;
4110 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4111 let __h = -0.4 - -1.0;
4112 let __a = 0.5 * __h - (__y2 - __y1);
4113 let __b = -0.0 * __h + (__y2 - __y1);
4114 let __lerp_y = __y1 + __t * (__y2 - __y1);
4115 let __lerp_ab = __a + __t * (__b - __a);
4116 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4117 } else if __coord < 0.0 {
4118 let __y1 = 0.01;
4119 let __y2 = 0.01;
4120 let __t = (__coord - -0.4) / (0.0 - -0.4);
4121 let __h = 0.0 - -0.4;
4122 let __a = 0.0 * __h - (__y2 - __y1);
4123 let __b = -0.0 * __h + (__y2 - __y1);
4124 let __lerp_y = __y1 + __t * (__y2 - __y1);
4125 let __lerp_ab = __a + __t * (__b - __a);
4126 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4127 } else if __coord < 0.4 {
4128 let __y1 = 0.01;
4129 let __y2 = 0.03;
4130 let __t = (__coord - 0.0) / (0.4 - 0.0);
4131 let __h = 0.4 - 0.0;
4132 let __a = 0.0 * __h - (__y2 - __y1);
4133 let __b = -0.04 * __h + (__y2 - __y1);
4134 let __lerp_y = __y1 + __t * (__y2 - __y1);
4135 let __lerp_ab = __a + __t * (__b - __a);
4136 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4137 } else if __coord < 1.0 {
4138 let __y1 = 0.03;
4139 let __y2 = 0.1;
4140 let __t = (__coord - 0.4) / (1.0 - 0.4);
4141 let __h = 1.0 - 0.4;
4142 let __a = 0.04 * __h - (__y2 - __y1);
4143 let __b = -0.049 * __h + (__y2 - __y1);
4144 let __lerp_y = __y1 + __t * (__y2 - __y1);
4145 let __lerp_ab = __a + __t * (__b - __a);
4146 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4147 } else {
4148 f64::from(0.1 + 0.049 * (__coord - 1.0))
4149 }
4150 }) as f32
4151}
4152#[inline]
4153fn spline_helper_37(
4154 noises: &OverworldNoises,
4155 cache: &OverworldColumnCache,
4156 x: f64,
4157 z: f64,
4158) -> f32 {
4159 ({
4160 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4161 if __coord < -1.0 {
4162 f64::from(-0.02 + 0.0 * (__coord - -1.0))
4163 } else if __coord < -0.4 {
4164 let __y1 = -0.02;
4165 let __y2 = -0.03;
4166 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4167 let __h = -0.4 - -1.0;
4168 let __a = 0.0 * __h - (__y2 - __y1);
4169 let __b = -0.0 * __h + (__y2 - __y1);
4170 let __lerp_y = __y1 + __t * (__y2 - __y1);
4171 let __lerp_ab = __a + __t * (__b - __a);
4172 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4173 } else if __coord < 0.0 {
4174 let __y1 = -0.03;
4175 let __y2 = -0.03;
4176 let __t = (__coord - -0.4) / (0.0 - -0.4);
4177 let __h = 0.0 - -0.4;
4178 let __a = 0.0 * __h - (__y2 - __y1);
4179 let __b = -0.0 * __h + (__y2 - __y1);
4180 let __lerp_y = __y1 + __t * (__y2 - __y1);
4181 let __lerp_ab = __a + __t * (__b - __a);
4182 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4183 } else if __coord < 0.4 {
4184 let __y1 = -0.03;
4185 let __y2 = 0.03;
4186 let __t = (__coord - 0.0) / (0.4 - 0.0);
4187 let __h = 0.4 - 0.0;
4188 let __a = 0.0 * __h - (__y2 - __y1);
4189 let __b = -0.12 * __h + (__y2 - __y1);
4190 let __lerp_y = __y1 + __t * (__y2 - __y1);
4191 let __lerp_ab = __a + __t * (__b - __a);
4192 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4193 } else if __coord < 1.0 {
4194 let __y1 = 0.03;
4195 let __y2 = 0.1;
4196 let __t = (__coord - 0.4) / (1.0 - 0.4);
4197 let __h = 1.0 - 0.4;
4198 let __a = 0.12 * __h - (__y2 - __y1);
4199 let __b = -0.049 * __h + (__y2 - __y1);
4200 let __lerp_y = __y1 + __t * (__y2 - __y1);
4201 let __lerp_ab = __a + __t * (__b - __a);
4202 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4203 } else {
4204 f64::from(0.1 + 0.049 * (__coord - 1.0))
4205 }
4206 }) as f32
4207}
4208#[inline]
4209fn spline_helper_24(
4210 noises: &OverworldNoises,
4211 cache: &OverworldColumnCache,
4212 x: f64,
4213 z: f64,
4214) -> f32 {
4215 ({
4216 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
4217 if __coord < -0.85 {
4218 f64::from(spline_helper_25(noises, cache, x, z) + 0.0 * (__coord - -0.85))
4219 } else if __coord < -0.7 {
4220 let __y1 = spline_helper_25(noises, cache, x, z);
4221 let __y2 = spline_helper_26(noises, cache, x, z);
4222 let __t = (__coord - -0.85) / (-0.7 - -0.85);
4223 let __h = -0.7 - -0.85;
4224 let __a = 0.0 * __h - (__y2 - __y1);
4225 let __b = -0.0 * __h + (__y2 - __y1);
4226 let __lerp_y = __y1 + __t * (__y2 - __y1);
4227 let __lerp_ab = __a + __t * (__b - __a);
4228 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4229 } else if __coord < -0.4 {
4230 let __y1 = spline_helper_26(noises, cache, x, z);
4231 let __y2 = spline_helper_27(noises, cache, x, z);
4232 let __t = (__coord - -0.7) / (-0.4 - -0.7);
4233 let __h = -0.4 - -0.7;
4234 let __a = 0.0 * __h - (__y2 - __y1);
4235 let __b = -0.0 * __h + (__y2 - __y1);
4236 let __lerp_y = __y1 + __t * (__y2 - __y1);
4237 let __lerp_ab = __a + __t * (__b - __a);
4238 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4239 } else if __coord < -0.35 {
4240 let __y1 = spline_helper_27(noises, cache, x, z);
4241 let __y2 = spline_helper_28(noises, cache, x, z);
4242 let __t = (__coord - -0.4) / (-0.35 - -0.4);
4243 let __h = -0.35 - -0.4;
4244 let __a = 0.0 * __h - (__y2 - __y1);
4245 let __b = -0.0 * __h + (__y2 - __y1);
4246 let __lerp_y = __y1 + __t * (__y2 - __y1);
4247 let __lerp_ab = __a + __t * (__b - __a);
4248 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4249 } else if __coord < -0.1 {
4250 let __y1 = spline_helper_28(noises, cache, x, z);
4251 let __y2 = spline_helper_29(noises, cache, x, z);
4252 let __t = (__coord - -0.35) / (-0.1 - -0.35);
4253 let __h = -0.1 - -0.35;
4254 let __a = 0.0 * __h - (__y2 - __y1);
4255 let __b = -0.0 * __h + (__y2 - __y1);
4256 let __lerp_y = __y1 + __t * (__y2 - __y1);
4257 let __lerp_ab = __a + __t * (__b - __a);
4258 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4259 } else if __coord < 0.2 {
4260 let __y1 = spline_helper_29(noises, cache, x, z);
4261 let __y2 = spline_helper_30(noises, cache, x, z);
4262 let __t = (__coord - -0.1) / (0.2 - -0.1);
4263 let __h = 0.2 - -0.1;
4264 let __a = 0.0 * __h - (__y2 - __y1);
4265 let __b = -0.0 * __h + (__y2 - __y1);
4266 let __lerp_y = __y1 + __t * (__y2 - __y1);
4267 let __lerp_ab = __a + __t * (__b - __a);
4268 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4269 } else if __coord < 0.4 {
4270 let __y1 = spline_helper_30(noises, cache, x, z);
4271 let __y2 = spline_helper_31(noises, cache, x, z);
4272 let __t = (__coord - 0.2) / (0.4 - 0.2);
4273 let __h = 0.4 - 0.2;
4274 let __a = 0.0 * __h - (__y2 - __y1);
4275 let __b = -0.0 * __h + (__y2 - __y1);
4276 let __lerp_y = __y1 + __t * (__y2 - __y1);
4277 let __lerp_ab = __a + __t * (__b - __a);
4278 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4279 } else if __coord < 0.45 {
4280 let __y1 = spline_helper_31(noises, cache, x, z);
4281 let __y2 = spline_helper_32(noises, cache, x, z);
4282 let __t = (__coord - 0.4) / (0.45 - 0.4);
4283 let __h = 0.45 - 0.4;
4284 let __a = 0.0 * __h - (__y2 - __y1);
4285 let __b = -0.0 * __h + (__y2 - __y1);
4286 let __lerp_y = __y1 + __t * (__y2 - __y1);
4287 let __lerp_ab = __a + __t * (__b - __a);
4288 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4289 } else if __coord < 0.55 {
4290 let __y1 = spline_helper_32(noises, cache, x, z);
4291 let __y2 = spline_helper_34(noises, cache, x, z);
4292 let __t = (__coord - 0.45) / (0.55 - 0.45);
4293 let __h = 0.55 - 0.45;
4294 let __a = 0.0 * __h - (__y2 - __y1);
4295 let __b = -0.0 * __h + (__y2 - __y1);
4296 let __lerp_y = __y1 + __t * (__y2 - __y1);
4297 let __lerp_ab = __a + __t * (__b - __a);
4298 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4299 } else if __coord < 0.58 {
4300 let __y1 = spline_helper_34(noises, cache, x, z);
4301 let __y2 = spline_helper_36(noises, cache, x, z);
4302 let __t = (__coord - 0.55) / (0.58 - 0.55);
4303 let __h = 0.58 - 0.55;
4304 let __a = 0.0 * __h - (__y2 - __y1);
4305 let __b = -0.0 * __h + (__y2 - __y1);
4306 let __lerp_y = __y1 + __t * (__y2 - __y1);
4307 let __lerp_ab = __a + __t * (__b - __a);
4308 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4309 } else if __coord < 0.7 {
4310 let __y1 = spline_helper_36(noises, cache, x, z);
4311 let __y2 = spline_helper_37(noises, cache, x, z);
4312 let __t = (__coord - 0.58) / (0.7 - 0.58);
4313 let __h = 0.7 - 0.58;
4314 let __a = 0.0 * __h - (__y2 - __y1);
4315 let __b = -0.0 * __h + (__y2 - __y1);
4316 let __lerp_y = __y1 + __t * (__y2 - __y1);
4317 let __lerp_ab = __a + __t * (__b - __a);
4318 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4319 } else {
4320 f64::from(spline_helper_37(noises, cache, x, z) + 0.0 * (__coord - 0.7))
4321 }
4322 }) as f32
4323}
4324#[inline]
4325fn spline_helper_39(
4326 noises: &OverworldNoises,
4327 cache: &OverworldColumnCache,
4328 x: f64,
4329 z: f64,
4330) -> f32 {
4331 ({
4332 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4333 if __coord < -1.0 {
4334 f64::from(0.34792626 + 0.0 * (__coord - -1.0))
4335 } else if __coord < 0.0 {
4336 let __y1 = 0.34792626;
4337 let __y2 = 0.9239631;
4338 let __t = (__coord - -1.0) / (0.0 - -1.0);
4339 let __h = 0.0 - -1.0;
4340 let __a = 0.0 * __h - (__y2 - __y1);
4341 let __b = -0.5760369 * __h + (__y2 - __y1);
4342 let __lerp_y = __y1 + __t * (__y2 - __y1);
4343 let __lerp_ab = __a + __t * (__b - __a);
4344 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4345 } else if __coord < 1.0 {
4346 let __y1 = 0.9239631;
4347 let __y2 = 1.5;
4348 let __t = (__coord - 0.0) / (1.0 - 0.0);
4349 let __h = 1.0 - 0.0;
4350 let __a = 0.5760369 * __h - (__y2 - __y1);
4351 let __b = -0.5760369 * __h + (__y2 - __y1);
4352 let __lerp_y = __y1 + __t * (__y2 - __y1);
4353 let __lerp_ab = __a + __t * (__b - __a);
4354 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4355 } else {
4356 f64::from(1.5 + 0.5760369 * (__coord - 1.0))
4357 }
4358 }) as f32
4359}
4360#[inline]
4361fn spline_helper_40(
4362 noises: &OverworldNoises,
4363 cache: &OverworldColumnCache,
4364 x: f64,
4365 z: f64,
4366) -> f32 {
4367 ({
4368 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4369 if __coord < -1.0 {
4370 f64::from(0.2 + 0.0 * (__coord - -1.0))
4371 } else if __coord < 0.0 {
4372 let __y1 = 0.2;
4373 let __y2 = 0.5391705;
4374 let __t = (__coord - -1.0) / (0.0 - -1.0);
4375 let __h = 0.0 - -1.0;
4376 let __a = 0.0 * __h - (__y2 - __y1);
4377 let __b = -0.4608295 * __h + (__y2 - __y1);
4378 let __lerp_y = __y1 + __t * (__y2 - __y1);
4379 let __lerp_ab = __a + __t * (__b - __a);
4380 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4381 } else if __coord < 1.0 {
4382 let __y1 = 0.5391705;
4383 let __y2 = 1.0;
4384 let __t = (__coord - 0.0) / (1.0 - 0.0);
4385 let __h = 1.0 - 0.0;
4386 let __a = 0.4608295 * __h - (__y2 - __y1);
4387 let __b = -0.4608295 * __h + (__y2 - __y1);
4388 let __lerp_y = __y1 + __t * (__y2 - __y1);
4389 let __lerp_ab = __a + __t * (__b - __a);
4390 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4391 } else {
4392 f64::from(1.0 + 0.4608295 * (__coord - 1.0))
4393 }
4394 }) as f32
4395}
4396#[inline]
4397fn spline_helper_41(
4398 noises: &OverworldNoises,
4399 cache: &OverworldColumnCache,
4400 x: f64,
4401 z: f64,
4402) -> f32 {
4403 ({
4404 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4405 if __coord < -1.0 {
4406 f64::from(0.2 + 0.0 * (__coord - -1.0))
4407 } else if __coord < 0.0 {
4408 let __y1 = 0.2;
4409 let __y2 = 0.5391705;
4410 let __t = (__coord - -1.0) / (0.0 - -1.0);
4411 let __h = 0.0 - -1.0;
4412 let __a = 0.0 * __h - (__y2 - __y1);
4413 let __b = -0.4608295 * __h + (__y2 - __y1);
4414 let __lerp_y = __y1 + __t * (__y2 - __y1);
4415 let __lerp_ab = __a + __t * (__b - __a);
4416 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4417 } else if __coord < 1.0 {
4418 let __y1 = 0.5391705;
4419 let __y2 = 1.0;
4420 let __t = (__coord - 0.0) / (1.0 - 0.0);
4421 let __h = 1.0 - 0.0;
4422 let __a = 0.4608295 * __h - (__y2 - __y1);
4423 let __b = -0.4608295 * __h + (__y2 - __y1);
4424 let __lerp_y = __y1 + __t * (__y2 - __y1);
4425 let __lerp_ab = __a + __t * (__b - __a);
4426 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4427 } else {
4428 f64::from(1.0 + 0.4608295 * (__coord - 1.0))
4429 }
4430 }) as f32
4431}
4432#[inline]
4433fn spline_helper_42(
4434 noises: &OverworldNoises,
4435 cache: &OverworldColumnCache,
4436 x: f64,
4437 z: f64,
4438) -> f32 {
4439 ({
4440 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4441 if __coord < -1.0 {
4442 f64::from(-0.2 + 0.5 * (__coord - -1.0))
4443 } else if __coord < -0.4 {
4444 let __y1 = -0.2;
4445 let __y2 = 0.5;
4446 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4447 let __h = -0.4 - -1.0;
4448 let __a = 0.5 * __h - (__y2 - __y1);
4449 let __b = -0.0 * __h + (__y2 - __y1);
4450 let __lerp_y = __y1 + __t * (__y2 - __y1);
4451 let __lerp_ab = __a + __t * (__b - __a);
4452 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4453 } else if __coord < 0.0 {
4454 let __y1 = 0.5;
4455 let __y2 = 0.5;
4456 let __t = (__coord - -0.4) / (0.0 - -0.4);
4457 let __h = 0.0 - -0.4;
4458 let __a = 0.0 * __h - (__y2 - __y1);
4459 let __b = -0.0 * __h + (__y2 - __y1);
4460 let __lerp_y = __y1 + __t * (__y2 - __y1);
4461 let __lerp_ab = __a + __t * (__b - __a);
4462 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4463 } else if __coord < 0.4 {
4464 let __y1 = 0.5;
4465 let __y2 = 0.5;
4466 let __t = (__coord - 0.0) / (0.4 - 0.0);
4467 let __h = 0.4 - 0.0;
4468 let __a = 0.0 * __h - (__y2 - __y1);
4469 let __b = -0.0 * __h + (__y2 - __y1);
4470 let __lerp_y = __y1 + __t * (__y2 - __y1);
4471 let __lerp_ab = __a + __t * (__b - __a);
4472 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4473 } else if __coord < 1.0 {
4474 let __y1 = 0.5;
4475 let __y2 = 0.6;
4476 let __t = (__coord - 0.4) / (1.0 - 0.4);
4477 let __h = 1.0 - 0.4;
4478 let __a = 0.0 * __h - (__y2 - __y1);
4479 let __b = -0.070000015 * __h + (__y2 - __y1);
4480 let __lerp_y = __y1 + __t * (__y2 - __y1);
4481 let __lerp_ab = __a + __t * (__b - __a);
4482 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4483 } else {
4484 f64::from(0.6 + 0.070000015 * (__coord - 1.0))
4485 }
4486 }) as f32
4487}
4488#[inline]
4489fn spline_helper_43(
4490 noises: &OverworldNoises,
4491 cache: &OverworldColumnCache,
4492 x: f64,
4493 z: f64,
4494) -> f32 {
4495 ({
4496 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4497 if __coord < -1.0 {
4498 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4499 } else if __coord < -0.4 {
4500 let __y1 = -0.05;
4501 let __y2 = 0.01;
4502 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4503 let __h = -0.4 - -1.0;
4504 let __a = 0.5 * __h - (__y2 - __y1);
4505 let __b = -0.099999994 * __h + (__y2 - __y1);
4506 let __lerp_y = __y1 + __t * (__y2 - __y1);
4507 let __lerp_ab = __a + __t * (__b - __a);
4508 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4509 } else if __coord < 0.0 {
4510 let __y1 = 0.01;
4511 let __y2 = 0.03;
4512 let __t = (__coord - -0.4) / (0.0 - -0.4);
4513 let __h = 0.0 - -0.4;
4514 let __a = 0.099999994 * __h - (__y2 - __y1);
4515 let __b = -0.099999994 * __h + (__y2 - __y1);
4516 let __lerp_y = __y1 + __t * (__y2 - __y1);
4517 let __lerp_ab = __a + __t * (__b - __a);
4518 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4519 } else if __coord < 0.4 {
4520 let __y1 = 0.03;
4521 let __y2 = 0.5;
4522 let __t = (__coord - 0.0) / (0.4 - 0.0);
4523 let __h = 0.4 - 0.0;
4524 let __a = 0.099999994 * __h - (__y2 - __y1);
4525 let __b = -0.94 * __h + (__y2 - __y1);
4526 let __lerp_y = __y1 + __t * (__y2 - __y1);
4527 let __lerp_ab = __a + __t * (__b - __a);
4528 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4529 } else if __coord < 1.0 {
4530 let __y1 = 0.5;
4531 let __y2 = 0.6;
4532 let __t = (__coord - 0.4) / (1.0 - 0.4);
4533 let __h = 1.0 - 0.4;
4534 let __a = 0.94 * __h - (__y2 - __y1);
4535 let __b = -0.070000015 * __h + (__y2 - __y1);
4536 let __lerp_y = __y1 + __t * (__y2 - __y1);
4537 let __lerp_ab = __a + __t * (__b - __a);
4538 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4539 } else {
4540 f64::from(0.6 + 0.070000015 * (__coord - 1.0))
4541 }
4542 }) as f32
4543}
4544#[inline]
4545fn spline_helper_44(
4546 noises: &OverworldNoises,
4547 cache: &OverworldColumnCache,
4548 x: f64,
4549 z: f64,
4550) -> f32 {
4551 ({
4552 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4553 if __coord < -1.0 {
4554 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4555 } else if __coord < -0.4 {
4556 let __y1 = -0.05;
4557 let __y2 = 0.01;
4558 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4559 let __h = -0.4 - -1.0;
4560 let __a = 0.5 * __h - (__y2 - __y1);
4561 let __b = -0.0 * __h + (__y2 - __y1);
4562 let __lerp_y = __y1 + __t * (__y2 - __y1);
4563 let __lerp_ab = __a + __t * (__b - __a);
4564 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4565 } else if __coord < 0.0 {
4566 let __y1 = 0.01;
4567 let __y2 = 0.01;
4568 let __t = (__coord - -0.4) / (0.0 - -0.4);
4569 let __h = 0.0 - -0.4;
4570 let __a = 0.0 * __h - (__y2 - __y1);
4571 let __b = -0.0 * __h + (__y2 - __y1);
4572 let __lerp_y = __y1 + __t * (__y2 - __y1);
4573 let __lerp_ab = __a + __t * (__b - __a);
4574 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4575 } else if __coord < 0.4 {
4576 let __y1 = 0.01;
4577 let __y2 = 0.03;
4578 let __t = (__coord - 0.0) / (0.4 - 0.0);
4579 let __h = 0.4 - 0.0;
4580 let __a = 0.0 * __h - (__y2 - __y1);
4581 let __b = -0.04 * __h + (__y2 - __y1);
4582 let __lerp_y = __y1 + __t * (__y2 - __y1);
4583 let __lerp_ab = __a + __t * (__b - __a);
4584 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4585 } else if __coord < 1.0 {
4586 let __y1 = 0.03;
4587 let __y2 = 0.1;
4588 let __t = (__coord - 0.4) / (1.0 - 0.4);
4589 let __h = 1.0 - 0.4;
4590 let __a = 0.04 * __h - (__y2 - __y1);
4591 let __b = -0.049 * __h + (__y2 - __y1);
4592 let __lerp_y = __y1 + __t * (__y2 - __y1);
4593 let __lerp_ab = __a + __t * (__b - __a);
4594 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4595 } else {
4596 f64::from(0.1 + 0.049 * (__coord - 1.0))
4597 }
4598 }) as f32
4599}
4600#[inline]
4601fn spline_helper_45(
4602 noises: &OverworldNoises,
4603 cache: &OverworldColumnCache,
4604 x: f64,
4605 z: f64,
4606) -> f32 {
4607 ({
4608 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4609 if __coord < -1.0 {
4610 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4611 } else if __coord < -0.4 {
4612 let __y1 = -0.05;
4613 let __y2 = 0.01;
4614 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4615 let __h = -0.4 - -1.0;
4616 let __a = 0.5 * __h - (__y2 - __y1);
4617 let __b = -0.0 * __h + (__y2 - __y1);
4618 let __lerp_y = __y1 + __t * (__y2 - __y1);
4619 let __lerp_ab = __a + __t * (__b - __a);
4620 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4621 } else if __coord < 0.0 {
4622 let __y1 = 0.01;
4623 let __y2 = 0.01;
4624 let __t = (__coord - -0.4) / (0.0 - -0.4);
4625 let __h = 0.0 - -0.4;
4626 let __a = 0.0 * __h - (__y2 - __y1);
4627 let __b = -0.0 * __h + (__y2 - __y1);
4628 let __lerp_y = __y1 + __t * (__y2 - __y1);
4629 let __lerp_ab = __a + __t * (__b - __a);
4630 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4631 } else if __coord < 0.4 {
4632 let __y1 = 0.01;
4633 let __y2 = 0.03;
4634 let __t = (__coord - 0.0) / (0.4 - 0.0);
4635 let __h = 0.4 - 0.0;
4636 let __a = 0.0 * __h - (__y2 - __y1);
4637 let __b = -0.04 * __h + (__y2 - __y1);
4638 let __lerp_y = __y1 + __t * (__y2 - __y1);
4639 let __lerp_ab = __a + __t * (__b - __a);
4640 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4641 } else if __coord < 1.0 {
4642 let __y1 = 0.03;
4643 let __y2 = 0.1;
4644 let __t = (__coord - 0.4) / (1.0 - 0.4);
4645 let __h = 1.0 - 0.4;
4646 let __a = 0.04 * __h - (__y2 - __y1);
4647 let __b = -0.049 * __h + (__y2 - __y1);
4648 let __lerp_y = __y1 + __t * (__y2 - __y1);
4649 let __lerp_ab = __a + __t * (__b - __a);
4650 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4651 } else {
4652 f64::from(0.1 + 0.049 * (__coord - 1.0))
4653 }
4654 }) as f32
4655}
4656#[inline]
4657fn spline_helper_47(
4658 noises: &OverworldNoises,
4659 cache: &OverworldColumnCache,
4660 x: f64,
4661 z: f64,
4662) -> f32 {
4663 ({
4664 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4665 if __coord < -1.0 {
4666 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4667 } else if __coord < -0.4 {
4668 let __y1 = -0.05;
4669 let __y2 = 0.01;
4670 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4671 let __h = -0.4 - -1.0;
4672 let __a = 0.5 * __h - (__y2 - __y1);
4673 let __b = -0.0 * __h + (__y2 - __y1);
4674 let __lerp_y = __y1 + __t * (__y2 - __y1);
4675 let __lerp_ab = __a + __t * (__b - __a);
4676 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4677 } else if __coord < 0.0 {
4678 let __y1 = 0.01;
4679 let __y2 = 0.01;
4680 let __t = (__coord - -0.4) / (0.0 - -0.4);
4681 let __h = 0.0 - -0.4;
4682 let __a = 0.0 * __h - (__y2 - __y1);
4683 let __b = -0.0 * __h + (__y2 - __y1);
4684 let __lerp_y = __y1 + __t * (__y2 - __y1);
4685 let __lerp_ab = __a + __t * (__b - __a);
4686 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4687 } else if __coord < 0.4 {
4688 let __y1 = 0.01;
4689 let __y2 = 0.03;
4690 let __t = (__coord - 0.0) / (0.4 - 0.0);
4691 let __h = 0.4 - 0.0;
4692 let __a = 0.0 * __h - (__y2 - __y1);
4693 let __b = -0.04 * __h + (__y2 - __y1);
4694 let __lerp_y = __y1 + __t * (__y2 - __y1);
4695 let __lerp_ab = __a + __t * (__b - __a);
4696 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4697 } else if __coord < 1.0 {
4698 let __y1 = 0.03;
4699 let __y2 = 0.1;
4700 let __t = (__coord - 0.4) / (1.0 - 0.4);
4701 let __h = 1.0 - 0.4;
4702 let __a = 0.04 * __h - (__y2 - __y1);
4703 let __b = -0.049 * __h + (__y2 - __y1);
4704 let __lerp_y = __y1 + __t * (__y2 - __y1);
4705 let __lerp_ab = __a + __t * (__b - __a);
4706 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4707 } else {
4708 f64::from(0.1 + 0.049 * (__coord - 1.0))
4709 }
4710 }) as f32
4711}
4712#[inline]
4713fn spline_helper_46(
4714 noises: &OverworldNoises,
4715 cache: &OverworldColumnCache,
4716 x: f64,
4717 z: f64,
4718) -> f32 {
4719 ({
4720 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4721 if __coord < -1.0 {
4722 f64::from(-0.05 + 0.0 * (__coord - -1.0))
4723 } else if __coord < -0.4 {
4724 let __y1 = -0.05;
4725 let __y2 = spline_helper_47(noises, cache, x, z);
4726 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4727 let __h = -0.4 - -1.0;
4728 let __a = 0.0 * __h - (__y2 - __y1);
4729 let __b = -0.0 * __h + (__y2 - __y1);
4730 let __lerp_y = __y1 + __t * (__y2 - __y1);
4731 let __lerp_ab = __a + __t * (__b - __a);
4732 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4733 } else if __coord < 0.0 {
4734 let __y1 = spline_helper_47(noises, cache, x, z);
4735 let __y2 = 0.17;
4736 let __t = (__coord - -0.4) / (0.0 - -0.4);
4737 let __h = 0.0 - -0.4;
4738 let __a = 0.0 * __h - (__y2 - __y1);
4739 let __b = -0.0 * __h + (__y2 - __y1);
4740 let __lerp_y = __y1 + __t * (__y2 - __y1);
4741 let __lerp_ab = __a + __t * (__b - __a);
4742 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4743 } else {
4744 f64::from(0.17 + 0.0 * (__coord - 0.0))
4745 }
4746 }) as f32
4747}
4748#[inline]
4749fn spline_helper_49(
4750 noises: &OverworldNoises,
4751 cache: &OverworldColumnCache,
4752 x: f64,
4753 z: f64,
4754) -> f32 {
4755 ({
4756 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4757 if __coord < -1.0 {
4758 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4759 } else if __coord < -0.4 {
4760 let __y1 = -0.05;
4761 let __y2 = 0.01;
4762 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4763 let __h = -0.4 - -1.0;
4764 let __a = 0.5 * __h - (__y2 - __y1);
4765 let __b = -0.0 * __h + (__y2 - __y1);
4766 let __lerp_y = __y1 + __t * (__y2 - __y1);
4767 let __lerp_ab = __a + __t * (__b - __a);
4768 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4769 } else if __coord < 0.0 {
4770 let __y1 = 0.01;
4771 let __y2 = 0.01;
4772 let __t = (__coord - -0.4) / (0.0 - -0.4);
4773 let __h = 0.0 - -0.4;
4774 let __a = 0.0 * __h - (__y2 - __y1);
4775 let __b = -0.0 * __h + (__y2 - __y1);
4776 let __lerp_y = __y1 + __t * (__y2 - __y1);
4777 let __lerp_ab = __a + __t * (__b - __a);
4778 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4779 } else if __coord < 0.4 {
4780 let __y1 = 0.01;
4781 let __y2 = 0.03;
4782 let __t = (__coord - 0.0) / (0.4 - 0.0);
4783 let __h = 0.4 - 0.0;
4784 let __a = 0.0 * __h - (__y2 - __y1);
4785 let __b = -0.04 * __h + (__y2 - __y1);
4786 let __lerp_y = __y1 + __t * (__y2 - __y1);
4787 let __lerp_ab = __a + __t * (__b - __a);
4788 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4789 } else if __coord < 1.0 {
4790 let __y1 = 0.03;
4791 let __y2 = 0.1;
4792 let __t = (__coord - 0.4) / (1.0 - 0.4);
4793 let __h = 1.0 - 0.4;
4794 let __a = 0.04 * __h - (__y2 - __y1);
4795 let __b = -0.049 * __h + (__y2 - __y1);
4796 let __lerp_y = __y1 + __t * (__y2 - __y1);
4797 let __lerp_ab = __a + __t * (__b - __a);
4798 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4799 } else {
4800 f64::from(0.1 + 0.049 * (__coord - 1.0))
4801 }
4802 }) as f32
4803}
4804#[inline]
4805fn spline_helper_48(
4806 noises: &OverworldNoises,
4807 cache: &OverworldColumnCache,
4808 x: f64,
4809 z: f64,
4810) -> f32 {
4811 ({
4812 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4813 if __coord < -1.0 {
4814 f64::from(-0.05 + 0.0 * (__coord - -1.0))
4815 } else if __coord < -0.4 {
4816 let __y1 = -0.05;
4817 let __y2 = spline_helper_49(noises, cache, x, z);
4818 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4819 let __h = -0.4 - -1.0;
4820 let __a = 0.0 * __h - (__y2 - __y1);
4821 let __b = -0.0 * __h + (__y2 - __y1);
4822 let __lerp_y = __y1 + __t * (__y2 - __y1);
4823 let __lerp_ab = __a + __t * (__b - __a);
4824 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4825 } else if __coord < 0.0 {
4826 let __y1 = spline_helper_49(noises, cache, x, z);
4827 let __y2 = 0.17;
4828 let __t = (__coord - -0.4) / (0.0 - -0.4);
4829 let __h = 0.0 - -0.4;
4830 let __a = 0.0 * __h - (__y2 - __y1);
4831 let __b = -0.0 * __h + (__y2 - __y1);
4832 let __lerp_y = __y1 + __t * (__y2 - __y1);
4833 let __lerp_ab = __a + __t * (__b - __a);
4834 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4835 } else {
4836 f64::from(0.17 + 0.0 * (__coord - 0.0))
4837 }
4838 }) as f32
4839}
4840#[inline]
4841fn spline_helper_50(
4842 noises: &OverworldNoises,
4843 cache: &OverworldColumnCache,
4844 x: f64,
4845 z: f64,
4846) -> f32 {
4847 ({
4848 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4849 if __coord < -1.0 {
4850 f64::from(-0.05 + 0.5 * (__coord - -1.0))
4851 } else if __coord < -0.4 {
4852 let __y1 = -0.05;
4853 let __y2 = 0.01;
4854 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4855 let __h = -0.4 - -1.0;
4856 let __a = 0.5 * __h - (__y2 - __y1);
4857 let __b = -0.0 * __h + (__y2 - __y1);
4858 let __lerp_y = __y1 + __t * (__y2 - __y1);
4859 let __lerp_ab = __a + __t * (__b - __a);
4860 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4861 } else if __coord < 0.0 {
4862 let __y1 = 0.01;
4863 let __y2 = 0.01;
4864 let __t = (__coord - -0.4) / (0.0 - -0.4);
4865 let __h = 0.0 - -0.4;
4866 let __a = 0.0 * __h - (__y2 - __y1);
4867 let __b = -0.0 * __h + (__y2 - __y1);
4868 let __lerp_y = __y1 + __t * (__y2 - __y1);
4869 let __lerp_ab = __a + __t * (__b - __a);
4870 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4871 } else if __coord < 0.4 {
4872 let __y1 = 0.01;
4873 let __y2 = 0.03;
4874 let __t = (__coord - 0.0) / (0.4 - 0.0);
4875 let __h = 0.4 - 0.0;
4876 let __a = 0.0 * __h - (__y2 - __y1);
4877 let __b = -0.04 * __h + (__y2 - __y1);
4878 let __lerp_y = __y1 + __t * (__y2 - __y1);
4879 let __lerp_ab = __a + __t * (__b - __a);
4880 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4881 } else if __coord < 1.0 {
4882 let __y1 = 0.03;
4883 let __y2 = 0.1;
4884 let __t = (__coord - 0.4) / (1.0 - 0.4);
4885 let __h = 1.0 - 0.4;
4886 let __a = 0.04 * __h - (__y2 - __y1);
4887 let __b = -0.049 * __h + (__y2 - __y1);
4888 let __lerp_y = __y1 + __t * (__y2 - __y1);
4889 let __lerp_ab = __a + __t * (__b - __a);
4890 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4891 } else {
4892 f64::from(0.1 + 0.049 * (__coord - 1.0))
4893 }
4894 }) as f32
4895}
4896#[inline]
4897fn spline_helper_51(
4898 noises: &OverworldNoises,
4899 cache: &OverworldColumnCache,
4900 x: f64,
4901 z: f64,
4902) -> f32 {
4903 ({
4904 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
4905 if __coord < -1.0 {
4906 f64::from(-0.02 + 0.015 * (__coord - -1.0))
4907 } else if __coord < -0.4 {
4908 let __y1 = -0.02;
4909 let __y2 = 0.01;
4910 let __t = (__coord - -1.0) / (-0.4 - -1.0);
4911 let __h = -0.4 - -1.0;
4912 let __a = 0.015 * __h - (__y2 - __y1);
4913 let __b = -0.0 * __h + (__y2 - __y1);
4914 let __lerp_y = __y1 + __t * (__y2 - __y1);
4915 let __lerp_ab = __a + __t * (__b - __a);
4916 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4917 } else if __coord < 0.0 {
4918 let __y1 = 0.01;
4919 let __y2 = 0.01;
4920 let __t = (__coord - -0.4) / (0.0 - -0.4);
4921 let __h = 0.0 - -0.4;
4922 let __a = 0.0 * __h - (__y2 - __y1);
4923 let __b = -0.0 * __h + (__y2 - __y1);
4924 let __lerp_y = __y1 + __t * (__y2 - __y1);
4925 let __lerp_ab = __a + __t * (__b - __a);
4926 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4927 } else if __coord < 0.4 {
4928 let __y1 = 0.01;
4929 let __y2 = 0.03;
4930 let __t = (__coord - 0.0) / (0.4 - 0.0);
4931 let __h = 0.4 - 0.0;
4932 let __a = 0.0 * __h - (__y2 - __y1);
4933 let __b = -0.04 * __h + (__y2 - __y1);
4934 let __lerp_y = __y1 + __t * (__y2 - __y1);
4935 let __lerp_ab = __a + __t * (__b - __a);
4936 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4937 } else if __coord < 1.0 {
4938 let __y1 = 0.03;
4939 let __y2 = 0.1;
4940 let __t = (__coord - 0.4) / (1.0 - 0.4);
4941 let __h = 1.0 - 0.4;
4942 let __a = 0.04 * __h - (__y2 - __y1);
4943 let __b = -0.049 * __h + (__y2 - __y1);
4944 let __lerp_y = __y1 + __t * (__y2 - __y1);
4945 let __lerp_ab = __a + __t * (__b - __a);
4946 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4947 } else {
4948 f64::from(0.1 + 0.049 * (__coord - 1.0))
4949 }
4950 }) as f32
4951}
4952#[inline]
4953fn spline_helper_38(
4954 noises: &OverworldNoises,
4955 cache: &OverworldColumnCache,
4956 x: f64,
4957 z: f64,
4958) -> f32 {
4959 ({
4960 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
4961 if __coord < -0.85 {
4962 f64::from(spline_helper_39(noises, cache, x, z) + 0.0 * (__coord - -0.85))
4963 } else if __coord < -0.7 {
4964 let __y1 = spline_helper_39(noises, cache, x, z);
4965 let __y2 = spline_helper_40(noises, cache, x, z);
4966 let __t = (__coord - -0.85) / (-0.7 - -0.85);
4967 let __h = -0.7 - -0.85;
4968 let __a = 0.0 * __h - (__y2 - __y1);
4969 let __b = -0.0 * __h + (__y2 - __y1);
4970 let __lerp_y = __y1 + __t * (__y2 - __y1);
4971 let __lerp_ab = __a + __t * (__b - __a);
4972 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4973 } else if __coord < -0.4 {
4974 let __y1 = spline_helper_40(noises, cache, x, z);
4975 let __y2 = spline_helper_41(noises, cache, x, z);
4976 let __t = (__coord - -0.7) / (-0.4 - -0.7);
4977 let __h = -0.4 - -0.7;
4978 let __a = 0.0 * __h - (__y2 - __y1);
4979 let __b = -0.0 * __h + (__y2 - __y1);
4980 let __lerp_y = __y1 + __t * (__y2 - __y1);
4981 let __lerp_ab = __a + __t * (__b - __a);
4982 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4983 } else if __coord < -0.35 {
4984 let __y1 = spline_helper_41(noises, cache, x, z);
4985 let __y2 = spline_helper_42(noises, cache, x, z);
4986 let __t = (__coord - -0.4) / (-0.35 - -0.4);
4987 let __h = -0.35 - -0.4;
4988 let __a = 0.0 * __h - (__y2 - __y1);
4989 let __b = -0.0 * __h + (__y2 - __y1);
4990 let __lerp_y = __y1 + __t * (__y2 - __y1);
4991 let __lerp_ab = __a + __t * (__b - __a);
4992 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
4993 } else if __coord < -0.1 {
4994 let __y1 = spline_helper_42(noises, cache, x, z);
4995 let __y2 = spline_helper_43(noises, cache, x, z);
4996 let __t = (__coord - -0.35) / (-0.1 - -0.35);
4997 let __h = -0.1 - -0.35;
4998 let __a = 0.0 * __h - (__y2 - __y1);
4999 let __b = -0.0 * __h + (__y2 - __y1);
5000 let __lerp_y = __y1 + __t * (__y2 - __y1);
5001 let __lerp_ab = __a + __t * (__b - __a);
5002 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5003 } else if __coord < 0.2 {
5004 let __y1 = spline_helper_43(noises, cache, x, z);
5005 let __y2 = spline_helper_44(noises, cache, x, z);
5006 let __t = (__coord - -0.1) / (0.2 - -0.1);
5007 let __h = 0.2 - -0.1;
5008 let __a = 0.0 * __h - (__y2 - __y1);
5009 let __b = -0.0 * __h + (__y2 - __y1);
5010 let __lerp_y = __y1 + __t * (__y2 - __y1);
5011 let __lerp_ab = __a + __t * (__b - __a);
5012 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5013 } else if __coord < 0.4 {
5014 let __y1 = spline_helper_44(noises, cache, x, z);
5015 let __y2 = spline_helper_45(noises, cache, x, z);
5016 let __t = (__coord - 0.2) / (0.4 - 0.2);
5017 let __h = 0.4 - 0.2;
5018 let __a = 0.0 * __h - (__y2 - __y1);
5019 let __b = -0.0 * __h + (__y2 - __y1);
5020 let __lerp_y = __y1 + __t * (__y2 - __y1);
5021 let __lerp_ab = __a + __t * (__b - __a);
5022 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5023 } else if __coord < 0.45 {
5024 let __y1 = spline_helper_45(noises, cache, x, z);
5025 let __y2 = spline_helper_46(noises, cache, x, z);
5026 let __t = (__coord - 0.4) / (0.45 - 0.4);
5027 let __h = 0.45 - 0.4;
5028 let __a = 0.0 * __h - (__y2 - __y1);
5029 let __b = -0.0 * __h + (__y2 - __y1);
5030 let __lerp_y = __y1 + __t * (__y2 - __y1);
5031 let __lerp_ab = __a + __t * (__b - __a);
5032 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5033 } else if __coord < 0.55 {
5034 let __y1 = spline_helper_46(noises, cache, x, z);
5035 let __y2 = spline_helper_48(noises, cache, x, z);
5036 let __t = (__coord - 0.45) / (0.55 - 0.45);
5037 let __h = 0.55 - 0.45;
5038 let __a = 0.0 * __h - (__y2 - __y1);
5039 let __b = -0.0 * __h + (__y2 - __y1);
5040 let __lerp_y = __y1 + __t * (__y2 - __y1);
5041 let __lerp_ab = __a + __t * (__b - __a);
5042 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5043 } else if __coord < 0.58 {
5044 let __y1 = spline_helper_48(noises, cache, x, z);
5045 let __y2 = spline_helper_50(noises, cache, x, z);
5046 let __t = (__coord - 0.55) / (0.58 - 0.55);
5047 let __h = 0.58 - 0.55;
5048 let __a = 0.0 * __h - (__y2 - __y1);
5049 let __b = -0.0 * __h + (__y2 - __y1);
5050 let __lerp_y = __y1 + __t * (__y2 - __y1);
5051 let __lerp_ab = __a + __t * (__b - __a);
5052 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5053 } else if __coord < 0.7 {
5054 let __y1 = spline_helper_50(noises, cache, x, z);
5055 let __y2 = spline_helper_51(noises, cache, x, z);
5056 let __t = (__coord - 0.58) / (0.7 - 0.58);
5057 let __h = 0.7 - 0.58;
5058 let __a = 0.0 * __h - (__y2 - __y1);
5059 let __b = -0.0 * __h + (__y2 - __y1);
5060 let __lerp_y = __y1 + __t * (__y2 - __y1);
5061 let __lerp_ab = __a + __t * (__b - __a);
5062 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5063 } else {
5064 f64::from(spline_helper_51(noises, cache, x, z) + 0.0 * (__coord - 0.7))
5065 }
5066 }) as f32
5067}
5068#[inline]
5069fn spline_helper_53(
5070 noises: &OverworldNoises,
5071 cache: &OverworldColumnCache,
5072 x: f64,
5073 z: f64,
5074) -> f32 {
5075 ({
5076 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5077 if __coord < -0.2 {
5078 f64::from(6.3 + 0.0 * (__coord - -0.2))
5079 } else if __coord < 0.2 {
5080 let __y1 = 6.3;
5081 let __y2 = 6.25;
5082 let __t = (__coord - -0.2) / (0.2 - -0.2);
5083 let __h = 0.2 - -0.2;
5084 let __a = 0.0 * __h - (__y2 - __y1);
5085 let __b = -0.0 * __h + (__y2 - __y1);
5086 let __lerp_y = __y1 + __t * (__y2 - __y1);
5087 let __lerp_ab = __a + __t * (__b - __a);
5088 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5089 } else {
5090 f64::from(6.25 + 0.0 * (__coord - 0.2))
5091 }
5092 }) as f32
5093}
5094#[inline]
5095fn spline_helper_54(
5096 noises: &OverworldNoises,
5097 cache: &OverworldColumnCache,
5098 x: f64,
5099 z: f64,
5100) -> f32 {
5101 ({
5102 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5103 if __coord < -0.05 {
5104 f64::from(6.3 + 0.0 * (__coord - -0.05))
5105 } else if __coord < 0.05 {
5106 let __y1 = 6.3;
5107 let __y2 = 2.67;
5108 let __t = (__coord - -0.05) / (0.05 - -0.05);
5109 let __h = 0.05 - -0.05;
5110 let __a = 0.0 * __h - (__y2 - __y1);
5111 let __b = -0.0 * __h + (__y2 - __y1);
5112 let __lerp_y = __y1 + __t * (__y2 - __y1);
5113 let __lerp_ab = __a + __t * (__b - __a);
5114 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5115 } else {
5116 f64::from(2.67 + 0.0 * (__coord - 0.05))
5117 }
5118 }) as f32
5119}
5120#[inline]
5121fn spline_helper_55(
5122 noises: &OverworldNoises,
5123 cache: &OverworldColumnCache,
5124 x: f64,
5125 z: f64,
5126) -> f32 {
5127 ({
5128 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5129 if __coord < -0.2 {
5130 f64::from(6.3 + 0.0 * (__coord - -0.2))
5131 } else if __coord < 0.2 {
5132 let __y1 = 6.3;
5133 let __y2 = 6.25;
5134 let __t = (__coord - -0.2) / (0.2 - -0.2);
5135 let __h = 0.2 - -0.2;
5136 let __a = 0.0 * __h - (__y2 - __y1);
5137 let __b = -0.0 * __h + (__y2 - __y1);
5138 let __lerp_y = __y1 + __t * (__y2 - __y1);
5139 let __lerp_ab = __a + __t * (__b - __a);
5140 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5141 } else {
5142 f64::from(6.25 + 0.0 * (__coord - 0.2))
5143 }
5144 }) as f32
5145}
5146#[inline]
5147fn spline_helper_56(
5148 noises: &OverworldNoises,
5149 cache: &OverworldColumnCache,
5150 x: f64,
5151 z: f64,
5152) -> f32 {
5153 ({
5154 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5155 if __coord < -0.2 {
5156 f64::from(6.3 + 0.0 * (__coord - -0.2))
5157 } else if __coord < 0.2 {
5158 let __y1 = 6.3;
5159 let __y2 = 6.25;
5160 let __t = (__coord - -0.2) / (0.2 - -0.2);
5161 let __h = 0.2 - -0.2;
5162 let __a = 0.0 * __h - (__y2 - __y1);
5163 let __b = -0.0 * __h + (__y2 - __y1);
5164 let __lerp_y = __y1 + __t * (__y2 - __y1);
5165 let __lerp_ab = __a + __t * (__b - __a);
5166 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5167 } else {
5168 f64::from(6.25 + 0.0 * (__coord - 0.2))
5169 }
5170 }) as f32
5171}
5172#[inline]
5173fn spline_helper_57(
5174 noises: &OverworldNoises,
5175 cache: &OverworldColumnCache,
5176 x: f64,
5177 z: f64,
5178) -> f32 {
5179 ({
5180 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5181 if __coord < -0.05 {
5182 f64::from(2.67 + 0.0 * (__coord - -0.05))
5183 } else if __coord < 0.05 {
5184 let __y1 = 2.67;
5185 let __y2 = 6.3;
5186 let __t = (__coord - -0.05) / (0.05 - -0.05);
5187 let __h = 0.05 - -0.05;
5188 let __a = 0.0 * __h - (__y2 - __y1);
5189 let __b = -0.0 * __h + (__y2 - __y1);
5190 let __lerp_y = __y1 + __t * (__y2 - __y1);
5191 let __lerp_ab = __a + __t * (__b - __a);
5192 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5193 } else {
5194 f64::from(6.3 + 0.0 * (__coord - 0.05))
5195 }
5196 }) as f32
5197}
5198#[inline]
5199fn spline_helper_58(
5200 noises: &OverworldNoises,
5201 cache: &OverworldColumnCache,
5202 x: f64,
5203 z: f64,
5204) -> f32 {
5205 ({
5206 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5207 if __coord < -0.2 {
5208 f64::from(6.3 + 0.0 * (__coord - -0.2))
5209 } else if __coord < 0.2 {
5210 let __y1 = 6.3;
5211 let __y2 = 6.25;
5212 let __t = (__coord - -0.2) / (0.2 - -0.2);
5213 let __h = 0.2 - -0.2;
5214 let __a = 0.0 * __h - (__y2 - __y1);
5215 let __b = -0.0 * __h + (__y2 - __y1);
5216 let __lerp_y = __y1 + __t * (__y2 - __y1);
5217 let __lerp_ab = __a + __t * (__b - __a);
5218 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5219 } else {
5220 f64::from(6.25 + 0.0 * (__coord - 0.2))
5221 }
5222 }) as f32
5223}
5224#[inline]
5225fn spline_helper_60(
5226 noises: &OverworldNoises,
5227 cache: &OverworldColumnCache,
5228 x: f64,
5229 z: f64,
5230) -> f32 {
5231 ({
5232 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5233 if __coord < 0.0 {
5234 f64::from(6.25 + 0.0 * (__coord - 0.0))
5235 } else if __coord < 0.1 {
5236 let __y1 = 6.25;
5237 let __y2 = 0.625;
5238 let __t = (__coord - 0.0) / (0.1 - 0.0);
5239 let __h = 0.1 - 0.0;
5240 let __a = 0.0 * __h - (__y2 - __y1);
5241 let __b = -0.0 * __h + (__y2 - __y1);
5242 let __lerp_y = __y1 + __t * (__y2 - __y1);
5243 let __lerp_ab = __a + __t * (__b - __a);
5244 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5245 } else {
5246 f64::from(0.625 + 0.0 * (__coord - 0.1))
5247 }
5248 }) as f32
5249}
5250#[inline]
5251fn spline_helper_59(
5252 noises: &OverworldNoises,
5253 cache: &OverworldColumnCache,
5254 x: f64,
5255 z: f64,
5256) -> f32 {
5257 ({
5258 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
5259 if __coord < -0.9 {
5260 f64::from(6.25 + 0.0 * (__coord - -0.9))
5261 } else if __coord < -0.69 {
5262 let __y1 = 6.25;
5263 let __y2 = spline_helper_60(noises, cache, x, z);
5264 let __t = (__coord - -0.9) / (-0.69 - -0.9);
5265 let __h = -0.69 - -0.9;
5266 let __a = 0.0 * __h - (__y2 - __y1);
5267 let __b = -0.0 * __h + (__y2 - __y1);
5268 let __lerp_y = __y1 + __t * (__y2 - __y1);
5269 let __lerp_ab = __a + __t * (__b - __a);
5270 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5271 } else {
5272 f64::from(spline_helper_60(noises, cache, x, z) + 0.0 * (__coord - -0.69))
5273 }
5274 }) as f32
5275}
5276#[inline]
5277fn spline_helper_62(
5278 noises: &OverworldNoises,
5279 cache: &OverworldColumnCache,
5280 x: f64,
5281 z: f64,
5282) -> f32 {
5283 ({
5284 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5285 if __coord < 0.0 {
5286 f64::from(6.25 + 0.0 * (__coord - 0.0))
5287 } else if __coord < 0.1 {
5288 let __y1 = 6.25;
5289 let __y2 = 0.625;
5290 let __t = (__coord - 0.0) / (0.1 - 0.0);
5291 let __h = 0.1 - 0.0;
5292 let __a = 0.0 * __h - (__y2 - __y1);
5293 let __b = -0.0 * __h + (__y2 - __y1);
5294 let __lerp_y = __y1 + __t * (__y2 - __y1);
5295 let __lerp_ab = __a + __t * (__b - __a);
5296 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5297 } else {
5298 f64::from(0.625 + 0.0 * (__coord - 0.1))
5299 }
5300 }) as f32
5301}
5302#[inline]
5303fn spline_helper_61(
5304 noises: &OverworldNoises,
5305 cache: &OverworldColumnCache,
5306 x: f64,
5307 z: f64,
5308) -> f32 {
5309 ({
5310 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
5311 if __coord < -0.9 {
5312 f64::from(6.25 + 0.0 * (__coord - -0.9))
5313 } else if __coord < -0.69 {
5314 let __y1 = 6.25;
5315 let __y2 = spline_helper_62(noises, cache, x, z);
5316 let __t = (__coord - -0.9) / (-0.69 - -0.9);
5317 let __h = -0.69 - -0.9;
5318 let __a = 0.0 * __h - (__y2 - __y1);
5319 let __b = -0.0 * __h + (__y2 - __y1);
5320 let __lerp_y = __y1 + __t * (__y2 - __y1);
5321 let __lerp_ab = __a + __t * (__b - __a);
5322 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5323 } else {
5324 f64::from(spline_helper_62(noises, cache, x, z) + 0.0 * (__coord - -0.69))
5325 }
5326 }) as f32
5327}
5328#[inline]
5329fn spline_helper_52(
5330 noises: &OverworldNoises,
5331 cache: &OverworldColumnCache,
5332 x: f64,
5333 z: f64,
5334) -> f32 {
5335 ({
5336 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
5337 if __coord < -0.6 {
5338 f64::from(spline_helper_53(noises, cache, x, z) + 0.0 * (__coord - -0.6))
5339 } else if __coord < -0.5 {
5340 let __y1 = spline_helper_53(noises, cache, x, z);
5341 let __y2 = spline_helper_54(noises, cache, x, z);
5342 let __t = (__coord - -0.6) / (-0.5 - -0.6);
5343 let __h = -0.5 - -0.6;
5344 let __a = 0.0 * __h - (__y2 - __y1);
5345 let __b = -0.0 * __h + (__y2 - __y1);
5346 let __lerp_y = __y1 + __t * (__y2 - __y1);
5347 let __lerp_ab = __a + __t * (__b - __a);
5348 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5349 } else if __coord < -0.35 {
5350 let __y1 = spline_helper_54(noises, cache, x, z);
5351 let __y2 = spline_helper_55(noises, cache, x, z);
5352 let __t = (__coord - -0.5) / (-0.35 - -0.5);
5353 let __h = -0.35 - -0.5;
5354 let __a = 0.0 * __h - (__y2 - __y1);
5355 let __b = -0.0 * __h + (__y2 - __y1);
5356 let __lerp_y = __y1 + __t * (__y2 - __y1);
5357 let __lerp_ab = __a + __t * (__b - __a);
5358 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5359 } else if __coord < -0.25 {
5360 let __y1 = spline_helper_55(noises, cache, x, z);
5361 let __y2 = spline_helper_56(noises, cache, x, z);
5362 let __t = (__coord - -0.35) / (-0.25 - -0.35);
5363 let __h = -0.25 - -0.35;
5364 let __a = 0.0 * __h - (__y2 - __y1);
5365 let __b = -0.0 * __h + (__y2 - __y1);
5366 let __lerp_y = __y1 + __t * (__y2 - __y1);
5367 let __lerp_ab = __a + __t * (__b - __a);
5368 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5369 } else if __coord < -0.1 {
5370 let __y1 = spline_helper_56(noises, cache, x, z);
5371 let __y2 = spline_helper_57(noises, cache, x, z);
5372 let __t = (__coord - -0.25) / (-0.1 - -0.25);
5373 let __h = -0.1 - -0.25;
5374 let __a = 0.0 * __h - (__y2 - __y1);
5375 let __b = -0.0 * __h + (__y2 - __y1);
5376 let __lerp_y = __y1 + __t * (__y2 - __y1);
5377 let __lerp_ab = __a + __t * (__b - __a);
5378 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5379 } else if __coord < 0.03 {
5380 let __y1 = spline_helper_57(noises, cache, x, z);
5381 let __y2 = spline_helper_58(noises, cache, x, z);
5382 let __t = (__coord - -0.1) / (0.03 - -0.1);
5383 let __h = 0.03 - -0.1;
5384 let __a = 0.0 * __h - (__y2 - __y1);
5385 let __b = -0.0 * __h + (__y2 - __y1);
5386 let __lerp_y = __y1 + __t * (__y2 - __y1);
5387 let __lerp_ab = __a + __t * (__b - __a);
5388 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5389 } else if __coord < 0.35 {
5390 let __y1 = spline_helper_58(noises, cache, x, z);
5391 let __y2 = 6.25;
5392 let __t = (__coord - 0.03) / (0.35 - 0.03);
5393 let __h = 0.35 - 0.03;
5394 let __a = 0.0 * __h - (__y2 - __y1);
5395 let __b = -0.0 * __h + (__y2 - __y1);
5396 let __lerp_y = __y1 + __t * (__y2 - __y1);
5397 let __lerp_ab = __a + __t * (__b - __a);
5398 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5399 } else if __coord < 0.45 {
5400 let __y1 = 6.25;
5401 let __y2 = spline_helper_59(noises, cache, x, z);
5402 let __t = (__coord - 0.35) / (0.45 - 0.35);
5403 let __h = 0.45 - 0.35;
5404 let __a = 0.0 * __h - (__y2 - __y1);
5405 let __b = -0.0 * __h + (__y2 - __y1);
5406 let __lerp_y = __y1 + __t * (__y2 - __y1);
5407 let __lerp_ab = __a + __t * (__b - __a);
5408 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5409 } else if __coord < 0.55 {
5410 let __y1 = spline_helper_59(noises, cache, x, z);
5411 let __y2 = spline_helper_61(noises, cache, x, z);
5412 let __t = (__coord - 0.45) / (0.55 - 0.45);
5413 let __h = 0.55 - 0.45;
5414 let __a = 0.0 * __h - (__y2 - __y1);
5415 let __b = -0.0 * __h + (__y2 - __y1);
5416 let __lerp_y = __y1 + __t * (__y2 - __y1);
5417 let __lerp_ab = __a + __t * (__b - __a);
5418 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5419 } else if __coord < 0.62 {
5420 let __y1 = spline_helper_61(noises, cache, x, z);
5421 let __y2 = 6.25;
5422 let __t = (__coord - 0.55) / (0.62 - 0.55);
5423 let __h = 0.62 - 0.55;
5424 let __a = 0.0 * __h - (__y2 - __y1);
5425 let __b = -0.0 * __h + (__y2 - __y1);
5426 let __lerp_y = __y1 + __t * (__y2 - __y1);
5427 let __lerp_ab = __a + __t * (__b - __a);
5428 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5429 } else {
5430 f64::from(6.25 + 0.0 * (__coord - 0.62))
5431 }
5432 }) as f32
5433}
5434#[inline]
5435fn spline_helper_64(
5436 noises: &OverworldNoises,
5437 cache: &OverworldColumnCache,
5438 x: f64,
5439 z: f64,
5440) -> f32 {
5441 ({
5442 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5443 if __coord < -0.2 {
5444 f64::from(6.3 + 0.0 * (__coord - -0.2))
5445 } else if __coord < 0.2 {
5446 let __y1 = 6.3;
5447 let __y2 = 5.47;
5448 let __t = (__coord - -0.2) / (0.2 - -0.2);
5449 let __h = 0.2 - -0.2;
5450 let __a = 0.0 * __h - (__y2 - __y1);
5451 let __b = -0.0 * __h + (__y2 - __y1);
5452 let __lerp_y = __y1 + __t * (__y2 - __y1);
5453 let __lerp_ab = __a + __t * (__b - __a);
5454 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5455 } else {
5456 f64::from(5.47 + 0.0 * (__coord - 0.2))
5457 }
5458 }) as f32
5459}
5460#[inline]
5461fn spline_helper_65(
5462 noises: &OverworldNoises,
5463 cache: &OverworldColumnCache,
5464 x: f64,
5465 z: f64,
5466) -> f32 {
5467 ({
5468 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5469 if __coord < -0.05 {
5470 f64::from(6.3 + 0.0 * (__coord - -0.05))
5471 } else if __coord < 0.05 {
5472 let __y1 = 6.3;
5473 let __y2 = 2.67;
5474 let __t = (__coord - -0.05) / (0.05 - -0.05);
5475 let __h = 0.05 - -0.05;
5476 let __a = 0.0 * __h - (__y2 - __y1);
5477 let __b = -0.0 * __h + (__y2 - __y1);
5478 let __lerp_y = __y1 + __t * (__y2 - __y1);
5479 let __lerp_ab = __a + __t * (__b - __a);
5480 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5481 } else {
5482 f64::from(2.67 + 0.0 * (__coord - 0.05))
5483 }
5484 }) as f32
5485}
5486#[inline]
5487fn spline_helper_66(
5488 noises: &OverworldNoises,
5489 cache: &OverworldColumnCache,
5490 x: f64,
5491 z: f64,
5492) -> f32 {
5493 ({
5494 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5495 if __coord < -0.2 {
5496 f64::from(6.3 + 0.0 * (__coord - -0.2))
5497 } else if __coord < 0.2 {
5498 let __y1 = 6.3;
5499 let __y2 = 5.47;
5500 let __t = (__coord - -0.2) / (0.2 - -0.2);
5501 let __h = 0.2 - -0.2;
5502 let __a = 0.0 * __h - (__y2 - __y1);
5503 let __b = -0.0 * __h + (__y2 - __y1);
5504 let __lerp_y = __y1 + __t * (__y2 - __y1);
5505 let __lerp_ab = __a + __t * (__b - __a);
5506 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5507 } else {
5508 f64::from(5.47 + 0.0 * (__coord - 0.2))
5509 }
5510 }) as f32
5511}
5512#[inline]
5513fn spline_helper_67(
5514 noises: &OverworldNoises,
5515 cache: &OverworldColumnCache,
5516 x: f64,
5517 z: f64,
5518) -> f32 {
5519 ({
5520 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5521 if __coord < -0.2 {
5522 f64::from(6.3 + 0.0 * (__coord - -0.2))
5523 } else if __coord < 0.2 {
5524 let __y1 = 6.3;
5525 let __y2 = 5.47;
5526 let __t = (__coord - -0.2) / (0.2 - -0.2);
5527 let __h = 0.2 - -0.2;
5528 let __a = 0.0 * __h - (__y2 - __y1);
5529 let __b = -0.0 * __h + (__y2 - __y1);
5530 let __lerp_y = __y1 + __t * (__y2 - __y1);
5531 let __lerp_ab = __a + __t * (__b - __a);
5532 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5533 } else {
5534 f64::from(5.47 + 0.0 * (__coord - 0.2))
5535 }
5536 }) as f32
5537}
5538#[inline]
5539fn spline_helper_68(
5540 noises: &OverworldNoises,
5541 cache: &OverworldColumnCache,
5542 x: f64,
5543 z: f64,
5544) -> f32 {
5545 ({
5546 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5547 if __coord < -0.05 {
5548 f64::from(2.67 + 0.0 * (__coord - -0.05))
5549 } else if __coord < 0.05 {
5550 let __y1 = 2.67;
5551 let __y2 = 6.3;
5552 let __t = (__coord - -0.05) / (0.05 - -0.05);
5553 let __h = 0.05 - -0.05;
5554 let __a = 0.0 * __h - (__y2 - __y1);
5555 let __b = -0.0 * __h + (__y2 - __y1);
5556 let __lerp_y = __y1 + __t * (__y2 - __y1);
5557 let __lerp_ab = __a + __t * (__b - __a);
5558 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5559 } else {
5560 f64::from(6.3 + 0.0 * (__coord - 0.05))
5561 }
5562 }) as f32
5563}
5564#[inline]
5565fn spline_helper_69(
5566 noises: &OverworldNoises,
5567 cache: &OverworldColumnCache,
5568 x: f64,
5569 z: f64,
5570) -> f32 {
5571 ({
5572 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5573 if __coord < -0.2 {
5574 f64::from(6.3 + 0.0 * (__coord - -0.2))
5575 } else if __coord < 0.2 {
5576 let __y1 = 6.3;
5577 let __y2 = 5.47;
5578 let __t = (__coord - -0.2) / (0.2 - -0.2);
5579 let __h = 0.2 - -0.2;
5580 let __a = 0.0 * __h - (__y2 - __y1);
5581 let __b = -0.0 * __h + (__y2 - __y1);
5582 let __lerp_y = __y1 + __t * (__y2 - __y1);
5583 let __lerp_ab = __a + __t * (__b - __a);
5584 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5585 } else {
5586 f64::from(5.47 + 0.0 * (__coord - 0.2))
5587 }
5588 }) as f32
5589}
5590#[inline]
5591fn spline_helper_71(
5592 noises: &OverworldNoises,
5593 cache: &OverworldColumnCache,
5594 x: f64,
5595 z: f64,
5596) -> f32 {
5597 ({
5598 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5599 if __coord < 0.0 {
5600 f64::from(5.47 + 0.0 * (__coord - 0.0))
5601 } else if __coord < 0.1 {
5602 let __y1 = 5.47;
5603 let __y2 = 0.625;
5604 let __t = (__coord - 0.0) / (0.1 - 0.0);
5605 let __h = 0.1 - 0.0;
5606 let __a = 0.0 * __h - (__y2 - __y1);
5607 let __b = -0.0 * __h + (__y2 - __y1);
5608 let __lerp_y = __y1 + __t * (__y2 - __y1);
5609 let __lerp_ab = __a + __t * (__b - __a);
5610 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5611 } else {
5612 f64::from(0.625 + 0.0 * (__coord - 0.1))
5613 }
5614 }) as f32
5615}
5616#[inline]
5617fn spline_helper_70(
5618 noises: &OverworldNoises,
5619 cache: &OverworldColumnCache,
5620 x: f64,
5621 z: f64,
5622) -> f32 {
5623 ({
5624 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
5625 if __coord < -0.9 {
5626 f64::from(5.47 + 0.0 * (__coord - -0.9))
5627 } else if __coord < -0.69 {
5628 let __y1 = 5.47;
5629 let __y2 = spline_helper_71(noises, cache, x, z);
5630 let __t = (__coord - -0.9) / (-0.69 - -0.9);
5631 let __h = -0.69 - -0.9;
5632 let __a = 0.0 * __h - (__y2 - __y1);
5633 let __b = -0.0 * __h + (__y2 - __y1);
5634 let __lerp_y = __y1 + __t * (__y2 - __y1);
5635 let __lerp_ab = __a + __t * (__b - __a);
5636 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5637 } else {
5638 f64::from(spline_helper_71(noises, cache, x, z) + 0.0 * (__coord - -0.69))
5639 }
5640 }) as f32
5641}
5642#[inline]
5643fn spline_helper_73(
5644 noises: &OverworldNoises,
5645 cache: &OverworldColumnCache,
5646 x: f64,
5647 z: f64,
5648) -> f32 {
5649 ({
5650 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5651 if __coord < 0.0 {
5652 f64::from(5.47 + 0.0 * (__coord - 0.0))
5653 } else if __coord < 0.1 {
5654 let __y1 = 5.47;
5655 let __y2 = 0.625;
5656 let __t = (__coord - 0.0) / (0.1 - 0.0);
5657 let __h = 0.1 - 0.0;
5658 let __a = 0.0 * __h - (__y2 - __y1);
5659 let __b = -0.0 * __h + (__y2 - __y1);
5660 let __lerp_y = __y1 + __t * (__y2 - __y1);
5661 let __lerp_ab = __a + __t * (__b - __a);
5662 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5663 } else {
5664 f64::from(0.625 + 0.0 * (__coord - 0.1))
5665 }
5666 }) as f32
5667}
5668#[inline]
5669fn spline_helper_72(
5670 noises: &OverworldNoises,
5671 cache: &OverworldColumnCache,
5672 x: f64,
5673 z: f64,
5674) -> f32 {
5675 ({
5676 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
5677 if __coord < -0.9 {
5678 f64::from(5.47 + 0.0 * (__coord - -0.9))
5679 } else if __coord < -0.69 {
5680 let __y1 = 5.47;
5681 let __y2 = spline_helper_73(noises, cache, x, z);
5682 let __t = (__coord - -0.9) / (-0.69 - -0.9);
5683 let __h = -0.69 - -0.9;
5684 let __a = 0.0 * __h - (__y2 - __y1);
5685 let __b = -0.0 * __h + (__y2 - __y1);
5686 let __lerp_y = __y1 + __t * (__y2 - __y1);
5687 let __lerp_ab = __a + __t * (__b - __a);
5688 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5689 } else {
5690 f64::from(spline_helper_73(noises, cache, x, z) + 0.0 * (__coord - -0.69))
5691 }
5692 }) as f32
5693}
5694#[inline]
5695fn spline_helper_63(
5696 noises: &OverworldNoises,
5697 cache: &OverworldColumnCache,
5698 x: f64,
5699 z: f64,
5700) -> f32 {
5701 ({
5702 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
5703 if __coord < -0.6 {
5704 f64::from(spline_helper_64(noises, cache, x, z) + 0.0 * (__coord - -0.6))
5705 } else if __coord < -0.5 {
5706 let __y1 = spline_helper_64(noises, cache, x, z);
5707 let __y2 = spline_helper_65(noises, cache, x, z);
5708 let __t = (__coord - -0.6) / (-0.5 - -0.6);
5709 let __h = -0.5 - -0.6;
5710 let __a = 0.0 * __h - (__y2 - __y1);
5711 let __b = -0.0 * __h + (__y2 - __y1);
5712 let __lerp_y = __y1 + __t * (__y2 - __y1);
5713 let __lerp_ab = __a + __t * (__b - __a);
5714 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5715 } else if __coord < -0.35 {
5716 let __y1 = spline_helper_65(noises, cache, x, z);
5717 let __y2 = spline_helper_66(noises, cache, x, z);
5718 let __t = (__coord - -0.5) / (-0.35 - -0.5);
5719 let __h = -0.35 - -0.5;
5720 let __a = 0.0 * __h - (__y2 - __y1);
5721 let __b = -0.0 * __h + (__y2 - __y1);
5722 let __lerp_y = __y1 + __t * (__y2 - __y1);
5723 let __lerp_ab = __a + __t * (__b - __a);
5724 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5725 } else if __coord < -0.25 {
5726 let __y1 = spline_helper_66(noises, cache, x, z);
5727 let __y2 = spline_helper_67(noises, cache, x, z);
5728 let __t = (__coord - -0.35) / (-0.25 - -0.35);
5729 let __h = -0.25 - -0.35;
5730 let __a = 0.0 * __h - (__y2 - __y1);
5731 let __b = -0.0 * __h + (__y2 - __y1);
5732 let __lerp_y = __y1 + __t * (__y2 - __y1);
5733 let __lerp_ab = __a + __t * (__b - __a);
5734 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5735 } else if __coord < -0.1 {
5736 let __y1 = spline_helper_67(noises, cache, x, z);
5737 let __y2 = spline_helper_68(noises, cache, x, z);
5738 let __t = (__coord - -0.25) / (-0.1 - -0.25);
5739 let __h = -0.1 - -0.25;
5740 let __a = 0.0 * __h - (__y2 - __y1);
5741 let __b = -0.0 * __h + (__y2 - __y1);
5742 let __lerp_y = __y1 + __t * (__y2 - __y1);
5743 let __lerp_ab = __a + __t * (__b - __a);
5744 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5745 } else if __coord < 0.03 {
5746 let __y1 = spline_helper_68(noises, cache, x, z);
5747 let __y2 = spline_helper_69(noises, cache, x, z);
5748 let __t = (__coord - -0.1) / (0.03 - -0.1);
5749 let __h = 0.03 - -0.1;
5750 let __a = 0.0 * __h - (__y2 - __y1);
5751 let __b = -0.0 * __h + (__y2 - __y1);
5752 let __lerp_y = __y1 + __t * (__y2 - __y1);
5753 let __lerp_ab = __a + __t * (__b - __a);
5754 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5755 } else if __coord < 0.35 {
5756 let __y1 = spline_helper_69(noises, cache, x, z);
5757 let __y2 = 5.47;
5758 let __t = (__coord - 0.03) / (0.35 - 0.03);
5759 let __h = 0.35 - 0.03;
5760 let __a = 0.0 * __h - (__y2 - __y1);
5761 let __b = -0.0 * __h + (__y2 - __y1);
5762 let __lerp_y = __y1 + __t * (__y2 - __y1);
5763 let __lerp_ab = __a + __t * (__b - __a);
5764 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5765 } else if __coord < 0.45 {
5766 let __y1 = 5.47;
5767 let __y2 = spline_helper_70(noises, cache, x, z);
5768 let __t = (__coord - 0.35) / (0.45 - 0.35);
5769 let __h = 0.45 - 0.35;
5770 let __a = 0.0 * __h - (__y2 - __y1);
5771 let __b = -0.0 * __h + (__y2 - __y1);
5772 let __lerp_y = __y1 + __t * (__y2 - __y1);
5773 let __lerp_ab = __a + __t * (__b - __a);
5774 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5775 } else if __coord < 0.55 {
5776 let __y1 = spline_helper_70(noises, cache, x, z);
5777 let __y2 = spline_helper_72(noises, cache, x, z);
5778 let __t = (__coord - 0.45) / (0.55 - 0.45);
5779 let __h = 0.55 - 0.45;
5780 let __a = 0.0 * __h - (__y2 - __y1);
5781 let __b = -0.0 * __h + (__y2 - __y1);
5782 let __lerp_y = __y1 + __t * (__y2 - __y1);
5783 let __lerp_ab = __a + __t * (__b - __a);
5784 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5785 } else if __coord < 0.62 {
5786 let __y1 = spline_helper_72(noises, cache, x, z);
5787 let __y2 = 5.47;
5788 let __t = (__coord - 0.55) / (0.62 - 0.55);
5789 let __h = 0.62 - 0.55;
5790 let __a = 0.0 * __h - (__y2 - __y1);
5791 let __b = -0.0 * __h + (__y2 - __y1);
5792 let __lerp_y = __y1 + __t * (__y2 - __y1);
5793 let __lerp_ab = __a + __t * (__b - __a);
5794 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5795 } else {
5796 f64::from(5.47 + 0.0 * (__coord - 0.62))
5797 }
5798 }) as f32
5799}
5800#[inline]
5801fn spline_helper_75(
5802 noises: &OverworldNoises,
5803 cache: &OverworldColumnCache,
5804 x: f64,
5805 z: f64,
5806) -> f32 {
5807 ({
5808 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5809 if __coord < -0.2 {
5810 f64::from(6.3 + 0.0 * (__coord - -0.2))
5811 } else if __coord < 0.2 {
5812 let __y1 = 6.3;
5813 let __y2 = 5.08;
5814 let __t = (__coord - -0.2) / (0.2 - -0.2);
5815 let __h = 0.2 - -0.2;
5816 let __a = 0.0 * __h - (__y2 - __y1);
5817 let __b = -0.0 * __h + (__y2 - __y1);
5818 let __lerp_y = __y1 + __t * (__y2 - __y1);
5819 let __lerp_ab = __a + __t * (__b - __a);
5820 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5821 } else {
5822 f64::from(5.08 + 0.0 * (__coord - 0.2))
5823 }
5824 }) as f32
5825}
5826#[inline]
5827fn spline_helper_76(
5828 noises: &OverworldNoises,
5829 cache: &OverworldColumnCache,
5830 x: f64,
5831 z: f64,
5832) -> f32 {
5833 ({
5834 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5835 if __coord < -0.05 {
5836 f64::from(6.3 + 0.0 * (__coord - -0.05))
5837 } else if __coord < 0.05 {
5838 let __y1 = 6.3;
5839 let __y2 = 2.67;
5840 let __t = (__coord - -0.05) / (0.05 - -0.05);
5841 let __h = 0.05 - -0.05;
5842 let __a = 0.0 * __h - (__y2 - __y1);
5843 let __b = -0.0 * __h + (__y2 - __y1);
5844 let __lerp_y = __y1 + __t * (__y2 - __y1);
5845 let __lerp_ab = __a + __t * (__b - __a);
5846 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5847 } else {
5848 f64::from(2.67 + 0.0 * (__coord - 0.05))
5849 }
5850 }) as f32
5851}
5852#[inline]
5853fn spline_helper_77(
5854 noises: &OverworldNoises,
5855 cache: &OverworldColumnCache,
5856 x: f64,
5857 z: f64,
5858) -> f32 {
5859 ({
5860 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5861 if __coord < -0.2 {
5862 f64::from(6.3 + 0.0 * (__coord - -0.2))
5863 } else if __coord < 0.2 {
5864 let __y1 = 6.3;
5865 let __y2 = 5.08;
5866 let __t = (__coord - -0.2) / (0.2 - -0.2);
5867 let __h = 0.2 - -0.2;
5868 let __a = 0.0 * __h - (__y2 - __y1);
5869 let __b = -0.0 * __h + (__y2 - __y1);
5870 let __lerp_y = __y1 + __t * (__y2 - __y1);
5871 let __lerp_ab = __a + __t * (__b - __a);
5872 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5873 } else {
5874 f64::from(5.08 + 0.0 * (__coord - 0.2))
5875 }
5876 }) as f32
5877}
5878#[inline]
5879fn spline_helper_78(
5880 noises: &OverworldNoises,
5881 cache: &OverworldColumnCache,
5882 x: f64,
5883 z: f64,
5884) -> f32 {
5885 ({
5886 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5887 if __coord < -0.2 {
5888 f64::from(6.3 + 0.0 * (__coord - -0.2))
5889 } else if __coord < 0.2 {
5890 let __y1 = 6.3;
5891 let __y2 = 5.08;
5892 let __t = (__coord - -0.2) / (0.2 - -0.2);
5893 let __h = 0.2 - -0.2;
5894 let __a = 0.0 * __h - (__y2 - __y1);
5895 let __b = -0.0 * __h + (__y2 - __y1);
5896 let __lerp_y = __y1 + __t * (__y2 - __y1);
5897 let __lerp_ab = __a + __t * (__b - __a);
5898 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5899 } else {
5900 f64::from(5.08 + 0.0 * (__coord - 0.2))
5901 }
5902 }) as f32
5903}
5904#[inline]
5905fn spline_helper_79(
5906 noises: &OverworldNoises,
5907 cache: &OverworldColumnCache,
5908 x: f64,
5909 z: f64,
5910) -> f32 {
5911 ({
5912 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5913 if __coord < -0.05 {
5914 f64::from(2.67 + 0.0 * (__coord - -0.05))
5915 } else if __coord < 0.05 {
5916 let __y1 = 2.67;
5917 let __y2 = 6.3;
5918 let __t = (__coord - -0.05) / (0.05 - -0.05);
5919 let __h = 0.05 - -0.05;
5920 let __a = 0.0 * __h - (__y2 - __y1);
5921 let __b = -0.0 * __h + (__y2 - __y1);
5922 let __lerp_y = __y1 + __t * (__y2 - __y1);
5923 let __lerp_ab = __a + __t * (__b - __a);
5924 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5925 } else {
5926 f64::from(6.3 + 0.0 * (__coord - 0.05))
5927 }
5928 }) as f32
5929}
5930#[inline]
5931fn spline_helper_80(
5932 noises: &OverworldNoises,
5933 cache: &OverworldColumnCache,
5934 x: f64,
5935 z: f64,
5936) -> f32 {
5937 ({
5938 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5939 if __coord < -0.2 {
5940 f64::from(6.3 + 0.0 * (__coord - -0.2))
5941 } else if __coord < 0.2 {
5942 let __y1 = 6.3;
5943 let __y2 = 5.08;
5944 let __t = (__coord - -0.2) / (0.2 - -0.2);
5945 let __h = 0.2 - -0.2;
5946 let __a = 0.0 * __h - (__y2 - __y1);
5947 let __b = -0.0 * __h + (__y2 - __y1);
5948 let __lerp_y = __y1 + __t * (__y2 - __y1);
5949 let __lerp_ab = __a + __t * (__b - __a);
5950 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5951 } else {
5952 f64::from(5.08 + 0.0 * (__coord - 0.2))
5953 }
5954 }) as f32
5955}
5956#[inline]
5957fn spline_helper_82(
5958 noises: &OverworldNoises,
5959 cache: &OverworldColumnCache,
5960 x: f64,
5961 z: f64,
5962) -> f32 {
5963 ({
5964 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
5965 if __coord < 0.0 {
5966 f64::from(5.08 + 0.0 * (__coord - 0.0))
5967 } else if __coord < 0.1 {
5968 let __y1 = 5.08;
5969 let __y2 = 0.625;
5970 let __t = (__coord - 0.0) / (0.1 - 0.0);
5971 let __h = 0.1 - 0.0;
5972 let __a = 0.0 * __h - (__y2 - __y1);
5973 let __b = -0.0 * __h + (__y2 - __y1);
5974 let __lerp_y = __y1 + __t * (__y2 - __y1);
5975 let __lerp_ab = __a + __t * (__b - __a);
5976 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
5977 } else {
5978 f64::from(0.625 + 0.0 * (__coord - 0.1))
5979 }
5980 }) as f32
5981}
5982#[inline]
5983fn spline_helper_81(
5984 noises: &OverworldNoises,
5985 cache: &OverworldColumnCache,
5986 x: f64,
5987 z: f64,
5988) -> f32 {
5989 ({
5990 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
5991 if __coord < -0.9 {
5992 f64::from(5.08 + 0.0 * (__coord - -0.9))
5993 } else if __coord < -0.69 {
5994 let __y1 = 5.08;
5995 let __y2 = spline_helper_82(noises, cache, x, z);
5996 let __t = (__coord - -0.9) / (-0.69 - -0.9);
5997 let __h = -0.69 - -0.9;
5998 let __a = 0.0 * __h - (__y2 - __y1);
5999 let __b = -0.0 * __h + (__y2 - __y1);
6000 let __lerp_y = __y1 + __t * (__y2 - __y1);
6001 let __lerp_ab = __a + __t * (__b - __a);
6002 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6003 } else {
6004 f64::from(spline_helper_82(noises, cache, x, z) + 0.0 * (__coord - -0.69))
6005 }
6006 }) as f32
6007}
6008#[inline]
6009fn spline_helper_84(
6010 noises: &OverworldNoises,
6011 cache: &OverworldColumnCache,
6012 x: f64,
6013 z: f64,
6014) -> f32 {
6015 ({
6016 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6017 if __coord < 0.0 {
6018 f64::from(5.08 + 0.0 * (__coord - 0.0))
6019 } else if __coord < 0.1 {
6020 let __y1 = 5.08;
6021 let __y2 = 0.625;
6022 let __t = (__coord - 0.0) / (0.1 - 0.0);
6023 let __h = 0.1 - 0.0;
6024 let __a = 0.0 * __h - (__y2 - __y1);
6025 let __b = -0.0 * __h + (__y2 - __y1);
6026 let __lerp_y = __y1 + __t * (__y2 - __y1);
6027 let __lerp_ab = __a + __t * (__b - __a);
6028 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6029 } else {
6030 f64::from(0.625 + 0.0 * (__coord - 0.1))
6031 }
6032 }) as f32
6033}
6034#[inline]
6035fn spline_helper_83(
6036 noises: &OverworldNoises,
6037 cache: &OverworldColumnCache,
6038 x: f64,
6039 z: f64,
6040) -> f32 {
6041 ({
6042 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6043 if __coord < -0.9 {
6044 f64::from(5.08 + 0.0 * (__coord - -0.9))
6045 } else if __coord < -0.69 {
6046 let __y1 = 5.08;
6047 let __y2 = spline_helper_84(noises, cache, x, z);
6048 let __t = (__coord - -0.9) / (-0.69 - -0.9);
6049 let __h = -0.69 - -0.9;
6050 let __a = 0.0 * __h - (__y2 - __y1);
6051 let __b = -0.0 * __h + (__y2 - __y1);
6052 let __lerp_y = __y1 + __t * (__y2 - __y1);
6053 let __lerp_ab = __a + __t * (__b - __a);
6054 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6055 } else {
6056 f64::from(spline_helper_84(noises, cache, x, z) + 0.0 * (__coord - -0.69))
6057 }
6058 }) as f32
6059}
6060#[inline]
6061fn spline_helper_74(
6062 noises: &OverworldNoises,
6063 cache: &OverworldColumnCache,
6064 x: f64,
6065 z: f64,
6066) -> f32 {
6067 ({
6068 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
6069 if __coord < -0.6 {
6070 f64::from(spline_helper_75(noises, cache, x, z) + 0.0 * (__coord - -0.6))
6071 } else if __coord < -0.5 {
6072 let __y1 = spline_helper_75(noises, cache, x, z);
6073 let __y2 = spline_helper_76(noises, cache, x, z);
6074 let __t = (__coord - -0.6) / (-0.5 - -0.6);
6075 let __h = -0.5 - -0.6;
6076 let __a = 0.0 * __h - (__y2 - __y1);
6077 let __b = -0.0 * __h + (__y2 - __y1);
6078 let __lerp_y = __y1 + __t * (__y2 - __y1);
6079 let __lerp_ab = __a + __t * (__b - __a);
6080 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6081 } else if __coord < -0.35 {
6082 let __y1 = spline_helper_76(noises, cache, x, z);
6083 let __y2 = spline_helper_77(noises, cache, x, z);
6084 let __t = (__coord - -0.5) / (-0.35 - -0.5);
6085 let __h = -0.35 - -0.5;
6086 let __a = 0.0 * __h - (__y2 - __y1);
6087 let __b = -0.0 * __h + (__y2 - __y1);
6088 let __lerp_y = __y1 + __t * (__y2 - __y1);
6089 let __lerp_ab = __a + __t * (__b - __a);
6090 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6091 } else if __coord < -0.25 {
6092 let __y1 = spline_helper_77(noises, cache, x, z);
6093 let __y2 = spline_helper_78(noises, cache, x, z);
6094 let __t = (__coord - -0.35) / (-0.25 - -0.35);
6095 let __h = -0.25 - -0.35;
6096 let __a = 0.0 * __h - (__y2 - __y1);
6097 let __b = -0.0 * __h + (__y2 - __y1);
6098 let __lerp_y = __y1 + __t * (__y2 - __y1);
6099 let __lerp_ab = __a + __t * (__b - __a);
6100 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6101 } else if __coord < -0.1 {
6102 let __y1 = spline_helper_78(noises, cache, x, z);
6103 let __y2 = spline_helper_79(noises, cache, x, z);
6104 let __t = (__coord - -0.25) / (-0.1 - -0.25);
6105 let __h = -0.1 - -0.25;
6106 let __a = 0.0 * __h - (__y2 - __y1);
6107 let __b = -0.0 * __h + (__y2 - __y1);
6108 let __lerp_y = __y1 + __t * (__y2 - __y1);
6109 let __lerp_ab = __a + __t * (__b - __a);
6110 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6111 } else if __coord < 0.03 {
6112 let __y1 = spline_helper_79(noises, cache, x, z);
6113 let __y2 = spline_helper_80(noises, cache, x, z);
6114 let __t = (__coord - -0.1) / (0.03 - -0.1);
6115 let __h = 0.03 - -0.1;
6116 let __a = 0.0 * __h - (__y2 - __y1);
6117 let __b = -0.0 * __h + (__y2 - __y1);
6118 let __lerp_y = __y1 + __t * (__y2 - __y1);
6119 let __lerp_ab = __a + __t * (__b - __a);
6120 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6121 } else if __coord < 0.35 {
6122 let __y1 = spline_helper_80(noises, cache, x, z);
6123 let __y2 = 5.08;
6124 let __t = (__coord - 0.03) / (0.35 - 0.03);
6125 let __h = 0.35 - 0.03;
6126 let __a = 0.0 * __h - (__y2 - __y1);
6127 let __b = -0.0 * __h + (__y2 - __y1);
6128 let __lerp_y = __y1 + __t * (__y2 - __y1);
6129 let __lerp_ab = __a + __t * (__b - __a);
6130 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6131 } else if __coord < 0.45 {
6132 let __y1 = 5.08;
6133 let __y2 = spline_helper_81(noises, cache, x, z);
6134 let __t = (__coord - 0.35) / (0.45 - 0.35);
6135 let __h = 0.45 - 0.35;
6136 let __a = 0.0 * __h - (__y2 - __y1);
6137 let __b = -0.0 * __h + (__y2 - __y1);
6138 let __lerp_y = __y1 + __t * (__y2 - __y1);
6139 let __lerp_ab = __a + __t * (__b - __a);
6140 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6141 } else if __coord < 0.55 {
6142 let __y1 = spline_helper_81(noises, cache, x, z);
6143 let __y2 = spline_helper_83(noises, cache, x, z);
6144 let __t = (__coord - 0.45) / (0.55 - 0.45);
6145 let __h = 0.55 - 0.45;
6146 let __a = 0.0 * __h - (__y2 - __y1);
6147 let __b = -0.0 * __h + (__y2 - __y1);
6148 let __lerp_y = __y1 + __t * (__y2 - __y1);
6149 let __lerp_ab = __a + __t * (__b - __a);
6150 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6151 } else if __coord < 0.62 {
6152 let __y1 = spline_helper_83(noises, cache, x, z);
6153 let __y2 = 5.08;
6154 let __t = (__coord - 0.55) / (0.62 - 0.55);
6155 let __h = 0.62 - 0.55;
6156 let __a = 0.0 * __h - (__y2 - __y1);
6157 let __b = -0.0 * __h + (__y2 - __y1);
6158 let __lerp_y = __y1 + __t * (__y2 - __y1);
6159 let __lerp_ab = __a + __t * (__b - __a);
6160 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6161 } else {
6162 f64::from(5.08 + 0.0 * (__coord - 0.62))
6163 }
6164 }) as f32
6165}
6166#[inline]
6167fn spline_helper_86(
6168 noises: &OverworldNoises,
6169 cache: &OverworldColumnCache,
6170 x: f64,
6171 z: f64,
6172) -> f32 {
6173 ({
6174 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6175 if __coord < -0.2 {
6176 f64::from(6.3 + 0.0 * (__coord - -0.2))
6177 } else if __coord < 0.2 {
6178 let __y1 = 6.3;
6179 let __y2 = 4.69;
6180 let __t = (__coord - -0.2) / (0.2 - -0.2);
6181 let __h = 0.2 - -0.2;
6182 let __a = 0.0 * __h - (__y2 - __y1);
6183 let __b = -0.0 * __h + (__y2 - __y1);
6184 let __lerp_y = __y1 + __t * (__y2 - __y1);
6185 let __lerp_ab = __a + __t * (__b - __a);
6186 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6187 } else {
6188 f64::from(4.69 + 0.0 * (__coord - 0.2))
6189 }
6190 }) as f32
6191}
6192#[inline]
6193fn spline_helper_87(
6194 noises: &OverworldNoises,
6195 cache: &OverworldColumnCache,
6196 x: f64,
6197 z: f64,
6198) -> f32 {
6199 ({
6200 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6201 if __coord < -0.05 {
6202 f64::from(6.3 + 0.0 * (__coord - -0.05))
6203 } else if __coord < 0.05 {
6204 let __y1 = 6.3;
6205 let __y2 = 2.67;
6206 let __t = (__coord - -0.05) / (0.05 - -0.05);
6207 let __h = 0.05 - -0.05;
6208 let __a = 0.0 * __h - (__y2 - __y1);
6209 let __b = -0.0 * __h + (__y2 - __y1);
6210 let __lerp_y = __y1 + __t * (__y2 - __y1);
6211 let __lerp_ab = __a + __t * (__b - __a);
6212 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6213 } else {
6214 f64::from(2.67 + 0.0 * (__coord - 0.05))
6215 }
6216 }) as f32
6217}
6218#[inline]
6219fn spline_helper_88(
6220 noises: &OverworldNoises,
6221 cache: &OverworldColumnCache,
6222 x: f64,
6223 z: f64,
6224) -> f32 {
6225 ({
6226 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6227 if __coord < -0.2 {
6228 f64::from(6.3 + 0.0 * (__coord - -0.2))
6229 } else if __coord < 0.2 {
6230 let __y1 = 6.3;
6231 let __y2 = 4.69;
6232 let __t = (__coord - -0.2) / (0.2 - -0.2);
6233 let __h = 0.2 - -0.2;
6234 let __a = 0.0 * __h - (__y2 - __y1);
6235 let __b = -0.0 * __h + (__y2 - __y1);
6236 let __lerp_y = __y1 + __t * (__y2 - __y1);
6237 let __lerp_ab = __a + __t * (__b - __a);
6238 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6239 } else {
6240 f64::from(4.69 + 0.0 * (__coord - 0.2))
6241 }
6242 }) as f32
6243}
6244#[inline]
6245fn spline_helper_89(
6246 noises: &OverworldNoises,
6247 cache: &OverworldColumnCache,
6248 x: f64,
6249 z: f64,
6250) -> f32 {
6251 ({
6252 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6253 if __coord < -0.2 {
6254 f64::from(6.3 + 0.0 * (__coord - -0.2))
6255 } else if __coord < 0.2 {
6256 let __y1 = 6.3;
6257 let __y2 = 4.69;
6258 let __t = (__coord - -0.2) / (0.2 - -0.2);
6259 let __h = 0.2 - -0.2;
6260 let __a = 0.0 * __h - (__y2 - __y1);
6261 let __b = -0.0 * __h + (__y2 - __y1);
6262 let __lerp_y = __y1 + __t * (__y2 - __y1);
6263 let __lerp_ab = __a + __t * (__b - __a);
6264 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6265 } else {
6266 f64::from(4.69 + 0.0 * (__coord - 0.2))
6267 }
6268 }) as f32
6269}
6270#[inline]
6271fn spline_helper_90(
6272 noises: &OverworldNoises,
6273 cache: &OverworldColumnCache,
6274 x: f64,
6275 z: f64,
6276) -> f32 {
6277 ({
6278 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6279 if __coord < -0.05 {
6280 f64::from(2.67 + 0.0 * (__coord - -0.05))
6281 } else if __coord < 0.05 {
6282 let __y1 = 2.67;
6283 let __y2 = 6.3;
6284 let __t = (__coord - -0.05) / (0.05 - -0.05);
6285 let __h = 0.05 - -0.05;
6286 let __a = 0.0 * __h - (__y2 - __y1);
6287 let __b = -0.0 * __h + (__y2 - __y1);
6288 let __lerp_y = __y1 + __t * (__y2 - __y1);
6289 let __lerp_ab = __a + __t * (__b - __a);
6290 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6291 } else {
6292 f64::from(6.3 + 0.0 * (__coord - 0.05))
6293 }
6294 }) as f32
6295}
6296#[inline]
6297fn spline_helper_91(
6298 noises: &OverworldNoises,
6299 cache: &OverworldColumnCache,
6300 x: f64,
6301 z: f64,
6302) -> f32 {
6303 ({
6304 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6305 if __coord < -0.2 {
6306 f64::from(6.3 + 0.0 * (__coord - -0.2))
6307 } else if __coord < 0.2 {
6308 let __y1 = 6.3;
6309 let __y2 = 4.69;
6310 let __t = (__coord - -0.2) / (0.2 - -0.2);
6311 let __h = 0.2 - -0.2;
6312 let __a = 0.0 * __h - (__y2 - __y1);
6313 let __b = -0.0 * __h + (__y2 - __y1);
6314 let __lerp_y = __y1 + __t * (__y2 - __y1);
6315 let __lerp_ab = __a + __t * (__b - __a);
6316 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6317 } else {
6318 f64::from(4.69 + 0.0 * (__coord - 0.2))
6319 }
6320 }) as f32
6321}
6322#[inline]
6323fn spline_helper_93(
6324 noises: &OverworldNoises,
6325 cache: &OverworldColumnCache,
6326 x: f64,
6327 z: f64,
6328) -> f32 {
6329 ({
6330 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6331 if __coord < -0.2 {
6332 f64::from(6.3 + 0.0 * (__coord - -0.2))
6333 } else if __coord < 0.2 {
6334 let __y1 = 6.3;
6335 let __y2 = 4.69;
6336 let __t = (__coord - -0.2) / (0.2 - -0.2);
6337 let __h = 0.2 - -0.2;
6338 let __a = 0.0 * __h - (__y2 - __y1);
6339 let __b = -0.0 * __h + (__y2 - __y1);
6340 let __lerp_y = __y1 + __t * (__y2 - __y1);
6341 let __lerp_ab = __a + __t * (__b - __a);
6342 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6343 } else {
6344 f64::from(4.69 + 0.0 * (__coord - 0.2))
6345 }
6346 }) as f32
6347}
6348#[inline]
6349fn spline_helper_92(
6350 noises: &OverworldNoises,
6351 cache: &OverworldColumnCache,
6352 x: f64,
6353 z: f64,
6354) -> f32 {
6355 ({
6356 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6357 if __coord < 0.45 {
6358 f64::from(spline_helper_93(noises, cache, x, z) + 0.0 * (__coord - 0.45))
6359 } else if __coord < 0.7 {
6360 let __y1 = spline_helper_93(noises, cache, x, z);
6361 let __y2 = 1.56;
6362 let __t = (__coord - 0.45) / (0.7 - 0.45);
6363 let __h = 0.7 - 0.45;
6364 let __a = 0.0 * __h - (__y2 - __y1);
6365 let __b = -0.0 * __h + (__y2 - __y1);
6366 let __lerp_y = __y1 + __t * (__y2 - __y1);
6367 let __lerp_ab = __a + __t * (__b - __a);
6368 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6369 } else {
6370 f64::from(1.56 + 0.0 * (__coord - 0.7))
6371 }
6372 }) as f32
6373}
6374#[inline]
6375fn spline_helper_95(
6376 noises: &OverworldNoises,
6377 cache: &OverworldColumnCache,
6378 x: f64,
6379 z: f64,
6380) -> f32 {
6381 ({
6382 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6383 if __coord < -0.2 {
6384 f64::from(6.3 + 0.0 * (__coord - -0.2))
6385 } else if __coord < 0.2 {
6386 let __y1 = 6.3;
6387 let __y2 = 4.69;
6388 let __t = (__coord - -0.2) / (0.2 - -0.2);
6389 let __h = 0.2 - -0.2;
6390 let __a = 0.0 * __h - (__y2 - __y1);
6391 let __b = -0.0 * __h + (__y2 - __y1);
6392 let __lerp_y = __y1 + __t * (__y2 - __y1);
6393 let __lerp_ab = __a + __t * (__b - __a);
6394 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6395 } else {
6396 f64::from(4.69 + 0.0 * (__coord - 0.2))
6397 }
6398 }) as f32
6399}
6400#[inline]
6401fn spline_helper_94(
6402 noises: &OverworldNoises,
6403 cache: &OverworldColumnCache,
6404 x: f64,
6405 z: f64,
6406) -> f32 {
6407 ({
6408 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6409 if __coord < 0.45 {
6410 f64::from(spline_helper_95(noises, cache, x, z) + 0.0 * (__coord - 0.45))
6411 } else if __coord < 0.7 {
6412 let __y1 = spline_helper_95(noises, cache, x, z);
6413 let __y2 = 1.56;
6414 let __t = (__coord - 0.45) / (0.7 - 0.45);
6415 let __h = 0.7 - 0.45;
6416 let __a = 0.0 * __h - (__y2 - __y1);
6417 let __b = -0.0 * __h + (__y2 - __y1);
6418 let __lerp_y = __y1 + __t * (__y2 - __y1);
6419 let __lerp_ab = __a + __t * (__b - __a);
6420 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6421 } else {
6422 f64::from(1.56 + 0.0 * (__coord - 0.7))
6423 }
6424 }) as f32
6425}
6426#[inline]
6427fn spline_helper_97(
6428 noises: &OverworldNoises,
6429 cache: &OverworldColumnCache,
6430 x: f64,
6431 z: f64,
6432) -> f32 {
6433 ({
6434 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6435 if __coord < -0.2 {
6436 f64::from(6.3 + 0.0 * (__coord - -0.2))
6437 } else if __coord < 0.2 {
6438 let __y1 = 6.3;
6439 let __y2 = 4.69;
6440 let __t = (__coord - -0.2) / (0.2 - -0.2);
6441 let __h = 0.2 - -0.2;
6442 let __a = 0.0 * __h - (__y2 - __y1);
6443 let __b = -0.0 * __h + (__y2 - __y1);
6444 let __lerp_y = __y1 + __t * (__y2 - __y1);
6445 let __lerp_ab = __a + __t * (__b - __a);
6446 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6447 } else {
6448 f64::from(4.69 + 0.0 * (__coord - 0.2))
6449 }
6450 }) as f32
6451}
6452#[inline]
6453fn spline_helper_96(
6454 noises: &OverworldNoises,
6455 cache: &OverworldColumnCache,
6456 x: f64,
6457 z: f64,
6458) -> f32 {
6459 ({
6460 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6461 if __coord < -0.7 {
6462 f64::from(spline_helper_97(noises, cache, x, z) + 0.0 * (__coord - -0.7))
6463 } else if __coord < -0.15 {
6464 let __y1 = spline_helper_97(noises, cache, x, z);
6465 let __y2 = 1.37;
6466 let __t = (__coord - -0.7) / (-0.15 - -0.7);
6467 let __h = -0.15 - -0.7;
6468 let __a = 0.0 * __h - (__y2 - __y1);
6469 let __b = -0.0 * __h + (__y2 - __y1);
6470 let __lerp_y = __y1 + __t * (__y2 - __y1);
6471 let __lerp_ab = __a + __t * (__b - __a);
6472 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6473 } else {
6474 f64::from(1.37 + 0.0 * (__coord - -0.15))
6475 }
6476 }) as f32
6477}
6478#[inline]
6479fn spline_helper_99(
6480 noises: &OverworldNoises,
6481 cache: &OverworldColumnCache,
6482 x: f64,
6483 z: f64,
6484) -> f32 {
6485 ({
6486 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6487 if __coord < -0.2 {
6488 f64::from(6.3 + 0.0 * (__coord - -0.2))
6489 } else if __coord < 0.2 {
6490 let __y1 = 6.3;
6491 let __y2 = 4.69;
6492 let __t = (__coord - -0.2) / (0.2 - -0.2);
6493 let __h = 0.2 - -0.2;
6494 let __a = 0.0 * __h - (__y2 - __y1);
6495 let __b = -0.0 * __h + (__y2 - __y1);
6496 let __lerp_y = __y1 + __t * (__y2 - __y1);
6497 let __lerp_ab = __a + __t * (__b - __a);
6498 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6499 } else {
6500 f64::from(4.69 + 0.0 * (__coord - 0.2))
6501 }
6502 }) as f32
6503}
6504#[inline]
6505fn spline_helper_98(
6506 noises: &OverworldNoises,
6507 cache: &OverworldColumnCache,
6508 x: f64,
6509 z: f64,
6510) -> f32 {
6511 ({
6512 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6513 if __coord < -0.7 {
6514 f64::from(spline_helper_99(noises, cache, x, z) + 0.0 * (__coord - -0.7))
6515 } else if __coord < -0.15 {
6516 let __y1 = spline_helper_99(noises, cache, x, z);
6517 let __y2 = 1.37;
6518 let __t = (__coord - -0.7) / (-0.15 - -0.7);
6519 let __h = -0.15 - -0.7;
6520 let __a = 0.0 * __h - (__y2 - __y1);
6521 let __b = -0.0 * __h + (__y2 - __y1);
6522 let __lerp_y = __y1 + __t * (__y2 - __y1);
6523 let __lerp_ab = __a + __t * (__b - __a);
6524 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6525 } else {
6526 f64::from(1.37 + 0.0 * (__coord - -0.15))
6527 }
6528 }) as f32
6529}
6530#[inline]
6531fn spline_helper_85(
6532 noises: &OverworldNoises,
6533 cache: &OverworldColumnCache,
6534 x: f64,
6535 z: f64,
6536) -> f32 {
6537 ({
6538 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
6539 if __coord < -0.6 {
6540 f64::from(spline_helper_86(noises, cache, x, z) + 0.0 * (__coord - -0.6))
6541 } else if __coord < -0.5 {
6542 let __y1 = spline_helper_86(noises, cache, x, z);
6543 let __y2 = spline_helper_87(noises, cache, x, z);
6544 let __t = (__coord - -0.6) / (-0.5 - -0.6);
6545 let __h = -0.5 - -0.6;
6546 let __a = 0.0 * __h - (__y2 - __y1);
6547 let __b = -0.0 * __h + (__y2 - __y1);
6548 let __lerp_y = __y1 + __t * (__y2 - __y1);
6549 let __lerp_ab = __a + __t * (__b - __a);
6550 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6551 } else if __coord < -0.35 {
6552 let __y1 = spline_helper_87(noises, cache, x, z);
6553 let __y2 = spline_helper_88(noises, cache, x, z);
6554 let __t = (__coord - -0.5) / (-0.35 - -0.5);
6555 let __h = -0.35 - -0.5;
6556 let __a = 0.0 * __h - (__y2 - __y1);
6557 let __b = -0.0 * __h + (__y2 - __y1);
6558 let __lerp_y = __y1 + __t * (__y2 - __y1);
6559 let __lerp_ab = __a + __t * (__b - __a);
6560 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6561 } else if __coord < -0.25 {
6562 let __y1 = spline_helper_88(noises, cache, x, z);
6563 let __y2 = spline_helper_89(noises, cache, x, z);
6564 let __t = (__coord - -0.35) / (-0.25 - -0.35);
6565 let __h = -0.25 - -0.35;
6566 let __a = 0.0 * __h - (__y2 - __y1);
6567 let __b = -0.0 * __h + (__y2 - __y1);
6568 let __lerp_y = __y1 + __t * (__y2 - __y1);
6569 let __lerp_ab = __a + __t * (__b - __a);
6570 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6571 } else if __coord < -0.1 {
6572 let __y1 = spline_helper_89(noises, cache, x, z);
6573 let __y2 = spline_helper_90(noises, cache, x, z);
6574 let __t = (__coord - -0.25) / (-0.1 - -0.25);
6575 let __h = -0.1 - -0.25;
6576 let __a = 0.0 * __h - (__y2 - __y1);
6577 let __b = -0.0 * __h + (__y2 - __y1);
6578 let __lerp_y = __y1 + __t * (__y2 - __y1);
6579 let __lerp_ab = __a + __t * (__b - __a);
6580 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6581 } else if __coord < 0.03 {
6582 let __y1 = spline_helper_90(noises, cache, x, z);
6583 let __y2 = spline_helper_91(noises, cache, x, z);
6584 let __t = (__coord - -0.1) / (0.03 - -0.1);
6585 let __h = 0.03 - -0.1;
6586 let __a = 0.0 * __h - (__y2 - __y1);
6587 let __b = -0.0 * __h + (__y2 - __y1);
6588 let __lerp_y = __y1 + __t * (__y2 - __y1);
6589 let __lerp_ab = __a + __t * (__b - __a);
6590 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6591 } else if __coord < 0.05 {
6592 let __y1 = spline_helper_91(noises, cache, x, z);
6593 let __y2 = spline_helper_92(noises, cache, x, z);
6594 let __t = (__coord - 0.03) / (0.05 - 0.03);
6595 let __h = 0.05 - 0.03;
6596 let __a = 0.0 * __h - (__y2 - __y1);
6597 let __b = -0.0 * __h + (__y2 - __y1);
6598 let __lerp_y = __y1 + __t * (__y2 - __y1);
6599 let __lerp_ab = __a + __t * (__b - __a);
6600 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6601 } else if __coord < 0.4 {
6602 let __y1 = spline_helper_92(noises, cache, x, z);
6603 let __y2 = spline_helper_94(noises, cache, x, z);
6604 let __t = (__coord - 0.05) / (0.4 - 0.05);
6605 let __h = 0.4 - 0.05;
6606 let __a = 0.0 * __h - (__y2 - __y1);
6607 let __b = -0.0 * __h + (__y2 - __y1);
6608 let __lerp_y = __y1 + __t * (__y2 - __y1);
6609 let __lerp_ab = __a + __t * (__b - __a);
6610 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6611 } else if __coord < 0.45 {
6612 let __y1 = spline_helper_94(noises, cache, x, z);
6613 let __y2 = spline_helper_96(noises, cache, x, z);
6614 let __t = (__coord - 0.4) / (0.45 - 0.4);
6615 let __h = 0.45 - 0.4;
6616 let __a = 0.0 * __h - (__y2 - __y1);
6617 let __b = -0.0 * __h + (__y2 - __y1);
6618 let __lerp_y = __y1 + __t * (__y2 - __y1);
6619 let __lerp_ab = __a + __t * (__b - __a);
6620 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6621 } else if __coord < 0.55 {
6622 let __y1 = spline_helper_96(noises, cache, x, z);
6623 let __y2 = spline_helper_98(noises, cache, x, z);
6624 let __t = (__coord - 0.45) / (0.55 - 0.45);
6625 let __h = 0.55 - 0.45;
6626 let __a = 0.0 * __h - (__y2 - __y1);
6627 let __b = -0.0 * __h + (__y2 - __y1);
6628 let __lerp_y = __y1 + __t * (__y2 - __y1);
6629 let __lerp_ab = __a + __t * (__b - __a);
6630 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6631 } else if __coord < 0.58 {
6632 let __y1 = spline_helper_98(noises, cache, x, z);
6633 let __y2 = 4.69;
6634 let __t = (__coord - 0.55) / (0.58 - 0.55);
6635 let __h = 0.58 - 0.55;
6636 let __a = 0.0 * __h - (__y2 - __y1);
6637 let __b = -0.0 * __h + (__y2 - __y1);
6638 let __lerp_y = __y1 + __t * (__y2 - __y1);
6639 let __lerp_ab = __a + __t * (__b - __a);
6640 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6641 } else {
6642 f64::from(4.69 + 0.0 * (__coord - 0.58))
6643 }
6644 }) as f32
6645}
6646#[inline]
6647fn spline_helper_102(
6648 noises: &OverworldNoises,
6649 cache: &OverworldColumnCache,
6650 x: f64,
6651 z: f64,
6652) -> f32 {
6653 ({
6654 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6655 if __coord < -0.01 {
6656 f64::from(0.63 + 0.0 * (__coord - -0.01))
6657 } else if __coord < 0.01 {
6658 let __y1 = 0.63;
6659 let __y2 = 0.3;
6660 let __t = (__coord - -0.01) / (0.01 - -0.01);
6661 let __h = 0.01 - -0.01;
6662 let __a = 0.0 * __h - (__y2 - __y1);
6663 let __b = -0.0 * __h + (__y2 - __y1);
6664 let __lerp_y = __y1 + __t * (__y2 - __y1);
6665 let __lerp_ab = __a + __t * (__b - __a);
6666 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6667 } else {
6668 f64::from(0.3 + 0.0 * (__coord - 0.01))
6669 }
6670 }) as f32
6671}
6672#[inline]
6673fn spline_helper_101(
6674 noises: &OverworldNoises,
6675 cache: &OverworldColumnCache,
6676 x: f64,
6677 z: f64,
6678) -> f32 {
6679 ({
6680 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6681 if __coord < 0.19999999 {
6682 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
6683 } else if __coord < 0.44999996 {
6684 let __y1 = 0.0;
6685 let __y2 = 0.0;
6686 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
6687 let __h = 0.44999996 - 0.19999999;
6688 let __a = 0.0 * __h - (__y2 - __y1);
6689 let __b = -0.0 * __h + (__y2 - __y1);
6690 let __lerp_y = __y1 + __t * (__y2 - __y1);
6691 let __lerp_ab = __a + __t * (__b - __a);
6692 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6693 } else if __coord < 1.0 {
6694 let __y1 = 0.0;
6695 let __y2 = spline_helper_102(noises, cache, x, z);
6696 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
6697 let __h = 1.0 - 0.44999996;
6698 let __a = 0.0 * __h - (__y2 - __y1);
6699 let __b = -0.0 * __h + (__y2 - __y1);
6700 let __lerp_y = __y1 + __t * (__y2 - __y1);
6701 let __lerp_ab = __a + __t * (__b - __a);
6702 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6703 } else {
6704 f64::from(spline_helper_102(noises, cache, x, z) + 0.0 * (__coord - 1.0))
6705 }
6706 }) as f32
6707}
6708#[inline]
6709fn spline_helper_104(
6710 noises: &OverworldNoises,
6711 cache: &OverworldColumnCache,
6712 x: f64,
6713 z: f64,
6714) -> f32 {
6715 ({
6716 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6717 if __coord < -0.01 {
6718 f64::from(0.315 + 0.0 * (__coord - -0.01))
6719 } else if __coord < 0.01 {
6720 let __y1 = 0.315;
6721 let __y2 = 0.15;
6722 let __t = (__coord - -0.01) / (0.01 - -0.01);
6723 let __h = 0.01 - -0.01;
6724 let __a = 0.0 * __h - (__y2 - __y1);
6725 let __b = -0.0 * __h + (__y2 - __y1);
6726 let __lerp_y = __y1 + __t * (__y2 - __y1);
6727 let __lerp_ab = __a + __t * (__b - __a);
6728 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6729 } else {
6730 f64::from(0.15 + 0.0 * (__coord - 0.01))
6731 }
6732 }) as f32
6733}
6734#[inline]
6735fn spline_helper_103(
6736 noises: &OverworldNoises,
6737 cache: &OverworldColumnCache,
6738 x: f64,
6739 z: f64,
6740) -> f32 {
6741 ({
6742 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6743 if __coord < 0.19999999 {
6744 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
6745 } else if __coord < 0.44999996 {
6746 let __y1 = 0.0;
6747 let __y2 = 0.0;
6748 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
6749 let __h = 0.44999996 - 0.19999999;
6750 let __a = 0.0 * __h - (__y2 - __y1);
6751 let __b = -0.0 * __h + (__y2 - __y1);
6752 let __lerp_y = __y1 + __t * (__y2 - __y1);
6753 let __lerp_ab = __a + __t * (__b - __a);
6754 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6755 } else if __coord < 1.0 {
6756 let __y1 = 0.0;
6757 let __y2 = spline_helper_104(noises, cache, x, z);
6758 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
6759 let __h = 1.0 - 0.44999996;
6760 let __a = 0.0 * __h - (__y2 - __y1);
6761 let __b = -0.0 * __h + (__y2 - __y1);
6762 let __lerp_y = __y1 + __t * (__y2 - __y1);
6763 let __lerp_ab = __a + __t * (__b - __a);
6764 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6765 } else {
6766 f64::from(spline_helper_104(noises, cache, x, z) + 0.0 * (__coord - 1.0))
6767 }
6768 }) as f32
6769}
6770#[inline]
6771fn spline_helper_106(
6772 noises: &OverworldNoises,
6773 cache: &OverworldColumnCache,
6774 x: f64,
6775 z: f64,
6776) -> f32 {
6777 ({
6778 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6779 if __coord < -0.01 {
6780 f64::from(0.315 + 0.0 * (__coord - -0.01))
6781 } else if __coord < 0.01 {
6782 let __y1 = 0.315;
6783 let __y2 = 0.15;
6784 let __t = (__coord - -0.01) / (0.01 - -0.01);
6785 let __h = 0.01 - -0.01;
6786 let __a = 0.0 * __h - (__y2 - __y1);
6787 let __b = -0.0 * __h + (__y2 - __y1);
6788 let __lerp_y = __y1 + __t * (__y2 - __y1);
6789 let __lerp_ab = __a + __t * (__b - __a);
6790 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6791 } else {
6792 f64::from(0.15 + 0.0 * (__coord - 0.01))
6793 }
6794 }) as f32
6795}
6796#[inline]
6797fn spline_helper_105(
6798 noises: &OverworldNoises,
6799 cache: &OverworldColumnCache,
6800 x: f64,
6801 z: f64,
6802) -> f32 {
6803 ({
6804 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6805 if __coord < 0.19999999 {
6806 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
6807 } else if __coord < 0.44999996 {
6808 let __y1 = 0.0;
6809 let __y2 = 0.0;
6810 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
6811 let __h = 0.44999996 - 0.19999999;
6812 let __a = 0.0 * __h - (__y2 - __y1);
6813 let __b = -0.0 * __h + (__y2 - __y1);
6814 let __lerp_y = __y1 + __t * (__y2 - __y1);
6815 let __lerp_ab = __a + __t * (__b - __a);
6816 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6817 } else if __coord < 1.0 {
6818 let __y1 = 0.0;
6819 let __y2 = spline_helper_106(noises, cache, x, z);
6820 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
6821 let __h = 1.0 - 0.44999996;
6822 let __a = 0.0 * __h - (__y2 - __y1);
6823 let __b = -0.0 * __h + (__y2 - __y1);
6824 let __lerp_y = __y1 + __t * (__y2 - __y1);
6825 let __lerp_ab = __a + __t * (__b - __a);
6826 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6827 } else {
6828 f64::from(spline_helper_106(noises, cache, x, z) + 0.0 * (__coord - 1.0))
6829 }
6830 }) as f32
6831}
6832#[inline]
6833fn spline_helper_100(
6834 noises: &OverworldNoises,
6835 cache: &OverworldColumnCache,
6836 x: f64,
6837 z: f64,
6838) -> f32 {
6839 ({
6840 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
6841 if __coord < -1.0 {
6842 f64::from(spline_helper_101(noises, cache, x, z) + 0.0 * (__coord - -1.0))
6843 } else if __coord < -0.78 {
6844 let __y1 = spline_helper_101(noises, cache, x, z);
6845 let __y2 = spline_helper_103(noises, cache, x, z);
6846 let __t = (__coord - -1.0) / (-0.78 - -1.0);
6847 let __h = -0.78 - -1.0;
6848 let __a = 0.0 * __h - (__y2 - __y1);
6849 let __b = -0.0 * __h + (__y2 - __y1);
6850 let __lerp_y = __y1 + __t * (__y2 - __y1);
6851 let __lerp_ab = __a + __t * (__b - __a);
6852 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6853 } else if __coord < -0.5775 {
6854 let __y1 = spline_helper_103(noises, cache, x, z);
6855 let __y2 = spline_helper_105(noises, cache, x, z);
6856 let __t = (__coord - -0.78) / (-0.5775 - -0.78);
6857 let __h = -0.5775 - -0.78;
6858 let __a = 0.0 * __h - (__y2 - __y1);
6859 let __b = -0.0 * __h + (__y2 - __y1);
6860 let __lerp_y = __y1 + __t * (__y2 - __y1);
6861 let __lerp_ab = __a + __t * (__b - __a);
6862 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6863 } else if __coord < -0.375 {
6864 let __y1 = spline_helper_105(noises, cache, x, z);
6865 let __y2 = 0.0;
6866 let __t = (__coord - -0.5775) / (-0.375 - -0.5775);
6867 let __h = -0.375 - -0.5775;
6868 let __a = 0.0 * __h - (__y2 - __y1);
6869 let __b = -0.0 * __h + (__y2 - __y1);
6870 let __lerp_y = __y1 + __t * (__y2 - __y1);
6871 let __lerp_ab = __a + __t * (__b - __a);
6872 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6873 } else {
6874 f64::from(0.0 + 0.0 * (__coord - -0.375))
6875 }
6876 }) as f32
6877}
6878#[inline]
6879fn spline_helper_109(
6880 noises: &OverworldNoises,
6881 cache: &OverworldColumnCache,
6882 x: f64,
6883 z: f64,
6884) -> f32 {
6885 ({
6886 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6887 if __coord < -0.01 {
6888 f64::from(0.63 + 0.0 * (__coord - -0.01))
6889 } else if __coord < 0.01 {
6890 let __y1 = 0.63;
6891 let __y2 = 0.3;
6892 let __t = (__coord - -0.01) / (0.01 - -0.01);
6893 let __h = 0.01 - -0.01;
6894 let __a = 0.0 * __h - (__y2 - __y1);
6895 let __b = -0.0 * __h + (__y2 - __y1);
6896 let __lerp_y = __y1 + __t * (__y2 - __y1);
6897 let __lerp_ab = __a + __t * (__b - __a);
6898 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6899 } else {
6900 f64::from(0.3 + 0.0 * (__coord - 0.01))
6901 }
6902 }) as f32
6903}
6904#[inline]
6905fn spline_helper_110(
6906 noises: &OverworldNoises,
6907 cache: &OverworldColumnCache,
6908 x: f64,
6909 z: f64,
6910) -> f32 {
6911 ({
6912 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6913 if __coord < -0.01 {
6914 f64::from(0.63 + 0.0 * (__coord - -0.01))
6915 } else if __coord < 0.01 {
6916 let __y1 = 0.63;
6917 let __y2 = 0.3;
6918 let __t = (__coord - -0.01) / (0.01 - -0.01);
6919 let __h = 0.01 - -0.01;
6920 let __a = 0.0 * __h - (__y2 - __y1);
6921 let __b = -0.0 * __h + (__y2 - __y1);
6922 let __lerp_y = __y1 + __t * (__y2 - __y1);
6923 let __lerp_ab = __a + __t * (__b - __a);
6924 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6925 } else {
6926 f64::from(0.3 + 0.0 * (__coord - 0.01))
6927 }
6928 }) as f32
6929}
6930#[inline]
6931fn spline_helper_108(
6932 noises: &OverworldNoises,
6933 cache: &OverworldColumnCache,
6934 x: f64,
6935 z: f64,
6936) -> f32 {
6937 ({
6938 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
6939 if __coord < 0.19999999 {
6940 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
6941 } else if __coord < 0.44999996 {
6942 let __y1 = 0.0;
6943 let __y2 = spline_helper_109(noises, cache, x, z);
6944 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
6945 let __h = 0.44999996 - 0.19999999;
6946 let __a = 0.0 * __h - (__y2 - __y1);
6947 let __b = -0.0 * __h + (__y2 - __y1);
6948 let __lerp_y = __y1 + __t * (__y2 - __y1);
6949 let __lerp_ab = __a + __t * (__b - __a);
6950 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6951 } else if __coord < 1.0 {
6952 let __y1 = spline_helper_109(noises, cache, x, z);
6953 let __y2 = spline_helper_110(noises, cache, x, z);
6954 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
6955 let __h = 1.0 - 0.44999996;
6956 let __a = 0.0 * __h - (__y2 - __y1);
6957 let __b = -0.0 * __h + (__y2 - __y1);
6958 let __lerp_y = __y1 + __t * (__y2 - __y1);
6959 let __lerp_ab = __a + __t * (__b - __a);
6960 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6961 } else {
6962 f64::from(spline_helper_110(noises, cache, x, z) + 0.0 * (__coord - 1.0))
6963 }
6964 }) as f32
6965}
6966#[inline]
6967fn spline_helper_112(
6968 noises: &OverworldNoises,
6969 cache: &OverworldColumnCache,
6970 x: f64,
6971 z: f64,
6972) -> f32 {
6973 ({
6974 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
6975 if __coord < -0.01 {
6976 f64::from(0.63 + 0.0 * (__coord - -0.01))
6977 } else if __coord < 0.01 {
6978 let __y1 = 0.63;
6979 let __y2 = 0.3;
6980 let __t = (__coord - -0.01) / (0.01 - -0.01);
6981 let __h = 0.01 - -0.01;
6982 let __a = 0.0 * __h - (__y2 - __y1);
6983 let __b = -0.0 * __h + (__y2 - __y1);
6984 let __lerp_y = __y1 + __t * (__y2 - __y1);
6985 let __lerp_ab = __a + __t * (__b - __a);
6986 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
6987 } else {
6988 f64::from(0.3 + 0.0 * (__coord - 0.01))
6989 }
6990 }) as f32
6991}
6992#[inline]
6993fn spline_helper_111(
6994 noises: &OverworldNoises,
6995 cache: &OverworldColumnCache,
6996 x: f64,
6997 z: f64,
6998) -> f32 {
6999 ({
7000 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
7001 if __coord < 0.19999999 {
7002 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
7003 } else if __coord < 0.44999996 {
7004 let __y1 = 0.0;
7005 let __y2 = 0.0;
7006 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
7007 let __h = 0.44999996 - 0.19999999;
7008 let __a = 0.0 * __h - (__y2 - __y1);
7009 let __b = -0.0 * __h + (__y2 - __y1);
7010 let __lerp_y = __y1 + __t * (__y2 - __y1);
7011 let __lerp_ab = __a + __t * (__b - __a);
7012 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7013 } else if __coord < 1.0 {
7014 let __y1 = 0.0;
7015 let __y2 = spline_helper_112(noises, cache, x, z);
7016 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
7017 let __h = 1.0 - 0.44999996;
7018 let __a = 0.0 * __h - (__y2 - __y1);
7019 let __b = -0.0 * __h + (__y2 - __y1);
7020 let __lerp_y = __y1 + __t * (__y2 - __y1);
7021 let __lerp_ab = __a + __t * (__b - __a);
7022 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7023 } else {
7024 f64::from(spline_helper_112(noises, cache, x, z) + 0.0 * (__coord - 1.0))
7025 }
7026 }) as f32
7027}
7028#[inline]
7029fn spline_helper_114(
7030 noises: &OverworldNoises,
7031 cache: &OverworldColumnCache,
7032 x: f64,
7033 z: f64,
7034) -> f32 {
7035 ({
7036 let __coord = ((cache.df_overworld__ridges) as f32) as f32;
7037 if __coord < -0.01 {
7038 f64::from(0.63 + 0.0 * (__coord - -0.01))
7039 } else if __coord < 0.01 {
7040 let __y1 = 0.63;
7041 let __y2 = 0.3;
7042 let __t = (__coord - -0.01) / (0.01 - -0.01);
7043 let __h = 0.01 - -0.01;
7044 let __a = 0.0 * __h - (__y2 - __y1);
7045 let __b = -0.0 * __h + (__y2 - __y1);
7046 let __lerp_y = __y1 + __t * (__y2 - __y1);
7047 let __lerp_ab = __a + __t * (__b - __a);
7048 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7049 } else {
7050 f64::from(0.3 + 0.0 * (__coord - 0.01))
7051 }
7052 }) as f32
7053}
7054#[inline]
7055fn spline_helper_113(
7056 noises: &OverworldNoises,
7057 cache: &OverworldColumnCache,
7058 x: f64,
7059 z: f64,
7060) -> f32 {
7061 ({
7062 let __coord = ((cache.df_overworld__ridges_folded) as f32) as f32;
7063 if __coord < 0.19999999 {
7064 f64::from(0.0 + 0.0 * (__coord - 0.19999999))
7065 } else if __coord < 0.44999996 {
7066 let __y1 = 0.0;
7067 let __y2 = 0.0;
7068 let __t = (__coord - 0.19999999) / (0.44999996 - 0.19999999);
7069 let __h = 0.44999996 - 0.19999999;
7070 let __a = 0.0 * __h - (__y2 - __y1);
7071 let __b = -0.0 * __h + (__y2 - __y1);
7072 let __lerp_y = __y1 + __t * (__y2 - __y1);
7073 let __lerp_ab = __a + __t * (__b - __a);
7074 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7075 } else if __coord < 1.0 {
7076 let __y1 = 0.0;
7077 let __y2 = spline_helper_114(noises, cache, x, z);
7078 let __t = (__coord - 0.44999996) / (1.0 - 0.44999996);
7079 let __h = 1.0 - 0.44999996;
7080 let __a = 0.0 * __h - (__y2 - __y1);
7081 let __b = -0.0 * __h + (__y2 - __y1);
7082 let __lerp_y = __y1 + __t * (__y2 - __y1);
7083 let __lerp_ab = __a + __t * (__b - __a);
7084 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7085 } else {
7086 f64::from(spline_helper_114(noises, cache, x, z) + 0.0 * (__coord - 1.0))
7087 }
7088 }) as f32
7089}
7090#[inline]
7091fn spline_helper_107(
7092 noises: &OverworldNoises,
7093 cache: &OverworldColumnCache,
7094 x: f64,
7095 z: f64,
7096) -> f32 {
7097 ({
7098 let __coord = ((cache.df_overworld__erosion) as f32) as f32;
7099 if __coord < -1.0 {
7100 f64::from(spline_helper_108(noises, cache, x, z) + 0.0 * (__coord - -1.0))
7101 } else if __coord < -0.78 {
7102 let __y1 = spline_helper_108(noises, cache, x, z);
7103 let __y2 = spline_helper_111(noises, cache, x, z);
7104 let __t = (__coord - -1.0) / (-0.78 - -1.0);
7105 let __h = -0.78 - -1.0;
7106 let __a = 0.0 * __h - (__y2 - __y1);
7107 let __b = -0.0 * __h + (__y2 - __y1);
7108 let __lerp_y = __y1 + __t * (__y2 - __y1);
7109 let __lerp_ab = __a + __t * (__b - __a);
7110 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7111 } else if __coord < -0.5775 {
7112 let __y1 = spline_helper_111(noises, cache, x, z);
7113 let __y2 = spline_helper_113(noises, cache, x, z);
7114 let __t = (__coord - -0.78) / (-0.5775 - -0.78);
7115 let __h = -0.5775 - -0.78;
7116 let __a = 0.0 * __h - (__y2 - __y1);
7117 let __b = -0.0 * __h + (__y2 - __y1);
7118 let __lerp_y = __y1 + __t * (__y2 - __y1);
7119 let __lerp_ab = __a + __t * (__b - __a);
7120 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7121 } else if __coord < -0.375 {
7122 let __y1 = spline_helper_113(noises, cache, x, z);
7123 let __y2 = 0.0;
7124 let __t = (__coord - -0.5775) / (-0.375 - -0.5775);
7125 let __h = -0.375 - -0.5775;
7126 let __a = 0.0 * __h - (__y2 - __y1);
7127 let __b = -0.0 * __h + (__y2 - __y1);
7128 let __lerp_y = __y1 + __t * (__y2 - __y1);
7129 let __lerp_ab = __a + __t * (__b - __a);
7130 f64::from(__lerp_y + __t * (1.0_f32 - __t) * __lerp_ab)
7131 } else {
7132 f64::from(0.0 + 0.0 * (__coord - -0.375))
7133 }
7134 }) as f32
7135}
7136#[inline]
7137fn compute_overworld__base_3d_noise_simd<const N: usize>(
7138 noises: &OverworldNoises,
7139 cache: &OverworldColumnCache,
7140 x: f64,
7141 ys: Simd<f64, N>,
7142 z: f64,
7143) -> Simd<f32, N> {
7144 {
7145 let __ys_arr = ys.to_array();
7146 let mut __values = [0.0_f32; N];
7147 for lane in 0..N {
7148 #[allow(clippy::cast_possible_truncation)]
7149 let y = __ys_arr[lane];
7150 __values[lane] = (noises.blended_noise.compute(x, y, z) as f32) as f32;
7151 }
7152 Simd::from_array(__values)
7153 }
7154}
7155#[inline]
7156fn compute_overworld__caves__spaghetti_roughness_function_simd<const N: usize>(
7157 noises: &OverworldNoises,
7158 cache: &OverworldColumnCache,
7159 x: f64,
7160 ys: Simd<f64, N>,
7161 z: f64,
7162) -> Simd<f32, N> {
7163 ((((((noises
7164 .n_spaghetti_roughness_modulator
7165 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
7166 * (Simd::<f32, N>::splat(-0.05)))) + (Simd::<f32, N>::splat(-0.05))))
7167 * ((((noises
7168 .n_spaghetti_roughness
7169 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
7170 .abs()) + (Simd::<f32, N>::splat(-0.4)))))
7171}
7172#[inline]
7173fn compute_overworld__caves__entrances_simd<const N: usize>(
7174 noises: &OverworldNoises,
7175 cache: &OverworldColumnCache,
7176 x: f64,
7177 ys: Simd<f64, N>,
7178 z: f64,
7179) -> Simd<f32, N> {
7180 (((((noises
7181 .n_cave_entrance
7182 .get_value_y_simd(x * 0.75, ys * Simd::<f64, N>::splat(0.5), z * 0.75))
7183 + (Simd::<f32, N>::splat(0.37))))
7184 + ({
7185 let __coordinate = ys
7186 .cast::<i32>()
7187 .simd_max(Simd::splat(-10))
7188 .simd_min(Simd::splat(30)) - Simd::splat(-10);
7189 Simd::<f32, N>::splat(0.3)
7190 + __coordinate.cast::<f32>()
7191 * Simd::<f32, N>::splat((0.0 - 0.3) / (30 - -10) as f32)
7192 })))
7193 .simd_min(
7194 ((compute_overworld__caves__spaghetti_roughness_function_simd::<
7195 N,
7196 >(noises, cache, x, ys, z))
7197 + (((({
7198 let __cse_25 = noises
7199 .n_spaghetti_3d_rarity
7200 .get_value_y_simd(
7201 x * 2.0,
7202 ys * Simd::<f64, N>::splat(1.0),
7203 z * 2.0,
7204 );
7205 (({
7206 let __branch_input_26 = __cse_25;
7207 {
7208 let __below_mask = __branch_input_26
7209 .simd_lt(Simd::<f32, N>::splat(-0.5));
7210 if __below_mask.all() {
7211 ((noises
7212 .n_spaghetti_3d_1
7213 .get_value_y_simd(
7214 x * 1.3333333333333333,
7215 ys * Simd::<f64, N>::splat(1.3333333333333333),
7216 z * 1.3333333333333333,
7217 )) * (Simd::<f32, N>::splat(0.75)))
7218 } else if !__below_mask.any() {
7219 {
7220 let __below_mask = __branch_input_26
7221 .simd_lt(Simd::<f32, N>::splat(0.0));
7222 if __below_mask.all() {
7223 ((noises
7224 .n_spaghetti_3d_1
7225 .get_value_y_simd(
7226 x * 1.0,
7227 ys * Simd::<f64, N>::splat(1.0),
7228 z * 1.0,
7229 )) * (Simd::<f32, N>::splat(1.0)))
7230 } else if !__below_mask.any() {
7231 {
7232 let __below_mask = __branch_input_26
7233 .simd_lt(Simd::<f32, N>::splat(0.5));
7234 if __below_mask.all() {
7235 ((noises
7236 .n_spaghetti_3d_1
7237 .get_value_y_simd(
7238 x * 0.6666666666666666,
7239 ys * Simd::<f64, N>::splat(0.6666666666666666),
7240 z * 0.6666666666666666,
7241 )) * (Simd::<f32, N>::splat(1.5)))
7242 } else if !__below_mask.any() {
7243 ((noises
7244 .n_spaghetti_3d_1
7245 .get_value_y_simd(
7246 x * 0.5,
7247 ys * Simd::<f64, N>::splat(0.5),
7248 z * 0.5,
7249 )) * (Simd::<f32, N>::splat(2.0)))
7250 } else {
7251 let __below = ((noises
7252 .n_spaghetti_3d_1
7253 .get_value_y_simd(
7254 x * 0.6666666666666666,
7255 ys * Simd::<f64, N>::splat(0.6666666666666666),
7256 z * 0.6666666666666666,
7257 )) * (Simd::<f32, N>::splat(1.5)));
7258 let __above = ((noises
7259 .n_spaghetti_3d_1
7260 .get_value_y_simd(
7261 x * 0.5,
7262 ys * Simd::<f64, N>::splat(0.5),
7263 z * 0.5,
7264 )) * (Simd::<f32, N>::splat(2.0)));
7265 __below_mask.select(__below, __above)
7266 }
7267 }
7268 } else {
7269 let __below = ((noises
7270 .n_spaghetti_3d_1
7271 .get_value_y_simd(
7272 x * 1.0,
7273 ys * Simd::<f64, N>::splat(1.0),
7274 z * 1.0,
7275 )) * (Simd::<f32, N>::splat(1.0)));
7276 let __above = {
7277 let __below_mask = __branch_input_26
7278 .simd_lt(Simd::<f32, N>::splat(0.5));
7279 if __below_mask.all() {
7280 ((noises
7281 .n_spaghetti_3d_1
7282 .get_value_y_simd(
7283 x * 0.6666666666666666,
7284 ys * Simd::<f64, N>::splat(0.6666666666666666),
7285 z * 0.6666666666666666,
7286 )) * (Simd::<f32, N>::splat(1.5)))
7287 } else if !__below_mask.any() {
7288 ((noises
7289 .n_spaghetti_3d_1
7290 .get_value_y_simd(
7291 x * 0.5,
7292 ys * Simd::<f64, N>::splat(0.5),
7293 z * 0.5,
7294 )) * (Simd::<f32, N>::splat(2.0)))
7295 } else {
7296 let __below = ((noises
7297 .n_spaghetti_3d_1
7298 .get_value_y_simd(
7299 x * 0.6666666666666666,
7300 ys * Simd::<f64, N>::splat(0.6666666666666666),
7301 z * 0.6666666666666666,
7302 )) * (Simd::<f32, N>::splat(1.5)));
7303 let __above = ((noises
7304 .n_spaghetti_3d_1
7305 .get_value_y_simd(
7306 x * 0.5,
7307 ys * Simd::<f64, N>::splat(0.5),
7308 z * 0.5,
7309 )) * (Simd::<f32, N>::splat(2.0)));
7310 __below_mask.select(__below, __above)
7311 }
7312 };
7313 __below_mask.select(__below, __above)
7314 }
7315 }
7316 } else {
7317 let __below = ((noises
7318 .n_spaghetti_3d_1
7319 .get_value_y_simd(
7320 x * 1.3333333333333333,
7321 ys * Simd::<f64, N>::splat(1.3333333333333333),
7322 z * 1.3333333333333333,
7323 )) * (Simd::<f32, N>::splat(0.75)));
7324 let __above = {
7325 let __below_mask = __branch_input_26
7326 .simd_lt(Simd::<f32, N>::splat(0.0));
7327 if __below_mask.all() {
7328 ((noises
7329 .n_spaghetti_3d_1
7330 .get_value_y_simd(
7331 x * 1.0,
7332 ys * Simd::<f64, N>::splat(1.0),
7333 z * 1.0,
7334 )) * (Simd::<f32, N>::splat(1.0)))
7335 } else if !__below_mask.any() {
7336 {
7337 let __below_mask = __branch_input_26
7338 .simd_lt(Simd::<f32, N>::splat(0.5));
7339 if __below_mask.all() {
7340 ((noises
7341 .n_spaghetti_3d_1
7342 .get_value_y_simd(
7343 x * 0.6666666666666666,
7344 ys * Simd::<f64, N>::splat(0.6666666666666666),
7345 z * 0.6666666666666666,
7346 )) * (Simd::<f32, N>::splat(1.5)))
7347 } else if !__below_mask.any() {
7348 ((noises
7349 .n_spaghetti_3d_1
7350 .get_value_y_simd(
7351 x * 0.5,
7352 ys * Simd::<f64, N>::splat(0.5),
7353 z * 0.5,
7354 )) * (Simd::<f32, N>::splat(2.0)))
7355 } else {
7356 let __below = ((noises
7357 .n_spaghetti_3d_1
7358 .get_value_y_simd(
7359 x * 0.6666666666666666,
7360 ys * Simd::<f64, N>::splat(0.6666666666666666),
7361 z * 0.6666666666666666,
7362 )) * (Simd::<f32, N>::splat(1.5)));
7363 let __above = ((noises
7364 .n_spaghetti_3d_1
7365 .get_value_y_simd(
7366 x * 0.5,
7367 ys * Simd::<f64, N>::splat(0.5),
7368 z * 0.5,
7369 )) * (Simd::<f32, N>::splat(2.0)));
7370 __below_mask.select(__below, __above)
7371 }
7372 }
7373 } else {
7374 let __below = ((noises
7375 .n_spaghetti_3d_1
7376 .get_value_y_simd(
7377 x * 1.0,
7378 ys * Simd::<f64, N>::splat(1.0),
7379 z * 1.0,
7380 )) * (Simd::<f32, N>::splat(1.0)));
7381 let __above = {
7382 let __below_mask = __branch_input_26
7383 .simd_lt(Simd::<f32, N>::splat(0.5));
7384 if __below_mask.all() {
7385 ((noises
7386 .n_spaghetti_3d_1
7387 .get_value_y_simd(
7388 x * 0.6666666666666666,
7389 ys * Simd::<f64, N>::splat(0.6666666666666666),
7390 z * 0.6666666666666666,
7391 )) * (Simd::<f32, N>::splat(1.5)))
7392 } else if !__below_mask.any() {
7393 ((noises
7394 .n_spaghetti_3d_1
7395 .get_value_y_simd(
7396 x * 0.5,
7397 ys * Simd::<f64, N>::splat(0.5),
7398 z * 0.5,
7399 )) * (Simd::<f32, N>::splat(2.0)))
7400 } else {
7401 let __below = ((noises
7402 .n_spaghetti_3d_1
7403 .get_value_y_simd(
7404 x * 0.6666666666666666,
7405 ys * Simd::<f64, N>::splat(0.6666666666666666),
7406 z * 0.6666666666666666,
7407 )) * (Simd::<f32, N>::splat(1.5)));
7408 let __above = ((noises
7409 .n_spaghetti_3d_1
7410 .get_value_y_simd(
7411 x * 0.5,
7412 ys * Simd::<f64, N>::splat(0.5),
7413 z * 0.5,
7414 )) * (Simd::<f32, N>::splat(2.0)));
7415 __below_mask.select(__below, __above)
7416 }
7417 };
7418 __below_mask.select(__below, __above)
7419 }
7420 };
7421 __below_mask.select(__below, __above)
7422 }
7423 }
7424 })
7425 .abs())
7426 .simd_max(
7427 ({
7428 let __branch_input_27 = __cse_25;
7429 {
7430 let __below_mask = __branch_input_27
7431 .simd_lt(Simd::<f32, N>::splat(-0.5));
7432 if __below_mask.all() {
7433 ((noises
7434 .n_spaghetti_3d_2
7435 .get_value_y_simd(
7436 x * 1.3333333333333333,
7437 ys * Simd::<f64, N>::splat(1.3333333333333333),
7438 z * 1.3333333333333333,
7439 )) * (Simd::<f32, N>::splat(0.75)))
7440 } else if !__below_mask.any() {
7441 {
7442 let __below_mask = __branch_input_27
7443 .simd_lt(Simd::<f32, N>::splat(0.0));
7444 if __below_mask.all() {
7445 ((noises
7446 .n_spaghetti_3d_2
7447 .get_value_y_simd(
7448 x * 1.0,
7449 ys * Simd::<f64, N>::splat(1.0),
7450 z * 1.0,
7451 )) * (Simd::<f32, N>::splat(1.0)))
7452 } else if !__below_mask.any() {
7453 {
7454 let __below_mask = __branch_input_27
7455 .simd_lt(Simd::<f32, N>::splat(0.5));
7456 if __below_mask.all() {
7457 ((noises
7458 .n_spaghetti_3d_2
7459 .get_value_y_simd(
7460 x * 0.6666666666666666,
7461 ys * Simd::<f64, N>::splat(0.6666666666666666),
7462 z * 0.6666666666666666,
7463 )) * (Simd::<f32, N>::splat(1.5)))
7464 } else if !__below_mask.any() {
7465 ((noises
7466 .n_spaghetti_3d_2
7467 .get_value_y_simd(
7468 x * 0.5,
7469 ys * Simd::<f64, N>::splat(0.5),
7470 z * 0.5,
7471 )) * (Simd::<f32, N>::splat(2.0)))
7472 } else {
7473 let __below = ((noises
7474 .n_spaghetti_3d_2
7475 .get_value_y_simd(
7476 x * 0.6666666666666666,
7477 ys * Simd::<f64, N>::splat(0.6666666666666666),
7478 z * 0.6666666666666666,
7479 )) * (Simd::<f32, N>::splat(1.5)));
7480 let __above = ((noises
7481 .n_spaghetti_3d_2
7482 .get_value_y_simd(
7483 x * 0.5,
7484 ys * Simd::<f64, N>::splat(0.5),
7485 z * 0.5,
7486 )) * (Simd::<f32, N>::splat(2.0)));
7487 __below_mask.select(__below, __above)
7488 }
7489 }
7490 } else {
7491 let __below = ((noises
7492 .n_spaghetti_3d_2
7493 .get_value_y_simd(
7494 x * 1.0,
7495 ys * Simd::<f64, N>::splat(1.0),
7496 z * 1.0,
7497 )) * (Simd::<f32, N>::splat(1.0)));
7498 let __above = {
7499 let __below_mask = __branch_input_27
7500 .simd_lt(Simd::<f32, N>::splat(0.5));
7501 if __below_mask.all() {
7502 ((noises
7503 .n_spaghetti_3d_2
7504 .get_value_y_simd(
7505 x * 0.6666666666666666,
7506 ys * Simd::<f64, N>::splat(0.6666666666666666),
7507 z * 0.6666666666666666,
7508 )) * (Simd::<f32, N>::splat(1.5)))
7509 } else if !__below_mask.any() {
7510 ((noises
7511 .n_spaghetti_3d_2
7512 .get_value_y_simd(
7513 x * 0.5,
7514 ys * Simd::<f64, N>::splat(0.5),
7515 z * 0.5,
7516 )) * (Simd::<f32, N>::splat(2.0)))
7517 } else {
7518 let __below = ((noises
7519 .n_spaghetti_3d_2
7520 .get_value_y_simd(
7521 x * 0.6666666666666666,
7522 ys * Simd::<f64, N>::splat(0.6666666666666666),
7523 z * 0.6666666666666666,
7524 )) * (Simd::<f32, N>::splat(1.5)));
7525 let __above = ((noises
7526 .n_spaghetti_3d_2
7527 .get_value_y_simd(
7528 x * 0.5,
7529 ys * Simd::<f64, N>::splat(0.5),
7530 z * 0.5,
7531 )) * (Simd::<f32, N>::splat(2.0)));
7532 __below_mask.select(__below, __above)
7533 }
7534 };
7535 __below_mask.select(__below, __above)
7536 }
7537 }
7538 } else {
7539 let __below = ((noises
7540 .n_spaghetti_3d_2
7541 .get_value_y_simd(
7542 x * 1.3333333333333333,
7543 ys * Simd::<f64, N>::splat(1.3333333333333333),
7544 z * 1.3333333333333333,
7545 )) * (Simd::<f32, N>::splat(0.75)));
7546 let __above = {
7547 let __below_mask = __branch_input_27
7548 .simd_lt(Simd::<f32, N>::splat(0.0));
7549 if __below_mask.all() {
7550 ((noises
7551 .n_spaghetti_3d_2
7552 .get_value_y_simd(
7553 x * 1.0,
7554 ys * Simd::<f64, N>::splat(1.0),
7555 z * 1.0,
7556 )) * (Simd::<f32, N>::splat(1.0)))
7557 } else if !__below_mask.any() {
7558 {
7559 let __below_mask = __branch_input_27
7560 .simd_lt(Simd::<f32, N>::splat(0.5));
7561 if __below_mask.all() {
7562 ((noises
7563 .n_spaghetti_3d_2
7564 .get_value_y_simd(
7565 x * 0.6666666666666666,
7566 ys * Simd::<f64, N>::splat(0.6666666666666666),
7567 z * 0.6666666666666666,
7568 )) * (Simd::<f32, N>::splat(1.5)))
7569 } else if !__below_mask.any() {
7570 ((noises
7571 .n_spaghetti_3d_2
7572 .get_value_y_simd(
7573 x * 0.5,
7574 ys * Simd::<f64, N>::splat(0.5),
7575 z * 0.5,
7576 )) * (Simd::<f32, N>::splat(2.0)))
7577 } else {
7578 let __below = ((noises
7579 .n_spaghetti_3d_2
7580 .get_value_y_simd(
7581 x * 0.6666666666666666,
7582 ys * Simd::<f64, N>::splat(0.6666666666666666),
7583 z * 0.6666666666666666,
7584 )) * (Simd::<f32, N>::splat(1.5)));
7585 let __above = ((noises
7586 .n_spaghetti_3d_2
7587 .get_value_y_simd(
7588 x * 0.5,
7589 ys * Simd::<f64, N>::splat(0.5),
7590 z * 0.5,
7591 )) * (Simd::<f32, N>::splat(2.0)));
7592 __below_mask.select(__below, __above)
7593 }
7594 }
7595 } else {
7596 let __below = ((noises
7597 .n_spaghetti_3d_2
7598 .get_value_y_simd(
7599 x * 1.0,
7600 ys * Simd::<f64, N>::splat(1.0),
7601 z * 1.0,
7602 )) * (Simd::<f32, N>::splat(1.0)));
7603 let __above = {
7604 let __below_mask = __branch_input_27
7605 .simd_lt(Simd::<f32, N>::splat(0.5));
7606 if __below_mask.all() {
7607 ((noises
7608 .n_spaghetti_3d_2
7609 .get_value_y_simd(
7610 x * 0.6666666666666666,
7611 ys * Simd::<f64, N>::splat(0.6666666666666666),
7612 z * 0.6666666666666666,
7613 )) * (Simd::<f32, N>::splat(1.5)))
7614 } else if !__below_mask.any() {
7615 ((noises
7616 .n_spaghetti_3d_2
7617 .get_value_y_simd(
7618 x * 0.5,
7619 ys * Simd::<f64, N>::splat(0.5),
7620 z * 0.5,
7621 )) * (Simd::<f32, N>::splat(2.0)))
7622 } else {
7623 let __below = ((noises
7624 .n_spaghetti_3d_2
7625 .get_value_y_simd(
7626 x * 0.6666666666666666,
7627 ys * Simd::<f64, N>::splat(0.6666666666666666),
7628 z * 0.6666666666666666,
7629 )) * (Simd::<f32, N>::splat(1.5)));
7630 let __above = ((noises
7631 .n_spaghetti_3d_2
7632 .get_value_y_simd(
7633 x * 0.5,
7634 ys * Simd::<f64, N>::splat(0.5),
7635 z * 0.5,
7636 )) * (Simd::<f32, N>::splat(2.0)));
7637 __below_mask.select(__below, __above)
7638 }
7639 };
7640 __below_mask.select(__below, __above)
7641 }
7642 };
7643 __below_mask.select(__below, __above)
7644 }
7645 }
7646 })
7647 .abs(),
7648 )
7649 })
7650 + (((((noises
7651 .n_spaghetti_3d_thickness
7652 .get_value_y_simd(
7653 x * 1.0,
7654 ys * Simd::<f64, N>::splat(1.0),
7655 z * 1.0,
7656 )) * (Simd::<f32, N>::splat(-0.011500001))))
7657 + (Simd::<f32, N>::splat(-0.0765))))))
7658 .simd_max(Simd::<f32, N>::splat(-1.0))
7659 .simd_min(Simd::<f32, N>::splat(1.0)))),
7660 )
7661}
7662#[inline]
7663fn compute_y_simd<const N: usize>(
7664 noises: &OverworldNoises,
7665 cache: &OverworldColumnCache,
7666 x: f64,
7667 ys: Simd<f64, N>,
7668 z: f64,
7669) -> Simd<f32, N> {
7670 {
7671 let __coordinate = ys
7672 .cast::<i32>()
7673 .simd_max(Simd::splat(-4064))
7674 .simd_min(Simd::splat(4062)) - Simd::splat(-4064);
7675 Simd::<f32, N>::splat(-4064.0)
7676 + __coordinate.cast::<f32>()
7677 * Simd::<f32, N>::splat((4062.0 - -4064.0) / (4062 - -4064) as f32)
7678 }
7679}
7680#[inline]
7681fn compute_overworld__caves__noodle_simd<const N: usize>(
7682 noises: &OverworldNoises,
7683 cache: &OverworldColumnCache,
7684 x: f64,
7685 ys: Simd<f64, N>,
7686 z: f64,
7687) -> Simd<f32, N> {
7688 {
7689 let __branch_input_29 = {
7690 let __branch_input_28 = compute_y_simd::<N>(noises, cache, x, ys, z);
7691 let __in_mask = __branch_input_28.simd_ge(Simd::<f32, N>::splat(-60.0))
7692 & __branch_input_28.simd_lt(Simd::<f32, N>::splat(321.0));
7693 if __in_mask.all() {
7694 noises
7695 .n_noodle
7696 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0)
7697 } else if !__in_mask.any() {
7698 Simd::<f32, N>::splat(-1.0)
7699 } else {
7700 let __ir = noises
7701 .n_noodle
7702 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0);
7703 let __or = Simd::<f32, N>::splat(-1.0);
7704 __in_mask.select(__ir, __or)
7705 }
7706 };
7707 let __in_mask = __branch_input_29.simd_ge(Simd::<f32, N>::splat(-1000000.0))
7708 & __branch_input_29.simd_lt(Simd::<f32, N>::splat(0.0));
7709 if __in_mask.all() {
7710 Simd::<f32, N>::splat(64.0)
7711 } else if !__in_mask.any() {
7712 {
7713 let __cse_30 = compute_y_simd::<N>(noises, cache, x, ys, z);
7714 (({
7715 let __branch_input_31 = __cse_30;
7716 let __in_mask = __branch_input_31
7717 .simd_ge(Simd::<f32, N>::splat(-60.0))
7718 & __branch_input_31.simd_lt(Simd::<f32, N>::splat(321.0));
7719 if __in_mask.all() {
7720 ((((noises
7721 .n_noodle_thickness
7722 .get_value_y_simd(
7723 x * 1.0,
7724 ys * Simd::<f64, N>::splat(1.0),
7725 z * 1.0,
7726 )) * (Simd::<f32, N>::splat(-0.025))))
7727 + (Simd::<f32, N>::splat(-0.075)))
7728 } else if !__in_mask.any() {
7729 Simd::<f32, N>::splat(0.0)
7730 } else {
7731 let __ir = ((((noises
7732 .n_noodle_thickness
7733 .get_value_y_simd(
7734 x * 1.0,
7735 ys * Simd::<f64, N>::splat(1.0),
7736 z * 1.0,
7737 )) * (Simd::<f32, N>::splat(-0.025))))
7738 + (Simd::<f32, N>::splat(-0.075)));
7739 let __or = Simd::<f32, N>::splat(0.0);
7740 __in_mask.select(__ir, __or)
7741 }
7742 })
7743 + ((((({
7744 let __branch_input_32 = __cse_30;
7745 let __in_mask = __branch_input_32
7746 .simd_ge(Simd::<f32, N>::splat(-60.0))
7747 & __branch_input_32.simd_lt(Simd::<f32, N>::splat(321.0));
7748 if __in_mask.all() {
7749 noises
7750 .n_noodle_ridge_a
7751 .get_value_y_simd(
7752 x * 2.6666666666666665,
7753 ys * Simd::<f64, N>::splat(2.6666666666666665),
7754 z * 2.6666666666666665,
7755 )
7756 } else if !__in_mask.any() {
7757 Simd::<f32, N>::splat(0.0)
7758 } else {
7759 let __ir = noises
7760 .n_noodle_ridge_a
7761 .get_value_y_simd(
7762 x * 2.6666666666666665,
7763 ys * Simd::<f64, N>::splat(2.6666666666666665),
7764 z * 2.6666666666666665,
7765 );
7766 let __or = Simd::<f32, N>::splat(0.0);
7767 __in_mask.select(__ir, __or)
7768 }
7769 })
7770 .abs())
7771 .simd_max(
7772 ({
7773 let __branch_input_33 = __cse_30;
7774 let __in_mask = __branch_input_33
7775 .simd_ge(Simd::<f32, N>::splat(-60.0))
7776 & __branch_input_33.simd_lt(Simd::<f32, N>::splat(321.0));
7777 if __in_mask.all() {
7778 noises
7779 .n_noodle_ridge_b
7780 .get_value_y_simd(
7781 x * 2.6666666666666665,
7782 ys * Simd::<f64, N>::splat(2.6666666666666665),
7783 z * 2.6666666666666665,
7784 )
7785 } else if !__in_mask.any() {
7786 Simd::<f32, N>::splat(0.0)
7787 } else {
7788 let __ir = noises
7789 .n_noodle_ridge_b
7790 .get_value_y_simd(
7791 x * 2.6666666666666665,
7792 ys * Simd::<f64, N>::splat(2.6666666666666665),
7793 z * 2.6666666666666665,
7794 );
7795 let __or = Simd::<f32, N>::splat(0.0);
7796 __in_mask.select(__ir, __or)
7797 }
7798 })
7799 .abs(),
7800 )) * (Simd::<f32, N>::splat(1.5)))))
7801 }
7802 } else {
7803 let __ir = Simd::<f32, N>::splat(64.0);
7804 let __or = {
7805 let __cse_30 = compute_y_simd::<N>(noises, cache, x, ys, z);
7806 (({
7807 let __branch_input_31 = __cse_30;
7808 let __in_mask = __branch_input_31
7809 .simd_ge(Simd::<f32, N>::splat(-60.0))
7810 & __branch_input_31.simd_lt(Simd::<f32, N>::splat(321.0));
7811 if __in_mask.all() {
7812 ((((noises
7813 .n_noodle_thickness
7814 .get_value_y_simd(
7815 x * 1.0,
7816 ys * Simd::<f64, N>::splat(1.0),
7817 z * 1.0,
7818 )) * (Simd::<f32, N>::splat(-0.025))))
7819 + (Simd::<f32, N>::splat(-0.075)))
7820 } else if !__in_mask.any() {
7821 Simd::<f32, N>::splat(0.0)
7822 } else {
7823 let __ir = ((((noises
7824 .n_noodle_thickness
7825 .get_value_y_simd(
7826 x * 1.0,
7827 ys * Simd::<f64, N>::splat(1.0),
7828 z * 1.0,
7829 )) * (Simd::<f32, N>::splat(-0.025))))
7830 + (Simd::<f32, N>::splat(-0.075)));
7831 let __or = Simd::<f32, N>::splat(0.0);
7832 __in_mask.select(__ir, __or)
7833 }
7834 })
7835 + ((((({
7836 let __branch_input_32 = __cse_30;
7837 let __in_mask = __branch_input_32
7838 .simd_ge(Simd::<f32, N>::splat(-60.0))
7839 & __branch_input_32.simd_lt(Simd::<f32, N>::splat(321.0));
7840 if __in_mask.all() {
7841 noises
7842 .n_noodle_ridge_a
7843 .get_value_y_simd(
7844 x * 2.6666666666666665,
7845 ys * Simd::<f64, N>::splat(2.6666666666666665),
7846 z * 2.6666666666666665,
7847 )
7848 } else if !__in_mask.any() {
7849 Simd::<f32, N>::splat(0.0)
7850 } else {
7851 let __ir = noises
7852 .n_noodle_ridge_a
7853 .get_value_y_simd(
7854 x * 2.6666666666666665,
7855 ys * Simd::<f64, N>::splat(2.6666666666666665),
7856 z * 2.6666666666666665,
7857 );
7858 let __or = Simd::<f32, N>::splat(0.0);
7859 __in_mask.select(__ir, __or)
7860 }
7861 })
7862 .abs())
7863 .simd_max(
7864 ({
7865 let __branch_input_33 = __cse_30;
7866 let __in_mask = __branch_input_33
7867 .simd_ge(Simd::<f32, N>::splat(-60.0))
7868 & __branch_input_33.simd_lt(Simd::<f32, N>::splat(321.0));
7869 if __in_mask.all() {
7870 noises
7871 .n_noodle_ridge_b
7872 .get_value_y_simd(
7873 x * 2.6666666666666665,
7874 ys * Simd::<f64, N>::splat(2.6666666666666665),
7875 z * 2.6666666666666665,
7876 )
7877 } else if !__in_mask.any() {
7878 Simd::<f32, N>::splat(0.0)
7879 } else {
7880 let __ir = noises
7881 .n_noodle_ridge_b
7882 .get_value_y_simd(
7883 x * 2.6666666666666665,
7884 ys * Simd::<f64, N>::splat(2.6666666666666665),
7885 z * 2.6666666666666665,
7886 );
7887 let __or = Simd::<f32, N>::splat(0.0);
7888 __in_mask.select(__ir, __or)
7889 }
7890 })
7891 .abs(),
7892 )) * (Simd::<f32, N>::splat(1.5)))))
7893 };
7894 __in_mask.select(__ir, __or)
7895 }
7896 }
7897}
7898#[inline]
7899fn compute_overworld__caves__pillars_simd<const N: usize>(
7900 noises: &OverworldNoises,
7901 cache: &OverworldColumnCache,
7902 x: f64,
7903 ys: Simd<f64, N>,
7904 z: f64,
7905) -> Simd<f32, N> {
7906 ((((((noises
7907 .n_pillar
7908 .get_value_y_simd(x * 25.0, ys * Simd::<f64, N>::splat(0.3), z * 25.0))
7909 * (Simd::<f32, N>::splat(2.0))))
7910 + (((((noises
7911 .n_pillar_rareness
7912 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
7913 * (Simd::<f32, N>::splat(-1.0)))) + (Simd::<f32, N>::splat(-1.0))))))
7914 * ({
7915 let __v = ((((noises
7916 .n_pillar_thickness
7917 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
7918 * (Simd::<f32, N>::splat(0.55)))) + (Simd::<f32, N>::splat(0.55)));
7919 __v * __v * __v
7920 }))
7921}
7922#[inline]
7923fn compute_overworld__caves__spaghetti_2d_thickness_modulator_simd<const N: usize>(
7924 noises: &OverworldNoises,
7925 cache: &OverworldColumnCache,
7926 x: f64,
7927 ys: Simd<f64, N>,
7928 z: f64,
7929) -> Simd<f32, N> {
7930 ((((noises
7931 .n_spaghetti_2d_thickness
7932 .get_value_y_simd(x * 2.0, ys * Simd::<f64, N>::splat(1.0), z * 2.0))
7933 * (Simd::<f32, N>::splat(-0.34999996)))) + (Simd::<f32, N>::splat(-0.95)))
7934}
7935#[inline]
7936fn compute_overworld__caves__spaghetti_2d_simd<const N: usize>(
7937 noises: &OverworldNoises,
7938 cache: &OverworldColumnCache,
7939 x: f64,
7940 ys: Simd<f64, N>,
7941 z: f64,
7942) -> Simd<f32, N> {
7943 ({
7944 let __cse_34 = compute_overworld__caves__spaghetti_2d_thickness_modulator_simd::<
7945 N,
7946 >(noises, cache, x, ys, z);
7947 (((({
7948 let __branch_input_35 = noises
7949 .n_spaghetti_2d_modulator
7950 .get_value_y_simd(x * 2.0, ys * Simd::<f64, N>::splat(1.0), z * 2.0);
7951 {
7952 let __below_mask = __branch_input_35
7953 .simd_lt(Simd::<f32, N>::splat(-0.75));
7954 if __below_mask.all() {
7955 ((noises
7956 .n_spaghetti_2d
7957 .get_value_y_simd(
7958 x * 2.0,
7959 ys * Simd::<f64, N>::splat(2.0),
7960 z * 2.0,
7961 )) * (Simd::<f32, N>::splat(0.5)))
7962 } else if !__below_mask.any() {
7963 {
7964 let __below_mask = __branch_input_35
7965 .simd_lt(Simd::<f32, N>::splat(-0.5));
7966 if __below_mask.all() {
7967 ((noises
7968 .n_spaghetti_2d
7969 .get_value_y_simd(
7970 x * 1.3333333333333333,
7971 ys * Simd::<f64, N>::splat(1.3333333333333333),
7972 z * 1.3333333333333333,
7973 )) * (Simd::<f32, N>::splat(0.75)))
7974 } else if !__below_mask.any() {
7975 {
7976 let __below_mask = __branch_input_35
7977 .simd_lt(Simd::<f32, N>::splat(0.5));
7978 if __below_mask.all() {
7979 ((noises
7980 .n_spaghetti_2d
7981 .get_value_y_simd(
7982 x * 1.0,
7983 ys * Simd::<f64, N>::splat(1.0),
7984 z * 1.0,
7985 )) * (Simd::<f32, N>::splat(1.0)))
7986 } else if !__below_mask.any() {
7987 {
7988 let __below_mask = __branch_input_35
7989 .simd_lt(Simd::<f32, N>::splat(0.75));
7990 if __below_mask.all() {
7991 ((noises
7992 .n_spaghetti_2d
7993 .get_value_y_simd(
7994 x * 0.5,
7995 ys * Simd::<f64, N>::splat(0.5),
7996 z * 0.5,
7997 )) * (Simd::<f32, N>::splat(2.0)))
7998 } else if !__below_mask.any() {
7999 ((noises
8000 .n_spaghetti_2d
8001 .get_value_y_simd(
8002 x * 0.3333333333333333,
8003 ys * Simd::<f64, N>::splat(0.3333333333333333),
8004 z * 0.3333333333333333,
8005 )) * (Simd::<f32, N>::splat(3.0)))
8006 } else {
8007 let __below = ((noises
8008 .n_spaghetti_2d
8009 .get_value_y_simd(
8010 x * 0.5,
8011 ys * Simd::<f64, N>::splat(0.5),
8012 z * 0.5,
8013 )) * (Simd::<f32, N>::splat(2.0)));
8014 let __above = ((noises
8015 .n_spaghetti_2d
8016 .get_value_y_simd(
8017 x * 0.3333333333333333,
8018 ys * Simd::<f64, N>::splat(0.3333333333333333),
8019 z * 0.3333333333333333,
8020 )) * (Simd::<f32, N>::splat(3.0)));
8021 __below_mask.select(__below, __above)
8022 }
8023 }
8024 } else {
8025 let __below = ((noises
8026 .n_spaghetti_2d
8027 .get_value_y_simd(
8028 x * 1.0,
8029 ys * Simd::<f64, N>::splat(1.0),
8030 z * 1.0,
8031 )) * (Simd::<f32, N>::splat(1.0)));
8032 let __above = {
8033 let __below_mask = __branch_input_35
8034 .simd_lt(Simd::<f32, N>::splat(0.75));
8035 if __below_mask.all() {
8036 ((noises
8037 .n_spaghetti_2d
8038 .get_value_y_simd(
8039 x * 0.5,
8040 ys * Simd::<f64, N>::splat(0.5),
8041 z * 0.5,
8042 )) * (Simd::<f32, N>::splat(2.0)))
8043 } else if !__below_mask.any() {
8044 ((noises
8045 .n_spaghetti_2d
8046 .get_value_y_simd(
8047 x * 0.3333333333333333,
8048 ys * Simd::<f64, N>::splat(0.3333333333333333),
8049 z * 0.3333333333333333,
8050 )) * (Simd::<f32, N>::splat(3.0)))
8051 } else {
8052 let __below = ((noises
8053 .n_spaghetti_2d
8054 .get_value_y_simd(
8055 x * 0.5,
8056 ys * Simd::<f64, N>::splat(0.5),
8057 z * 0.5,
8058 )) * (Simd::<f32, N>::splat(2.0)));
8059 let __above = ((noises
8060 .n_spaghetti_2d
8061 .get_value_y_simd(
8062 x * 0.3333333333333333,
8063 ys * Simd::<f64, N>::splat(0.3333333333333333),
8064 z * 0.3333333333333333,
8065 )) * (Simd::<f32, N>::splat(3.0)));
8066 __below_mask.select(__below, __above)
8067 }
8068 };
8069 __below_mask.select(__below, __above)
8070 }
8071 }
8072 } else {
8073 let __below = ((noises
8074 .n_spaghetti_2d
8075 .get_value_y_simd(
8076 x * 1.3333333333333333,
8077 ys * Simd::<f64, N>::splat(1.3333333333333333),
8078 z * 1.3333333333333333,
8079 )) * (Simd::<f32, N>::splat(0.75)));
8080 let __above = {
8081 let __below_mask = __branch_input_35
8082 .simd_lt(Simd::<f32, N>::splat(0.5));
8083 if __below_mask.all() {
8084 ((noises
8085 .n_spaghetti_2d
8086 .get_value_y_simd(
8087 x * 1.0,
8088 ys * Simd::<f64, N>::splat(1.0),
8089 z * 1.0,
8090 )) * (Simd::<f32, N>::splat(1.0)))
8091 } else if !__below_mask.any() {
8092 {
8093 let __below_mask = __branch_input_35
8094 .simd_lt(Simd::<f32, N>::splat(0.75));
8095 if __below_mask.all() {
8096 ((noises
8097 .n_spaghetti_2d
8098 .get_value_y_simd(
8099 x * 0.5,
8100 ys * Simd::<f64, N>::splat(0.5),
8101 z * 0.5,
8102 )) * (Simd::<f32, N>::splat(2.0)))
8103 } else if !__below_mask.any() {
8104 ((noises
8105 .n_spaghetti_2d
8106 .get_value_y_simd(
8107 x * 0.3333333333333333,
8108 ys * Simd::<f64, N>::splat(0.3333333333333333),
8109 z * 0.3333333333333333,
8110 )) * (Simd::<f32, N>::splat(3.0)))
8111 } else {
8112 let __below = ((noises
8113 .n_spaghetti_2d
8114 .get_value_y_simd(
8115 x * 0.5,
8116 ys * Simd::<f64, N>::splat(0.5),
8117 z * 0.5,
8118 )) * (Simd::<f32, N>::splat(2.0)));
8119 let __above = ((noises
8120 .n_spaghetti_2d
8121 .get_value_y_simd(
8122 x * 0.3333333333333333,
8123 ys * Simd::<f64, N>::splat(0.3333333333333333),
8124 z * 0.3333333333333333,
8125 )) * (Simd::<f32, N>::splat(3.0)));
8126 __below_mask.select(__below, __above)
8127 }
8128 }
8129 } else {
8130 let __below = ((noises
8131 .n_spaghetti_2d
8132 .get_value_y_simd(
8133 x * 1.0,
8134 ys * Simd::<f64, N>::splat(1.0),
8135 z * 1.0,
8136 )) * (Simd::<f32, N>::splat(1.0)));
8137 let __above = {
8138 let __below_mask = __branch_input_35
8139 .simd_lt(Simd::<f32, N>::splat(0.75));
8140 if __below_mask.all() {
8141 ((noises
8142 .n_spaghetti_2d
8143 .get_value_y_simd(
8144 x * 0.5,
8145 ys * Simd::<f64, N>::splat(0.5),
8146 z * 0.5,
8147 )) * (Simd::<f32, N>::splat(2.0)))
8148 } else if !__below_mask.any() {
8149 ((noises
8150 .n_spaghetti_2d
8151 .get_value_y_simd(
8152 x * 0.3333333333333333,
8153 ys * Simd::<f64, N>::splat(0.3333333333333333),
8154 z * 0.3333333333333333,
8155 )) * (Simd::<f32, N>::splat(3.0)))
8156 } else {
8157 let __below = ((noises
8158 .n_spaghetti_2d
8159 .get_value_y_simd(
8160 x * 0.5,
8161 ys * Simd::<f64, N>::splat(0.5),
8162 z * 0.5,
8163 )) * (Simd::<f32, N>::splat(2.0)));
8164 let __above = ((noises
8165 .n_spaghetti_2d
8166 .get_value_y_simd(
8167 x * 0.3333333333333333,
8168 ys * Simd::<f64, N>::splat(0.3333333333333333),
8169 z * 0.3333333333333333,
8170 )) * (Simd::<f32, N>::splat(3.0)));
8171 __below_mask.select(__below, __above)
8172 }
8173 };
8174 __below_mask.select(__below, __above)
8175 }
8176 };
8177 __below_mask.select(__below, __above)
8178 }
8179 }
8180 } else {
8181 let __below = ((noises
8182 .n_spaghetti_2d
8183 .get_value_y_simd(
8184 x * 2.0,
8185 ys * Simd::<f64, N>::splat(2.0),
8186 z * 2.0,
8187 )) * (Simd::<f32, N>::splat(0.5)));
8188 let __above = {
8189 let __below_mask = __branch_input_35
8190 .simd_lt(Simd::<f32, N>::splat(-0.5));
8191 if __below_mask.all() {
8192 ((noises
8193 .n_spaghetti_2d
8194 .get_value_y_simd(
8195 x * 1.3333333333333333,
8196 ys * Simd::<f64, N>::splat(1.3333333333333333),
8197 z * 1.3333333333333333,
8198 )) * (Simd::<f32, N>::splat(0.75)))
8199 } else if !__below_mask.any() {
8200 {
8201 let __below_mask = __branch_input_35
8202 .simd_lt(Simd::<f32, N>::splat(0.5));
8203 if __below_mask.all() {
8204 ((noises
8205 .n_spaghetti_2d
8206 .get_value_y_simd(
8207 x * 1.0,
8208 ys * Simd::<f64, N>::splat(1.0),
8209 z * 1.0,
8210 )) * (Simd::<f32, N>::splat(1.0)))
8211 } else if !__below_mask.any() {
8212 {
8213 let __below_mask = __branch_input_35
8214 .simd_lt(Simd::<f32, N>::splat(0.75));
8215 if __below_mask.all() {
8216 ((noises
8217 .n_spaghetti_2d
8218 .get_value_y_simd(
8219 x * 0.5,
8220 ys * Simd::<f64, N>::splat(0.5),
8221 z * 0.5,
8222 )) * (Simd::<f32, N>::splat(2.0)))
8223 } else if !__below_mask.any() {
8224 ((noises
8225 .n_spaghetti_2d
8226 .get_value_y_simd(
8227 x * 0.3333333333333333,
8228 ys * Simd::<f64, N>::splat(0.3333333333333333),
8229 z * 0.3333333333333333,
8230 )) * (Simd::<f32, N>::splat(3.0)))
8231 } else {
8232 let __below = ((noises
8233 .n_spaghetti_2d
8234 .get_value_y_simd(
8235 x * 0.5,
8236 ys * Simd::<f64, N>::splat(0.5),
8237 z * 0.5,
8238 )) * (Simd::<f32, N>::splat(2.0)));
8239 let __above = ((noises
8240 .n_spaghetti_2d
8241 .get_value_y_simd(
8242 x * 0.3333333333333333,
8243 ys * Simd::<f64, N>::splat(0.3333333333333333),
8244 z * 0.3333333333333333,
8245 )) * (Simd::<f32, N>::splat(3.0)));
8246 __below_mask.select(__below, __above)
8247 }
8248 }
8249 } else {
8250 let __below = ((noises
8251 .n_spaghetti_2d
8252 .get_value_y_simd(
8253 x * 1.0,
8254 ys * Simd::<f64, N>::splat(1.0),
8255 z * 1.0,
8256 )) * (Simd::<f32, N>::splat(1.0)));
8257 let __above = {
8258 let __below_mask = __branch_input_35
8259 .simd_lt(Simd::<f32, N>::splat(0.75));
8260 if __below_mask.all() {
8261 ((noises
8262 .n_spaghetti_2d
8263 .get_value_y_simd(
8264 x * 0.5,
8265 ys * Simd::<f64, N>::splat(0.5),
8266 z * 0.5,
8267 )) * (Simd::<f32, N>::splat(2.0)))
8268 } else if !__below_mask.any() {
8269 ((noises
8270 .n_spaghetti_2d
8271 .get_value_y_simd(
8272 x * 0.3333333333333333,
8273 ys * Simd::<f64, N>::splat(0.3333333333333333),
8274 z * 0.3333333333333333,
8275 )) * (Simd::<f32, N>::splat(3.0)))
8276 } else {
8277 let __below = ((noises
8278 .n_spaghetti_2d
8279 .get_value_y_simd(
8280 x * 0.5,
8281 ys * Simd::<f64, N>::splat(0.5),
8282 z * 0.5,
8283 )) * (Simd::<f32, N>::splat(2.0)));
8284 let __above = ((noises
8285 .n_spaghetti_2d
8286 .get_value_y_simd(
8287 x * 0.3333333333333333,
8288 ys * Simd::<f64, N>::splat(0.3333333333333333),
8289 z * 0.3333333333333333,
8290 )) * (Simd::<f32, N>::splat(3.0)));
8291 __below_mask.select(__below, __above)
8292 }
8293 };
8294 __below_mask.select(__below, __above)
8295 }
8296 }
8297 } else {
8298 let __below = ((noises
8299 .n_spaghetti_2d
8300 .get_value_y_simd(
8301 x * 1.3333333333333333,
8302 ys * Simd::<f64, N>::splat(1.3333333333333333),
8303 z * 1.3333333333333333,
8304 )) * (Simd::<f32, N>::splat(0.75)));
8305 let __above = {
8306 let __below_mask = __branch_input_35
8307 .simd_lt(Simd::<f32, N>::splat(0.5));
8308 if __below_mask.all() {
8309 ((noises
8310 .n_spaghetti_2d
8311 .get_value_y_simd(
8312 x * 1.0,
8313 ys * Simd::<f64, N>::splat(1.0),
8314 z * 1.0,
8315 )) * (Simd::<f32, N>::splat(1.0)))
8316 } else if !__below_mask.any() {
8317 {
8318 let __below_mask = __branch_input_35
8319 .simd_lt(Simd::<f32, N>::splat(0.75));
8320 if __below_mask.all() {
8321 ((noises
8322 .n_spaghetti_2d
8323 .get_value_y_simd(
8324 x * 0.5,
8325 ys * Simd::<f64, N>::splat(0.5),
8326 z * 0.5,
8327 )) * (Simd::<f32, N>::splat(2.0)))
8328 } else if !__below_mask.any() {
8329 ((noises
8330 .n_spaghetti_2d
8331 .get_value_y_simd(
8332 x * 0.3333333333333333,
8333 ys * Simd::<f64, N>::splat(0.3333333333333333),
8334 z * 0.3333333333333333,
8335 )) * (Simd::<f32, N>::splat(3.0)))
8336 } else {
8337 let __below = ((noises
8338 .n_spaghetti_2d
8339 .get_value_y_simd(
8340 x * 0.5,
8341 ys * Simd::<f64, N>::splat(0.5),
8342 z * 0.5,
8343 )) * (Simd::<f32, N>::splat(2.0)));
8344 let __above = ((noises
8345 .n_spaghetti_2d
8346 .get_value_y_simd(
8347 x * 0.3333333333333333,
8348 ys * Simd::<f64, N>::splat(0.3333333333333333),
8349 z * 0.3333333333333333,
8350 )) * (Simd::<f32, N>::splat(3.0)));
8351 __below_mask.select(__below, __above)
8352 }
8353 }
8354 } else {
8355 let __below = ((noises
8356 .n_spaghetti_2d
8357 .get_value_y_simd(
8358 x * 1.0,
8359 ys * Simd::<f64, N>::splat(1.0),
8360 z * 1.0,
8361 )) * (Simd::<f32, N>::splat(1.0)));
8362 let __above = {
8363 let __below_mask = __branch_input_35
8364 .simd_lt(Simd::<f32, N>::splat(0.75));
8365 if __below_mask.all() {
8366 ((noises
8367 .n_spaghetti_2d
8368 .get_value_y_simd(
8369 x * 0.5,
8370 ys * Simd::<f64, N>::splat(0.5),
8371 z * 0.5,
8372 )) * (Simd::<f32, N>::splat(2.0)))
8373 } else if !__below_mask.any() {
8374 ((noises
8375 .n_spaghetti_2d
8376 .get_value_y_simd(
8377 x * 0.3333333333333333,
8378 ys * Simd::<f64, N>::splat(0.3333333333333333),
8379 z * 0.3333333333333333,
8380 )) * (Simd::<f32, N>::splat(3.0)))
8381 } else {
8382 let __below = ((noises
8383 .n_spaghetti_2d
8384 .get_value_y_simd(
8385 x * 0.5,
8386 ys * Simd::<f64, N>::splat(0.5),
8387 z * 0.5,
8388 )) * (Simd::<f32, N>::splat(2.0)));
8389 let __above = ((noises
8390 .n_spaghetti_2d
8391 .get_value_y_simd(
8392 x * 0.3333333333333333,
8393 ys * Simd::<f64, N>::splat(0.3333333333333333),
8394 z * 0.3333333333333333,
8395 )) * (Simd::<f32, N>::splat(3.0)));
8396 __below_mask.select(__below, __above)
8397 }
8398 };
8399 __below_mask.select(__below, __above)
8400 }
8401 };
8402 __below_mask.select(__below, __above)
8403 }
8404 };
8405 __below_mask.select(__below, __above)
8406 }
8407 }
8408 })
8409 .abs()) + (((__cse_34) * (Simd::<f32, N>::splat(0.083))))))
8410 .simd_max({
8411 let __v = (((((((Simd::<f32, N>::splat(cache.inline_noise_0))
8412 * (Simd::<f32, N>::splat(8.0))))
8413 + ({
8414 let __coordinate = ys
8415 .cast::<i32>()
8416 .simd_max(Simd::splat(-64))
8417 .simd_min(Simd::splat(320)) - Simd::splat(-64);
8418 Simd::<f32, N>::splat(8.0)
8419 + __coordinate.cast::<f32>()
8420 * Simd::<f32, N>::splat((-40.0 - 8.0) / (320 - -64) as f32)
8421 })))
8422 .abs()) + (__cse_34));
8423 __v * __v * __v
8424 })
8425 })
8426 .simd_max(Simd::<f32, N>::splat(-1.0))
8427 .simd_min(Simd::<f32, N>::splat(1.0))
8428}
8429#[inline]
8430fn compute_overworld__depth_simd<const N: usize>(
8431 noises: &OverworldNoises,
8432 cache: &OverworldColumnCache,
8433 x: f64,
8434 ys: Simd<f64, N>,
8435 z: f64,
8436) -> Simd<f32, N> {
8437 (({
8438 let __coordinate = ys
8439 .cast::<i32>()
8440 .simd_max(Simd::splat(-64))
8441 .simd_min(Simd::splat(320)) - Simd::splat(-64);
8442 Simd::<f32, N>::splat(1.5)
8443 + __coordinate.cast::<f32>()
8444 * Simd::<f32, N>::splat((-1.5 - 1.5) / (320 - -64) as f32)
8445 }) + (Simd::<f32, N>::splat(cache.df_overworld__offset)))
8446}
8447#[inline]
8448fn compute_overworld__sloped_cheese_simd<const N: usize>(
8449 noises: &OverworldNoises,
8450 cache: &OverworldColumnCache,
8451 x: f64,
8452 ys: Simd<f64, N>,
8453 z: f64,
8454) -> Simd<f32, N> {
8455 (((({
8456 let __v = ((((compute_overworld__depth_simd::<N>(noises, cache, x, ys, z))
8457 + (((Simd::<f32, N>::splat(cache.df_overworld__jaggedness))
8458 * ({
8459 let __v = Simd::<f32, N>::splat(cache.inline_noise_1);
8460 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
8461 __mask.select(__v, __v * Simd::<f32, N>::splat(0.5))
8462 }))))) * (Simd::<f32, N>::splat(cache.df_overworld__factor)));
8463 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
8464 __mask.select(__v, __v * Simd::<f32, N>::splat(0.25))
8465 }) * (Simd::<f32, N>::splat(4.0))))
8466 + (compute_overworld__base_3d_noise_simd::<N>(noises, cache, x, ys, z)))
8467}
8468#[inline]
8469fn compute_overworld__final_density_simd<const N: usize>(
8470 noises: &OverworldNoises,
8471 cache: &OverworldColumnCache,
8472 x: f64,
8473 ys: Simd<f64, N>,
8474 z: f64,
8475) -> Simd<f32, N> {
8476 ((({
8477 let __v = (({
8478 let __lerp_alpha = {
8479 let __coordinate = ys
8480 .cast::<i32>()
8481 .simd_max(Simd::splat(-64))
8482 .simd_min(Simd::splat(-40)) - Simd::splat(-64);
8483 Simd::<f32, N>::splat(0.0)
8484 + __coordinate.cast::<f32>()
8485 * Simd::<f32, N>::splat((1.0 - 0.0) / (-40 - -64) as f32)
8486 };
8487 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
8488 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
8489 if __zero.all() {
8490 Simd::<f32, N>::splat(0.1171875)
8491 } else if __one.all() {
8492 {
8493 let __lerp_alpha = {
8494 let __coordinate = ys
8495 .cast::<i32>()
8496 .simd_max(Simd::splat(240))
8497 .simd_min(Simd::splat(256)) - Simd::splat(240);
8498 Simd::<f32, N>::splat(1.0)
8499 + __coordinate.cast::<f32>()
8500 * Simd::<f32, N>::splat((0.0 - 1.0) / (256 - 240) as f32)
8501 };
8502 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
8503 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
8504 if __zero.all() {
8505 Simd::<f32, N>::splat(-0.078125)
8506 } else if __one.all() {
8507 {
8508 let __branch_input_36 = compute_overworld__sloped_cheese_simd::<
8509 N,
8510 >(noises, cache, x, ys, z);
8511 let __cse_37 = compute_overworld__caves__entrances_simd::<
8512 N,
8513 >(noises, cache, x, ys, z);
8514 let __in_mask = __branch_input_36
8515 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8516 & __branch_input_36.simd_lt(Simd::<f32, N>::splat(1.5625));
8517 if __in_mask.all() {
8518 (__branch_input_36)
8519 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))))
8520 } else if !__in_mask.any() {
8521 ((((((({
8522 let __v = noises
8523 .n_cave_layer
8524 .get_value_y_simd(
8525 x * 1.0,
8526 ys * Simd::<f64, N>::splat(8.0),
8527 z * 1.0,
8528 );
8529 __v * __v
8530 }) * (Simd::<f32, N>::splat(4.0))))
8531 + ((((((noises
8532 .n_cave_cheese
8533 .get_value_y_simd(
8534 x * 1.0,
8535 ys * Simd::<f64, N>::splat(0.6666666666666666),
8536 z * 1.0,
8537 )) + (Simd::<f32, N>::splat(0.27))))
8538 .simd_max(Simd::<f32, N>::splat(-1.0))
8539 .simd_min(Simd::<f32, N>::splat(1.0)))
8540 + ((((((__branch_input_36)
8541 * (Simd::<f32, N>::splat(-0.64))))
8542 + (Simd::<f32, N>::splat(1.5))))
8543 .simd_max(Simd::<f32, N>::splat(0.0))
8544 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8545 .simd_min(__cse_37))
8546 .simd_min(
8547 ((compute_overworld__caves__spaghetti_2d_simd::<
8548 N,
8549 >(noises, cache, x, ys, z))
8550 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8551 N,
8552 >(noises, cache, x, ys, z))),
8553 ))
8554 .simd_max({
8555 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8556 N,
8557 >(noises, cache, x, ys, z);
8558 let __in_mask = __branch_input_38
8559 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8560 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8561 if __in_mask.all() {
8562 Simd::<f32, N>::splat(-1000000.0)
8563 } else if !__in_mask.any() {
8564 __branch_input_38
8565 } else {
8566 let __ir = Simd::<f32, N>::splat(-1000000.0);
8567 let __or = __branch_input_38;
8568 __in_mask.select(__ir, __or)
8569 }
8570 })
8571 } else {
8572 let __ir = (__branch_input_36)
8573 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))));
8574 let __or = ((((((({
8575 let __v = noises
8576 .n_cave_layer
8577 .get_value_y_simd(
8578 x * 1.0,
8579 ys * Simd::<f64, N>::splat(8.0),
8580 z * 1.0,
8581 );
8582 __v * __v
8583 }) * (Simd::<f32, N>::splat(4.0))))
8584 + ((((((noises
8585 .n_cave_cheese
8586 .get_value_y_simd(
8587 x * 1.0,
8588 ys * Simd::<f64, N>::splat(0.6666666666666666),
8589 z * 1.0,
8590 )) + (Simd::<f32, N>::splat(0.27))))
8591 .simd_max(Simd::<f32, N>::splat(-1.0))
8592 .simd_min(Simd::<f32, N>::splat(1.0)))
8593 + ((((((__branch_input_36)
8594 * (Simd::<f32, N>::splat(-0.64))))
8595 + (Simd::<f32, N>::splat(1.5))))
8596 .simd_max(Simd::<f32, N>::splat(0.0))
8597 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8598 .simd_min(__cse_37))
8599 .simd_min(
8600 ((compute_overworld__caves__spaghetti_2d_simd::<
8601 N,
8602 >(noises, cache, x, ys, z))
8603 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8604 N,
8605 >(noises, cache, x, ys, z))),
8606 ))
8607 .simd_max({
8608 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8609 N,
8610 >(noises, cache, x, ys, z);
8611 let __in_mask = __branch_input_38
8612 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8613 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8614 if __in_mask.all() {
8615 Simd::<f32, N>::splat(-1000000.0)
8616 } else if !__in_mask.any() {
8617 __branch_input_38
8618 } else {
8619 let __ir = Simd::<f32, N>::splat(-1000000.0);
8620 let __or = __branch_input_38;
8621 __in_mask.select(__ir, __or)
8622 }
8623 });
8624 __in_mask.select(__ir, __or)
8625 }
8626 }
8627 } else {
8628 let __lerp_first = Simd::<f32, N>::splat(-0.078125);
8629 let __lerp_second = {
8630 let __branch_input_36 = compute_overworld__sloped_cheese_simd::<
8631 N,
8632 >(noises, cache, x, ys, z);
8633 let __cse_37 = compute_overworld__caves__entrances_simd::<
8634 N,
8635 >(noises, cache, x, ys, z);
8636 let __in_mask = __branch_input_36
8637 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8638 & __branch_input_36.simd_lt(Simd::<f32, N>::splat(1.5625));
8639 if __in_mask.all() {
8640 (__branch_input_36)
8641 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))))
8642 } else if !__in_mask.any() {
8643 ((((((({
8644 let __v = noises
8645 .n_cave_layer
8646 .get_value_y_simd(
8647 x * 1.0,
8648 ys * Simd::<f64, N>::splat(8.0),
8649 z * 1.0,
8650 );
8651 __v * __v
8652 }) * (Simd::<f32, N>::splat(4.0))))
8653 + ((((((noises
8654 .n_cave_cheese
8655 .get_value_y_simd(
8656 x * 1.0,
8657 ys * Simd::<f64, N>::splat(0.6666666666666666),
8658 z * 1.0,
8659 )) + (Simd::<f32, N>::splat(0.27))))
8660 .simd_max(Simd::<f32, N>::splat(-1.0))
8661 .simd_min(Simd::<f32, N>::splat(1.0)))
8662 + ((((((__branch_input_36)
8663 * (Simd::<f32, N>::splat(-0.64))))
8664 + (Simd::<f32, N>::splat(1.5))))
8665 .simd_max(Simd::<f32, N>::splat(0.0))
8666 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8667 .simd_min(__cse_37))
8668 .simd_min(
8669 ((compute_overworld__caves__spaghetti_2d_simd::<
8670 N,
8671 >(noises, cache, x, ys, z))
8672 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8673 N,
8674 >(noises, cache, x, ys, z))),
8675 ))
8676 .simd_max({
8677 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8678 N,
8679 >(noises, cache, x, ys, z);
8680 let __in_mask = __branch_input_38
8681 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8682 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8683 if __in_mask.all() {
8684 Simd::<f32, N>::splat(-1000000.0)
8685 } else if !__in_mask.any() {
8686 __branch_input_38
8687 } else {
8688 let __ir = Simd::<f32, N>::splat(-1000000.0);
8689 let __or = __branch_input_38;
8690 __in_mask.select(__ir, __or)
8691 }
8692 })
8693 } else {
8694 let __ir = (__branch_input_36)
8695 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))));
8696 let __or = ((((((({
8697 let __v = noises
8698 .n_cave_layer
8699 .get_value_y_simd(
8700 x * 1.0,
8701 ys * Simd::<f64, N>::splat(8.0),
8702 z * 1.0,
8703 );
8704 __v * __v
8705 }) * (Simd::<f32, N>::splat(4.0))))
8706 + ((((((noises
8707 .n_cave_cheese
8708 .get_value_y_simd(
8709 x * 1.0,
8710 ys * Simd::<f64, N>::splat(0.6666666666666666),
8711 z * 1.0,
8712 )) + (Simd::<f32, N>::splat(0.27))))
8713 .simd_max(Simd::<f32, N>::splat(-1.0))
8714 .simd_min(Simd::<f32, N>::splat(1.0)))
8715 + ((((((__branch_input_36)
8716 * (Simd::<f32, N>::splat(-0.64))))
8717 + (Simd::<f32, N>::splat(1.5))))
8718 .simd_max(Simd::<f32, N>::splat(0.0))
8719 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8720 .simd_min(__cse_37))
8721 .simd_min(
8722 ((compute_overworld__caves__spaghetti_2d_simd::<
8723 N,
8724 >(noises, cache, x, ys, z))
8725 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8726 N,
8727 >(noises, cache, x, ys, z))),
8728 ))
8729 .simd_max({
8730 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8731 N,
8732 >(noises, cache, x, ys, z);
8733 let __in_mask = __branch_input_38
8734 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8735 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8736 if __in_mask.all() {
8737 Simd::<f32, N>::splat(-1000000.0)
8738 } else if !__in_mask.any() {
8739 __branch_input_38
8740 } else {
8741 let __ir = Simd::<f32, N>::splat(-1000000.0);
8742 let __or = __branch_input_38;
8743 __in_mask.select(__ir, __or)
8744 }
8745 });
8746 __in_mask.select(__ir, __or)
8747 }
8748 };
8749 let __lerp_value = __lerp_first
8750 + __lerp_alpha * (__lerp_second - __lerp_first);
8751 __zero
8752 .select(
8753 __lerp_first,
8754 __one.select(__lerp_second, __lerp_value),
8755 )
8756 }
8757 }
8758 } else {
8759 let __lerp_first = Simd::<f32, N>::splat(0.1171875);
8760 let __lerp_second = {
8761 let __lerp_alpha = {
8762 let __coordinate = ys
8763 .cast::<i32>()
8764 .simd_max(Simd::splat(240))
8765 .simd_min(Simd::splat(256)) - Simd::splat(240);
8766 Simd::<f32, N>::splat(1.0)
8767 + __coordinate.cast::<f32>()
8768 * Simd::<f32, N>::splat((0.0 - 1.0) / (256 - 240) as f32)
8769 };
8770 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
8771 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
8772 if __zero.all() {
8773 Simd::<f32, N>::splat(-0.078125)
8774 } else if __one.all() {
8775 {
8776 let __branch_input_36 = compute_overworld__sloped_cheese_simd::<
8777 N,
8778 >(noises, cache, x, ys, z);
8779 let __cse_37 = compute_overworld__caves__entrances_simd::<
8780 N,
8781 >(noises, cache, x, ys, z);
8782 let __in_mask = __branch_input_36
8783 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8784 & __branch_input_36.simd_lt(Simd::<f32, N>::splat(1.5625));
8785 if __in_mask.all() {
8786 (__branch_input_36)
8787 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))))
8788 } else if !__in_mask.any() {
8789 ((((((({
8790 let __v = noises
8791 .n_cave_layer
8792 .get_value_y_simd(
8793 x * 1.0,
8794 ys * Simd::<f64, N>::splat(8.0),
8795 z * 1.0,
8796 );
8797 __v * __v
8798 }) * (Simd::<f32, N>::splat(4.0))))
8799 + ((((((noises
8800 .n_cave_cheese
8801 .get_value_y_simd(
8802 x * 1.0,
8803 ys * Simd::<f64, N>::splat(0.6666666666666666),
8804 z * 1.0,
8805 )) + (Simd::<f32, N>::splat(0.27))))
8806 .simd_max(Simd::<f32, N>::splat(-1.0))
8807 .simd_min(Simd::<f32, N>::splat(1.0)))
8808 + ((((((__branch_input_36)
8809 * (Simd::<f32, N>::splat(-0.64))))
8810 + (Simd::<f32, N>::splat(1.5))))
8811 .simd_max(Simd::<f32, N>::splat(0.0))
8812 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8813 .simd_min(__cse_37))
8814 .simd_min(
8815 ((compute_overworld__caves__spaghetti_2d_simd::<
8816 N,
8817 >(noises, cache, x, ys, z))
8818 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8819 N,
8820 >(noises, cache, x, ys, z))),
8821 ))
8822 .simd_max({
8823 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8824 N,
8825 >(noises, cache, x, ys, z);
8826 let __in_mask = __branch_input_38
8827 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8828 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8829 if __in_mask.all() {
8830 Simd::<f32, N>::splat(-1000000.0)
8831 } else if !__in_mask.any() {
8832 __branch_input_38
8833 } else {
8834 let __ir = Simd::<f32, N>::splat(-1000000.0);
8835 let __or = __branch_input_38;
8836 __in_mask.select(__ir, __or)
8837 }
8838 })
8839 } else {
8840 let __ir = (__branch_input_36)
8841 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))));
8842 let __or = ((((((({
8843 let __v = noises
8844 .n_cave_layer
8845 .get_value_y_simd(
8846 x * 1.0,
8847 ys * Simd::<f64, N>::splat(8.0),
8848 z * 1.0,
8849 );
8850 __v * __v
8851 }) * (Simd::<f32, N>::splat(4.0))))
8852 + ((((((noises
8853 .n_cave_cheese
8854 .get_value_y_simd(
8855 x * 1.0,
8856 ys * Simd::<f64, N>::splat(0.6666666666666666),
8857 z * 1.0,
8858 )) + (Simd::<f32, N>::splat(0.27))))
8859 .simd_max(Simd::<f32, N>::splat(-1.0))
8860 .simd_min(Simd::<f32, N>::splat(1.0)))
8861 + ((((((__branch_input_36)
8862 * (Simd::<f32, N>::splat(-0.64))))
8863 + (Simd::<f32, N>::splat(1.5))))
8864 .simd_max(Simd::<f32, N>::splat(0.0))
8865 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8866 .simd_min(__cse_37))
8867 .simd_min(
8868 ((compute_overworld__caves__spaghetti_2d_simd::<
8869 N,
8870 >(noises, cache, x, ys, z))
8871 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8872 N,
8873 >(noises, cache, x, ys, z))),
8874 ))
8875 .simd_max({
8876 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8877 N,
8878 >(noises, cache, x, ys, z);
8879 let __in_mask = __branch_input_38
8880 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8881 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8882 if __in_mask.all() {
8883 Simd::<f32, N>::splat(-1000000.0)
8884 } else if !__in_mask.any() {
8885 __branch_input_38
8886 } else {
8887 let __ir = Simd::<f32, N>::splat(-1000000.0);
8888 let __or = __branch_input_38;
8889 __in_mask.select(__ir, __or)
8890 }
8891 });
8892 __in_mask.select(__ir, __or)
8893 }
8894 }
8895 } else {
8896 let __lerp_first = Simd::<f32, N>::splat(-0.078125);
8897 let __lerp_second = {
8898 let __branch_input_36 = compute_overworld__sloped_cheese_simd::<
8899 N,
8900 >(noises, cache, x, ys, z);
8901 let __cse_37 = compute_overworld__caves__entrances_simd::<
8902 N,
8903 >(noises, cache, x, ys, z);
8904 let __in_mask = __branch_input_36
8905 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8906 & __branch_input_36.simd_lt(Simd::<f32, N>::splat(1.5625));
8907 if __in_mask.all() {
8908 (__branch_input_36)
8909 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))))
8910 } else if !__in_mask.any() {
8911 ((((((({
8912 let __v = noises
8913 .n_cave_layer
8914 .get_value_y_simd(
8915 x * 1.0,
8916 ys * Simd::<f64, N>::splat(8.0),
8917 z * 1.0,
8918 );
8919 __v * __v
8920 }) * (Simd::<f32, N>::splat(4.0))))
8921 + ((((((noises
8922 .n_cave_cheese
8923 .get_value_y_simd(
8924 x * 1.0,
8925 ys * Simd::<f64, N>::splat(0.6666666666666666),
8926 z * 1.0,
8927 )) + (Simd::<f32, N>::splat(0.27))))
8928 .simd_max(Simd::<f32, N>::splat(-1.0))
8929 .simd_min(Simd::<f32, N>::splat(1.0)))
8930 + ((((((__branch_input_36)
8931 * (Simd::<f32, N>::splat(-0.64))))
8932 + (Simd::<f32, N>::splat(1.5))))
8933 .simd_max(Simd::<f32, N>::splat(0.0))
8934 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8935 .simd_min(__cse_37))
8936 .simd_min(
8937 ((compute_overworld__caves__spaghetti_2d_simd::<
8938 N,
8939 >(noises, cache, x, ys, z))
8940 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8941 N,
8942 >(noises, cache, x, ys, z))),
8943 ))
8944 .simd_max({
8945 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8946 N,
8947 >(noises, cache, x, ys, z);
8948 let __in_mask = __branch_input_38
8949 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
8950 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
8951 if __in_mask.all() {
8952 Simd::<f32, N>::splat(-1000000.0)
8953 } else if !__in_mask.any() {
8954 __branch_input_38
8955 } else {
8956 let __ir = Simd::<f32, N>::splat(-1000000.0);
8957 let __or = __branch_input_38;
8958 __in_mask.select(__ir, __or)
8959 }
8960 })
8961 } else {
8962 let __ir = (__branch_input_36)
8963 .simd_min(((__cse_37) * (Simd::<f32, N>::splat(5.0))));
8964 let __or = ((((((({
8965 let __v = noises
8966 .n_cave_layer
8967 .get_value_y_simd(
8968 x * 1.0,
8969 ys * Simd::<f64, N>::splat(8.0),
8970 z * 1.0,
8971 );
8972 __v * __v
8973 }) * (Simd::<f32, N>::splat(4.0))))
8974 + ((((((noises
8975 .n_cave_cheese
8976 .get_value_y_simd(
8977 x * 1.0,
8978 ys * Simd::<f64, N>::splat(0.6666666666666666),
8979 z * 1.0,
8980 )) + (Simd::<f32, N>::splat(0.27))))
8981 .simd_max(Simd::<f32, N>::splat(-1.0))
8982 .simd_min(Simd::<f32, N>::splat(1.0)))
8983 + ((((((__branch_input_36)
8984 * (Simd::<f32, N>::splat(-0.64))))
8985 + (Simd::<f32, N>::splat(1.5))))
8986 .simd_max(Simd::<f32, N>::splat(0.0))
8987 .simd_min(Simd::<f32, N>::splat(0.5)))))))
8988 .simd_min(__cse_37))
8989 .simd_min(
8990 ((compute_overworld__caves__spaghetti_2d_simd::<
8991 N,
8992 >(noises, cache, x, ys, z))
8993 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
8994 N,
8995 >(noises, cache, x, ys, z))),
8996 ))
8997 .simd_max({
8998 let __branch_input_38 = compute_overworld__caves__pillars_simd::<
8999 N,
9000 >(noises, cache, x, ys, z);
9001 let __in_mask = __branch_input_38
9002 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
9003 & __branch_input_38.simd_lt(Simd::<f32, N>::splat(0.03));
9004 if __in_mask.all() {
9005 Simd::<f32, N>::splat(-1000000.0)
9006 } else if !__in_mask.any() {
9007 __branch_input_38
9008 } else {
9009 let __ir = Simd::<f32, N>::splat(-1000000.0);
9010 let __or = __branch_input_38;
9011 __in_mask.select(__ir, __or)
9012 }
9013 });
9014 __in_mask.select(__ir, __or)
9015 }
9016 };
9017 let __lerp_value = __lerp_first
9018 + __lerp_alpha * (__lerp_second - __lerp_first);
9019 __zero
9020 .select(
9021 __lerp_first,
9022 __one.select(__lerp_second, __lerp_value),
9023 )
9024 }
9025 };
9026 let __lerp_value = __lerp_first
9027 + __lerp_alpha * (__lerp_second - __lerp_first);
9028 __zero.select(__lerp_first, __one.select(__lerp_second, __lerp_value))
9029 }
9030 }) * (Simd::<f32, N>::splat(0.64)));
9031 let __c = __v
9032 .simd_max(Simd::<f32, N>::splat(-1.0))
9033 .simd_min(Simd::<f32, N>::splat(1.0));
9034 __c / Simd::<f32, N>::splat(2.0) - __c * __c * __c / Simd::<f32, N>::splat(24.0)
9035 })
9036 .simd_min(compute_overworld__caves__noodle_simd::<N>(noises, cache, x, ys, z)))
9037 + (Simd::<f32, N>::splat(0.0)))
9038}
9039#[inline]
9040fn compute_overworld__ore_vein__toggle_simd<const N: usize>(
9041 noises: &OverworldNoises,
9042 cache: &OverworldColumnCache,
9043 x: f64,
9044 ys: Simd<f64, N>,
9045 z: f64,
9046) -> Simd<f32, N> {
9047 {
9048 let __branch_input_39 = compute_y_simd::<N>(noises, cache, x, ys, z);
9049 let __in_mask = __branch_input_39.simd_ge(Simd::<f32, N>::splat(-64.0))
9050 & __branch_input_39.simd_lt(Simd::<f32, N>::splat(57.0));
9051 if __in_mask.all() {
9052 noises
9053 .n_ore_veininess
9054 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
9055 } else if !__in_mask.any() {
9056 Simd::<f32, N>::splat(0.0)
9057 } else {
9058 let __ir = noises
9059 .n_ore_veininess
9060 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
9061 let __or = Simd::<f32, N>::splat(0.0);
9062 __in_mask.select(__ir, __or)
9063 }
9064 }
9065}
9066#[inline]
9067fn compute_overworld__ore_vein__mask_simd<const N: usize>(
9068 noises: &OverworldNoises,
9069 cache: &OverworldColumnCache,
9070 x: f64,
9071 ys: Simd<f64, N>,
9072 z: f64,
9073) -> Simd<f32, N> {
9074 {
9075 let __branch_input_40 = compute_overworld__ore_vein__toggle_simd::<
9076 N,
9077 >(noises, cache, x, ys, z);
9078 let __in_mask = __branch_input_40.simd_ge(Simd::<f32, N>::splat(-0.4))
9079 & __branch_input_40.simd_lt(Simd::<f32, N>::splat(0.4));
9080 if __in_mask.all() {
9081 Simd::<f32, N>::splat(-1.0)
9082 } else if !__in_mask.any() {
9083 ((Simd::<f32, N>::splat(0.08))
9084 - ({
9085 let __cse_41 = compute_y_simd::<N>(noises, cache, x, ys, z);
9086 (({
9087 let __branch_input_42 = __cse_41;
9088 let __in_mask = __branch_input_42
9089 .simd_ge(Simd::<f32, N>::splat(-64.0))
9090 & __branch_input_42.simd_lt(Simd::<f32, N>::splat(57.0));
9091 if __in_mask.all() {
9092 noises
9093 .n_ore_vein_a
9094 .get_value_y_simd(
9095 x * 4.0,
9096 ys * Simd::<f64, N>::splat(4.0),
9097 z * 4.0,
9098 )
9099 } else if !__in_mask.any() {
9100 Simd::<f32, N>::splat(1.0)
9101 } else {
9102 let __ir = noises
9103 .n_ore_vein_a
9104 .get_value_y_simd(
9105 x * 4.0,
9106 ys * Simd::<f64, N>::splat(4.0),
9107 z * 4.0,
9108 );
9109 let __or = Simd::<f32, N>::splat(1.0);
9110 __in_mask.select(__ir, __or)
9111 }
9112 })
9113 .abs())
9114 .simd_max(
9115 ({
9116 let __branch_input_43 = __cse_41;
9117 let __in_mask = __branch_input_43
9118 .simd_ge(Simd::<f32, N>::splat(-64.0))
9119 & __branch_input_43.simd_lt(Simd::<f32, N>::splat(57.0));
9120 if __in_mask.all() {
9121 noises
9122 .n_ore_vein_b
9123 .get_value_y_simd(
9124 x * 4.0,
9125 ys * Simd::<f64, N>::splat(4.0),
9126 z * 4.0,
9127 )
9128 } else if !__in_mask.any() {
9129 Simd::<f32, N>::splat(1.0)
9130 } else {
9131 let __ir = noises
9132 .n_ore_vein_b
9133 .get_value_y_simd(
9134 x * 4.0,
9135 ys * Simd::<f64, N>::splat(4.0),
9136 z * 4.0,
9137 );
9138 let __or = Simd::<f32, N>::splat(1.0);
9139 __in_mask.select(__ir, __or)
9140 }
9141 })
9142 .abs(),
9143 )
9144 }))
9145 } else {
9146 let __ir = Simd::<f32, N>::splat(-1.0);
9147 let __or = ((Simd::<f32, N>::splat(0.08))
9148 - ({
9149 let __cse_41 = compute_y_simd::<N>(noises, cache, x, ys, z);
9150 (({
9151 let __branch_input_42 = __cse_41;
9152 let __in_mask = __branch_input_42
9153 .simd_ge(Simd::<f32, N>::splat(-64.0))
9154 & __branch_input_42.simd_lt(Simd::<f32, N>::splat(57.0));
9155 if __in_mask.all() {
9156 noises
9157 .n_ore_vein_a
9158 .get_value_y_simd(
9159 x * 4.0,
9160 ys * Simd::<f64, N>::splat(4.0),
9161 z * 4.0,
9162 )
9163 } else if !__in_mask.any() {
9164 Simd::<f32, N>::splat(1.0)
9165 } else {
9166 let __ir = noises
9167 .n_ore_vein_a
9168 .get_value_y_simd(
9169 x * 4.0,
9170 ys * Simd::<f64, N>::splat(4.0),
9171 z * 4.0,
9172 );
9173 let __or = Simd::<f32, N>::splat(1.0);
9174 __in_mask.select(__ir, __or)
9175 }
9176 })
9177 .abs())
9178 .simd_max(
9179 ({
9180 let __branch_input_43 = __cse_41;
9181 let __in_mask = __branch_input_43
9182 .simd_ge(Simd::<f32, N>::splat(-64.0))
9183 & __branch_input_43.simd_lt(Simd::<f32, N>::splat(57.0));
9184 if __in_mask.all() {
9185 noises
9186 .n_ore_vein_b
9187 .get_value_y_simd(
9188 x * 4.0,
9189 ys * Simd::<f64, N>::splat(4.0),
9190 z * 4.0,
9191 )
9192 } else if !__in_mask.any() {
9193 Simd::<f32, N>::splat(1.0)
9194 } else {
9195 let __ir = noises
9196 .n_ore_vein_b
9197 .get_value_y_simd(
9198 x * 4.0,
9199 ys * Simd::<f64, N>::splat(4.0),
9200 z * 4.0,
9201 );
9202 let __or = Simd::<f32, N>::splat(1.0);
9203 __in_mask.select(__ir, __or)
9204 }
9205 })
9206 .abs(),
9207 )
9208 }));
9209 __in_mask.select(__ir, __or)
9210 }
9211 }
9212}
9213#[inline]
9214fn compute_overworld__ore_vein__copper_density_simd<const N: usize>(
9215 noises: &OverworldNoises,
9216 cache: &OverworldColumnCache,
9217 x: f64,
9218 ys: Simd<f64, N>,
9219 z: f64,
9220) -> Simd<f32, N> {
9221 {
9222 let __branch_input_44 = compute_y_simd::<N>(noises, cache, x, ys, z);
9223 let __in_mask = __branch_input_44.simd_ge(Simd::<f32, N>::splat(0.0))
9224 & __branch_input_44.simd_lt(Simd::<f32, N>::splat(50.0));
9225 if __in_mask.all() {
9226 {
9227 let __branch_input_45 = compute_overworld__ore_vein__mask_simd::<
9228 N,
9229 >(noises, cache, x, ys, z);
9230 let __in_mask = __branch_input_45.simd_ge(Simd::<f32, N>::splat(0.0))
9231 & __branch_input_45.simd_lt(Simd::<f32, N>::splat(1000000.0));
9232 if __in_mask.all() {
9233 {
9234 let __branch_input_46 = ((((compute_overworld__ore_vein__toggle_simd::<
9235 N,
9236 >(noises, cache, x, ys, z)) - (Simd::<f32, N>::splat(0.4))))
9237 + (((((({
9238 let __sc_a = ((Simd::<f32, N>::splat(50.0))
9239 - (__branch_input_44));
9240 if __sc_a.simd_le(Simd::<f32, N>::splat(-4064.0)).all() {
9241 __sc_a
9242 } else {
9243 __sc_a
9244 .simd_min(
9245 ((__branch_input_44) - (Simd::<f32, N>::splat(0.0))),
9246 )
9247 }
9248 })
9249 .simd_max(Simd::<f32, N>::splat(0.0))
9250 .simd_min(Simd::<f32, N>::splat(20.0)))
9251 * (Simd::<f32, N>::splat(0.01))))
9252 + (Simd::<f32, N>::splat(-0.2)))));
9253 let __in_mask = __branch_input_46
9254 .simd_ge(Simd::<f32, N>::splat(0.0))
9255 & __branch_input_46
9256 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9257 if __in_mask.all() {
9258 Simd::<f32, N>::splat(0.7)
9259 } else if !__in_mask.any() {
9260 Simd::<f32, N>::splat(-1.0)
9261 } else {
9262 let __ir = Simd::<f32, N>::splat(0.7);
9263 let __or = Simd::<f32, N>::splat(-1.0);
9264 __in_mask.select(__ir, __or)
9265 }
9266 }
9267 } else if !__in_mask.any() {
9268 Simd::<f32, N>::splat(-1.0)
9269 } else {
9270 let __ir = {
9271 let __branch_input_46 = ((((compute_overworld__ore_vein__toggle_simd::<
9272 N,
9273 >(noises, cache, x, ys, z)) - (Simd::<f32, N>::splat(0.4))))
9274 + (((((({
9275 let __sc_a = ((Simd::<f32, N>::splat(50.0))
9276 - (__branch_input_44));
9277 if __sc_a.simd_le(Simd::<f32, N>::splat(-4064.0)).all() {
9278 __sc_a
9279 } else {
9280 __sc_a
9281 .simd_min(
9282 ((__branch_input_44) - (Simd::<f32, N>::splat(0.0))),
9283 )
9284 }
9285 })
9286 .simd_max(Simd::<f32, N>::splat(0.0))
9287 .simd_min(Simd::<f32, N>::splat(20.0)))
9288 * (Simd::<f32, N>::splat(0.01))))
9289 + (Simd::<f32, N>::splat(-0.2)))));
9290 let __in_mask = __branch_input_46
9291 .simd_ge(Simd::<f32, N>::splat(0.0))
9292 & __branch_input_46
9293 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9294 if __in_mask.all() {
9295 Simd::<f32, N>::splat(0.7)
9296 } else if !__in_mask.any() {
9297 Simd::<f32, N>::splat(-1.0)
9298 } else {
9299 let __ir = Simd::<f32, N>::splat(0.7);
9300 let __or = Simd::<f32, N>::splat(-1.0);
9301 __in_mask.select(__ir, __or)
9302 }
9303 };
9304 let __or = Simd::<f32, N>::splat(-1.0);
9305 __in_mask.select(__ir, __or)
9306 }
9307 }
9308 } else if !__in_mask.any() {
9309 Simd::<f32, N>::splat(-1.0)
9310 } else {
9311 let __ir = {
9312 let __branch_input_45 = compute_overworld__ore_vein__mask_simd::<
9313 N,
9314 >(noises, cache, x, ys, z);
9315 let __in_mask = __branch_input_45.simd_ge(Simd::<f32, N>::splat(0.0))
9316 & __branch_input_45.simd_lt(Simd::<f32, N>::splat(1000000.0));
9317 if __in_mask.all() {
9318 {
9319 let __branch_input_46 = ((((compute_overworld__ore_vein__toggle_simd::<
9320 N,
9321 >(noises, cache, x, ys, z)) - (Simd::<f32, N>::splat(0.4))))
9322 + (((((({
9323 let __sc_a = ((Simd::<f32, N>::splat(50.0))
9324 - (__branch_input_44));
9325 if __sc_a.simd_le(Simd::<f32, N>::splat(-4064.0)).all() {
9326 __sc_a
9327 } else {
9328 __sc_a
9329 .simd_min(
9330 ((__branch_input_44) - (Simd::<f32, N>::splat(0.0))),
9331 )
9332 }
9333 })
9334 .simd_max(Simd::<f32, N>::splat(0.0))
9335 .simd_min(Simd::<f32, N>::splat(20.0)))
9336 * (Simd::<f32, N>::splat(0.01))))
9337 + (Simd::<f32, N>::splat(-0.2)))));
9338 let __in_mask = __branch_input_46
9339 .simd_ge(Simd::<f32, N>::splat(0.0))
9340 & __branch_input_46
9341 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9342 if __in_mask.all() {
9343 Simd::<f32, N>::splat(0.7)
9344 } else if !__in_mask.any() {
9345 Simd::<f32, N>::splat(-1.0)
9346 } else {
9347 let __ir = Simd::<f32, N>::splat(0.7);
9348 let __or = Simd::<f32, N>::splat(-1.0);
9349 __in_mask.select(__ir, __or)
9350 }
9351 }
9352 } else if !__in_mask.any() {
9353 Simd::<f32, N>::splat(-1.0)
9354 } else {
9355 let __ir = {
9356 let __branch_input_46 = ((((compute_overworld__ore_vein__toggle_simd::<
9357 N,
9358 >(noises, cache, x, ys, z)) - (Simd::<f32, N>::splat(0.4))))
9359 + (((((({
9360 let __sc_a = ((Simd::<f32, N>::splat(50.0))
9361 - (__branch_input_44));
9362 if __sc_a.simd_le(Simd::<f32, N>::splat(-4064.0)).all() {
9363 __sc_a
9364 } else {
9365 __sc_a
9366 .simd_min(
9367 ((__branch_input_44) - (Simd::<f32, N>::splat(0.0))),
9368 )
9369 }
9370 })
9371 .simd_max(Simd::<f32, N>::splat(0.0))
9372 .simd_min(Simd::<f32, N>::splat(20.0)))
9373 * (Simd::<f32, N>::splat(0.01))))
9374 + (Simd::<f32, N>::splat(-0.2)))));
9375 let __in_mask = __branch_input_46
9376 .simd_ge(Simd::<f32, N>::splat(0.0))
9377 & __branch_input_46
9378 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9379 if __in_mask.all() {
9380 Simd::<f32, N>::splat(0.7)
9381 } else if !__in_mask.any() {
9382 Simd::<f32, N>::splat(-1.0)
9383 } else {
9384 let __ir = Simd::<f32, N>::splat(0.7);
9385 let __or = Simd::<f32, N>::splat(-1.0);
9386 __in_mask.select(__ir, __or)
9387 }
9388 };
9389 let __or = Simd::<f32, N>::splat(-1.0);
9390 __in_mask.select(__ir, __or)
9391 }
9392 };
9393 let __or = Simd::<f32, N>::splat(-1.0);
9394 __in_mask.select(__ir, __or)
9395 }
9396 }
9397}
9398#[inline]
9399fn compute_overworld__ore_vein__gap_simd<const N: usize>(
9400 noises: &OverworldNoises,
9401 cache: &OverworldColumnCache,
9402 x: f64,
9403 ys: Simd<f64, N>,
9404 z: f64,
9405) -> Simd<f32, N> {
9406 ((Simd::<f32, N>::splat(-0.3))
9407 - (noises
9408 .n_ore_gap
9409 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0)))
9410}
9411#[inline]
9412fn compute_overworld__ore_vein__iron_density_simd<const N: usize>(
9413 noises: &OverworldNoises,
9414 cache: &OverworldColumnCache,
9415 x: f64,
9416 ys: Simd<f64, N>,
9417 z: f64,
9418) -> Simd<f32, N> {
9419 {
9420 let __branch_input_47 = compute_y_simd::<N>(noises, cache, x, ys, z);
9421 let __in_mask = __branch_input_47.simd_ge(Simd::<f32, N>::splat(-60.0))
9422 & __branch_input_47.simd_lt(Simd::<f32, N>::splat(-8.0));
9423 if __in_mask.all() {
9424 {
9425 let __branch_input_48 = compute_overworld__ore_vein__mask_simd::<
9426 N,
9427 >(noises, cache, x, ys, z);
9428 let __in_mask = __branch_input_48.simd_ge(Simd::<f32, N>::splat(0.0))
9429 & __branch_input_48.simd_lt(Simd::<f32, N>::splat(1000000.0));
9430 if __in_mask.all() {
9431 {
9432 let __branch_input_49 = (((((-(compute_overworld__ore_vein__toggle_simd::<
9433 N,
9434 >(noises, cache, x, ys, z)))) - (Simd::<f32, N>::splat(0.4))))
9435 + (((((({
9436 let __sc_a = ((Simd::<f32, N>::splat(-8.0))
9437 - (__branch_input_47));
9438 if __sc_a.simd_le(Simd::<f32, N>::splat(-4004.0)).all() {
9439 __sc_a
9440 } else {
9441 __sc_a
9442 .simd_min(
9443 ((__branch_input_47) - (Simd::<f32, N>::splat(-60.0))),
9444 )
9445 }
9446 })
9447 .simd_max(Simd::<f32, N>::splat(0.0))
9448 .simd_min(Simd::<f32, N>::splat(20.0)))
9449 * (Simd::<f32, N>::splat(0.01))))
9450 + (Simd::<f32, N>::splat(-0.2)))));
9451 let __in_mask = __branch_input_49
9452 .simd_ge(Simd::<f32, N>::splat(0.0))
9453 & __branch_input_49
9454 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9455 if __in_mask.all() {
9456 Simd::<f32, N>::splat(0.7)
9457 } else if !__in_mask.any() {
9458 Simd::<f32, N>::splat(-1.0)
9459 } else {
9460 let __ir = Simd::<f32, N>::splat(0.7);
9461 let __or = Simd::<f32, N>::splat(-1.0);
9462 __in_mask.select(__ir, __or)
9463 }
9464 }
9465 } else if !__in_mask.any() {
9466 Simd::<f32, N>::splat(-1.0)
9467 } else {
9468 let __ir = {
9469 let __branch_input_49 = (((((-(compute_overworld__ore_vein__toggle_simd::<
9470 N,
9471 >(noises, cache, x, ys, z)))) - (Simd::<f32, N>::splat(0.4))))
9472 + (((((({
9473 let __sc_a = ((Simd::<f32, N>::splat(-8.0))
9474 - (__branch_input_47));
9475 if __sc_a.simd_le(Simd::<f32, N>::splat(-4004.0)).all() {
9476 __sc_a
9477 } else {
9478 __sc_a
9479 .simd_min(
9480 ((__branch_input_47) - (Simd::<f32, N>::splat(-60.0))),
9481 )
9482 }
9483 })
9484 .simd_max(Simd::<f32, N>::splat(0.0))
9485 .simd_min(Simd::<f32, N>::splat(20.0)))
9486 * (Simd::<f32, N>::splat(0.01))))
9487 + (Simd::<f32, N>::splat(-0.2)))));
9488 let __in_mask = __branch_input_49
9489 .simd_ge(Simd::<f32, N>::splat(0.0))
9490 & __branch_input_49
9491 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9492 if __in_mask.all() {
9493 Simd::<f32, N>::splat(0.7)
9494 } else if !__in_mask.any() {
9495 Simd::<f32, N>::splat(-1.0)
9496 } else {
9497 let __ir = Simd::<f32, N>::splat(0.7);
9498 let __or = Simd::<f32, N>::splat(-1.0);
9499 __in_mask.select(__ir, __or)
9500 }
9501 };
9502 let __or = Simd::<f32, N>::splat(-1.0);
9503 __in_mask.select(__ir, __or)
9504 }
9505 }
9506 } else if !__in_mask.any() {
9507 Simd::<f32, N>::splat(-1.0)
9508 } else {
9509 let __ir = {
9510 let __branch_input_48 = compute_overworld__ore_vein__mask_simd::<
9511 N,
9512 >(noises, cache, x, ys, z);
9513 let __in_mask = __branch_input_48.simd_ge(Simd::<f32, N>::splat(0.0))
9514 & __branch_input_48.simd_lt(Simd::<f32, N>::splat(1000000.0));
9515 if __in_mask.all() {
9516 {
9517 let __branch_input_49 = (((((-(compute_overworld__ore_vein__toggle_simd::<
9518 N,
9519 >(noises, cache, x, ys, z)))) - (Simd::<f32, N>::splat(0.4))))
9520 + (((((({
9521 let __sc_a = ((Simd::<f32, N>::splat(-8.0))
9522 - (__branch_input_47));
9523 if __sc_a.simd_le(Simd::<f32, N>::splat(-4004.0)).all() {
9524 __sc_a
9525 } else {
9526 __sc_a
9527 .simd_min(
9528 ((__branch_input_47) - (Simd::<f32, N>::splat(-60.0))),
9529 )
9530 }
9531 })
9532 .simd_max(Simd::<f32, N>::splat(0.0))
9533 .simd_min(Simd::<f32, N>::splat(20.0)))
9534 * (Simd::<f32, N>::splat(0.01))))
9535 + (Simd::<f32, N>::splat(-0.2)))));
9536 let __in_mask = __branch_input_49
9537 .simd_ge(Simd::<f32, N>::splat(0.0))
9538 & __branch_input_49
9539 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9540 if __in_mask.all() {
9541 Simd::<f32, N>::splat(0.7)
9542 } else if !__in_mask.any() {
9543 Simd::<f32, N>::splat(-1.0)
9544 } else {
9545 let __ir = Simd::<f32, N>::splat(0.7);
9546 let __or = Simd::<f32, N>::splat(-1.0);
9547 __in_mask.select(__ir, __or)
9548 }
9549 }
9550 } else if !__in_mask.any() {
9551 Simd::<f32, N>::splat(-1.0)
9552 } else {
9553 let __ir = {
9554 let __branch_input_49 = (((((-(compute_overworld__ore_vein__toggle_simd::<
9555 N,
9556 >(noises, cache, x, ys, z)))) - (Simd::<f32, N>::splat(0.4))))
9557 + (((((({
9558 let __sc_a = ((Simd::<f32, N>::splat(-8.0))
9559 - (__branch_input_47));
9560 if __sc_a.simd_le(Simd::<f32, N>::splat(-4004.0)).all() {
9561 __sc_a
9562 } else {
9563 __sc_a
9564 .simd_min(
9565 ((__branch_input_47) - (Simd::<f32, N>::splat(-60.0))),
9566 )
9567 }
9568 })
9569 .simd_max(Simd::<f32, N>::splat(0.0))
9570 .simd_min(Simd::<f32, N>::splat(20.0)))
9571 * (Simd::<f32, N>::splat(0.01))))
9572 + (Simd::<f32, N>::splat(-0.2)))));
9573 let __in_mask = __branch_input_49
9574 .simd_ge(Simd::<f32, N>::splat(0.0))
9575 & __branch_input_49
9576 .simd_lt(Simd::<f32, N>::splat(1000000.0));
9577 if __in_mask.all() {
9578 Simd::<f32, N>::splat(0.7)
9579 } else if !__in_mask.any() {
9580 Simd::<f32, N>::splat(-1.0)
9581 } else {
9582 let __ir = Simd::<f32, N>::splat(0.7);
9583 let __or = Simd::<f32, N>::splat(-1.0);
9584 __in_mask.select(__ir, __or)
9585 }
9586 };
9587 let __or = Simd::<f32, N>::splat(-1.0);
9588 __in_mask.select(__ir, __or)
9589 }
9590 };
9591 let __or = Simd::<f32, N>::splat(-1.0);
9592 __in_mask.select(__ir, __or)
9593 }
9594 }
9595}
9596#[inline]
9597fn compute_overworld__ore_vein__richness_simd<const N: usize>(
9598 noises: &OverworldNoises,
9599 cache: &OverworldColumnCache,
9600 x: f64,
9601 ys: Simd<f64, N>,
9602 z: f64,
9603) -> Simd<f32, N> {
9604 ((((((compute_overworld__ore_vein__toggle_simd::<N>(noises, cache, x, ys, z)).abs())
9605 .simd_max(Simd::<f32, N>::splat(0.4))
9606 .simd_min(Simd::<f32, N>::splat(0.6))) * (Simd::<f32, N>::splat(1.0))))
9607 + (Simd::<f32, N>::splat(-0.3)))
9608}
9609pub const AQUIFER_NEEDS_COLUMN_CACHE: bool = false;
9611#[inline]
9613pub fn router_barrier(
9614 noises: &OverworldNoises,
9615 _cache: &OverworldColumnCache,
9616 x: f64,
9617 y: f64,
9618 z: f64,
9619) -> f32 {
9620 (noises.n_aquifer_barrier.get_value(x * 1.0, y * 0.5, z * 1.0)) as f32
9621}
9622#[inline]
9623fn compute_router_continentalness(
9624 noises: &OverworldNoises,
9625 cache: &OverworldColumnCache,
9626 x: f64,
9627 z: f64,
9628) -> f32 {
9629 (cache.df_overworld__continents) as f32
9630}
9631#[inline]
9633pub fn router_continentalness(
9634 noises: &OverworldNoises,
9635 cache: &OverworldColumnCache,
9636 x: f64,
9637 y: f64,
9638 z: f64,
9639) -> f32 {
9640 cache.router_continentalness
9641}
9642#[inline]
9644pub fn router_depth(
9645 noises: &OverworldNoises,
9646 cache: &OverworldColumnCache,
9647 x: f64,
9648 y: f64,
9649 z: f64,
9650) -> f32 {
9651 let x = cache.x as f64;
9652 let z = cache.z as f64;
9653 (compute_overworld__depth(noises, cache, x, y, z)) as f32
9654}
9655#[inline]
9656fn compute_router_erosion(
9657 noises: &OverworldNoises,
9658 cache: &OverworldColumnCache,
9659 x: f64,
9660 z: f64,
9661) -> f32 {
9662 (cache.df_overworld__erosion) as f32
9663}
9664#[inline]
9666pub fn router_erosion(
9667 noises: &OverworldNoises,
9668 cache: &OverworldColumnCache,
9669 x: f64,
9670 y: f64,
9671 z: f64,
9672) -> f32 {
9673 cache.router_erosion
9674}
9675#[inline]
9677pub fn router_final_density(
9678 noises: &OverworldNoises,
9679 cache: &OverworldColumnCache,
9680 x: f64,
9681 y: f64,
9682 z: f64,
9683) -> f32 {
9684 let x = cache.x as f64;
9685 let z = cache.z as f64;
9686 (compute_overworld__final_density(noises, cache, x, y, z)) as f32
9687}
9688#[inline]
9690pub fn router_fluid_level_floodedness(
9691 noises: &OverworldNoises,
9692 _cache: &OverworldColumnCache,
9693 x: f64,
9694 y: f64,
9695 z: f64,
9696) -> f32 {
9697 (noises.n_aquifer_fluid_level_floodedness.get_value(x * 1.0, y * 0.67, z * 1.0))
9698 as f32
9699}
9700#[inline]
9702pub fn router_fluid_level_spread(
9703 noises: &OverworldNoises,
9704 _cache: &OverworldColumnCache,
9705 x: f64,
9706 y: f64,
9707 z: f64,
9708) -> f32 {
9709 (noises
9710 .n_aquifer_fluid_level_spread
9711 .get_value(x * 1.0, y * 0.7142857142857143, z * 1.0)) as f32
9712}
9713#[inline]
9715pub fn router_lava(
9716 noises: &OverworldNoises,
9717 _cache: &OverworldColumnCache,
9718 x: f64,
9719 y: f64,
9720 z: f64,
9721) -> f32 {
9722 (noises.n_aquifer_lava.get_value(x * 1.0, y * 1.0, z * 1.0)) as f32
9723}
9724#[inline]
9726pub fn router_material_ore_vein_0_density(
9727 noises: &OverworldNoises,
9728 cache: &OverworldColumnCache,
9729 x: f64,
9730 y: f64,
9731 z: f64,
9732) -> f32 {
9733 let x = cache.x as f64;
9734 let z = cache.z as f64;
9735 (compute_overworld__ore_vein__copper_density(noises, cache, x, y, z)) as f32
9736}
9737#[inline]
9739pub fn router_material_ore_vein_0_filler_gap(
9740 noises: &OverworldNoises,
9741 cache: &OverworldColumnCache,
9742 x: f64,
9743 y: f64,
9744 z: f64,
9745) -> f32 {
9746 let x = cache.x as f64;
9747 let z = cache.z as f64;
9748 (compute_overworld__ore_vein__gap(noises, cache, x, y, z)) as f32
9749}
9750#[inline]
9752pub fn router_material_ore_vein_0_richness(
9753 noises: &OverworldNoises,
9754 cache: &OverworldColumnCache,
9755 x: f64,
9756 y: f64,
9757 z: f64,
9758) -> f32 {
9759 let x = cache.x as f64;
9760 let z = cache.z as f64;
9761 (compute_overworld__ore_vein__richness(noises, cache, x, y, z)) as f32
9762}
9763#[inline]
9765pub fn router_material_ore_vein_1_density(
9766 noises: &OverworldNoises,
9767 cache: &OverworldColumnCache,
9768 x: f64,
9769 y: f64,
9770 z: f64,
9771) -> f32 {
9772 let x = cache.x as f64;
9773 let z = cache.z as f64;
9774 (compute_overworld__ore_vein__iron_density(noises, cache, x, y, z)) as f32
9775}
9776#[inline]
9778pub fn router_material_ore_vein_1_filler_gap(
9779 noises: &OverworldNoises,
9780 cache: &OverworldColumnCache,
9781 x: f64,
9782 y: f64,
9783 z: f64,
9784) -> f32 {
9785 let x = cache.x as f64;
9786 let z = cache.z as f64;
9787 (compute_overworld__ore_vein__gap(noises, cache, x, y, z)) as f32
9788}
9789#[inline]
9791pub fn router_material_ore_vein_1_richness(
9792 noises: &OverworldNoises,
9793 cache: &OverworldColumnCache,
9794 x: f64,
9795 y: f64,
9796 z: f64,
9797) -> f32 {
9798 let x = cache.x as f64;
9799 let z = cache.z as f64;
9800 (compute_overworld__ore_vein__richness(noises, cache, x, y, z)) as f32
9801}
9802#[inline]
9803fn compute_router_preliminary_surface_level(
9804 noises: &OverworldNoises,
9805 cache: &OverworldColumnCache,
9806 x: f64,
9807 z: f64,
9808) -> f32 {
9809 (cache.df_overworld__preliminary_surface_level) as f32
9810}
9811#[inline]
9813pub fn router_preliminary_surface_level(
9814 noises: &OverworldNoises,
9815 cache: &OverworldColumnCache,
9816 x: f64,
9817 y: f64,
9818 z: f64,
9819) -> f32 {
9820 cache.router_preliminary_surface_level
9821}
9822#[inline]
9823fn compute_router_ridges(
9824 noises: &OverworldNoises,
9825 cache: &OverworldColumnCache,
9826 x: f64,
9827 z: f64,
9828) -> f32 {
9829 (cache.df_overworld__ridges) as f32
9830}
9831#[inline]
9833pub fn router_ridges(
9834 noises: &OverworldNoises,
9835 cache: &OverworldColumnCache,
9836 x: f64,
9837 y: f64,
9838 z: f64,
9839) -> f32 {
9840 cache.router_ridges
9841}
9842#[inline]
9843fn compute_router_temperature(
9844 noises: &OverworldNoises,
9845 cache: &OverworldColumnCache,
9846 x: f64,
9847 z: f64,
9848) -> f32 {
9849 (cache.df_overworld__temperature) as f32
9850}
9851#[inline]
9853pub fn router_temperature(
9854 noises: &OverworldNoises,
9855 cache: &OverworldColumnCache,
9856 x: f64,
9857 y: f64,
9858 z: f64,
9859) -> f32 {
9860 cache.router_temperature
9861}
9862#[inline]
9863fn compute_router_vegetation(
9864 noises: &OverworldNoises,
9865 cache: &OverworldColumnCache,
9866 x: f64,
9867 z: f64,
9868) -> f32 {
9869 (cache.df_overworld__vegetation) as f32
9870}
9871#[inline]
9873pub fn router_vegetation(
9874 noises: &OverworldNoises,
9875 cache: &OverworldColumnCache,
9876 x: f64,
9877 y: f64,
9878 z: f64,
9879) -> f32 {
9880 cache.router_vegetation
9881}
9882pub const INTERPOLATED_COUNT: usize = 15;
9885pub const VEIN_INTERP_ENABLED: bool = false;
9887pub const FINAL_DENSITY_NONPOSITIVE_CHANNELS: Option<&[usize]> = Some(&[0]);
9890#[expect(
9894 unused_variables,
9895 reason = "generated function has a fixed signature; blended_noise_value is unused in dimensions without blended noise"
9896)]
9897pub fn fill_cell_corner_densities(
9898 noises: &OverworldNoises,
9899 cache: &OverworldColumnCache,
9900 x: i32,
9901 y: i32,
9902 z: i32,
9903 blended_noise_value: f32,
9904 out: &mut [f32],
9905) {
9906 let x = cache.x as f64;
9907 let z = cache.z as f64;
9908 let y = y as f64;
9909 out[0] = ((((({
9910 let __lerp_alpha = ({
9911 let __coordinate = (y as i32).clamp(-64, -40) - -64;
9912 0.0 + __coordinate as f32 * ((1.0 - 0.0) / (-40 - -64) as f32)
9913 }) as f32;
9914 if __lerp_alpha == 0.0 {
9915 (0.1171875) as f32
9916 } else if __lerp_alpha == 1.0 {
9917 ({
9918 let __lerp_alpha = ({
9919 let __coordinate = (y as i32).clamp(240, 256) - 240;
9920 1.0 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
9921 }) as f32;
9922 if __lerp_alpha == 0.0 {
9923 (-0.078125) as f32
9924 } else if __lerp_alpha == 1.0 {
9925 ({
9926 let __branch_input_50 = ((((((((({
9927 let v = (((((((compute_overworld__depth(
9928 noises,
9929 cache,
9930 x,
9931 y,
9932 z,
9933 )) as f32)
9934 + ((((((cache.df_overworld__jaggedness) as f32)
9935 * (({
9936 let v = cache.inline_noise_1;
9937 if v > 0.0 { v } else { v * 0.5 }
9938 }) as f32))) as f32) as f32))) as f32)
9939 * ((cache.df_overworld__factor) as f32))) as f32;
9940 if v > 0.0 { v } else { v * 0.25 }
9941 }) as f32) * ((4.0) as f32))) as f32)
9942 + (((blended_noise_value as f32) as f32) as f32))) as f32)
9943 as f32) as f32;
9944 let __cse_51 = (compute_overworld__caves__entrances(
9945 noises,
9946 cache,
9947 x,
9948 y,
9949 z,
9950 )) as f32;
9951 if __branch_input_50 >= -1000000.0 && __branch_input_50 < 1.5625
9952 {
9953 ({
9954 let __sc_a = __branch_input_50;
9955 let __sc_b = (((__cse_51) * ((5.0) as f32))) as f32;
9956 if __sc_a < __sc_b { __sc_a } else { __sc_b }
9957 }) as f32
9958 } else {
9959 ({
9960 let __sc_a = ({
9961 let __sc_a = ({
9962 let __sc_a = ((((((({
9963 let v = (noises
9964 .n_cave_layer
9965 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
9966 v * v
9967 }) as f32) * ((4.0) as f32))) as f32)
9968 + ((((((((((noises
9969 .n_cave_cheese
9970 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
9971 as f32) + ((0.27) as f32))) as f32)
9972 .clamp(-1.0, 1.0)) as f32)
9973 + (((((((((__branch_input_50) * ((-0.64) as f32))) as f32)
9974 + ((1.5) as f32))) as f32)
9975 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
9976 let __sc_b = __cse_51;
9977 if __sc_a < __sc_b { __sc_a } else { __sc_b }
9978 }) as f32;
9979 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
9980 noises,
9981 cache,
9982 x,
9983 y,
9984 z,
9985 )) as f32)
9986 + ((compute_overworld__caves__spaghetti_roughness_function(
9987 noises,
9988 cache,
9989 x,
9990 y,
9991 z,
9992 )) as f32))) as f32;
9993 if __sc_a < __sc_b { __sc_a } else { __sc_b }
9994 }) as f32;
9995 let __sc_b = ({
9996 let __branch_input_52 = (compute_overworld__caves__pillars(
9997 noises,
9998 cache,
9999 x,
10000 y,
10001 z,
10002 )) as f32;
10003 if __branch_input_52 >= -1000000.0
10004 && __branch_input_52 < 0.03
10005 {
10006 (-1000000.0) as f32
10007 } else {
10008 __branch_input_52
10009 }
10010 }) as f32;
10011 if __sc_a > __sc_b { __sc_a } else { __sc_b }
10012 }) as f32
10013 }
10014 }) as f32
10015 } else {
10016 let __lerp_first = (-0.078125) as f32;
10017 __lerp_first
10018 + __lerp_alpha
10019 * ((({
10020 let __branch_input_50 = ((((((((({
10021 let v = (((((((compute_overworld__depth(
10022 noises,
10023 cache,
10024 x,
10025 y,
10026 z,
10027 )) as f32)
10028 + ((((((cache.df_overworld__jaggedness) as f32)
10029 * (({
10030 let v = cache.inline_noise_1;
10031 if v > 0.0 { v } else { v * 0.5 }
10032 }) as f32))) as f32) as f32))) as f32)
10033 * ((cache.df_overworld__factor) as f32))) as f32;
10034 if v > 0.0 { v } else { v * 0.25 }
10035 }) as f32) * ((4.0) as f32))) as f32)
10036 + (((blended_noise_value as f32) as f32) as f32))) as f32)
10037 as f32) as f32;
10038 let __cse_51 = (compute_overworld__caves__entrances(
10039 noises,
10040 cache,
10041 x,
10042 y,
10043 z,
10044 )) as f32;
10045 if __branch_input_50 >= -1000000.0
10046 && __branch_input_50 < 1.5625
10047 {
10048 ({
10049 let __sc_a = __branch_input_50;
10050 let __sc_b = (((__cse_51) * ((5.0) as f32))) as f32;
10051 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10052 }) as f32
10053 } else {
10054 ({
10055 let __sc_a = ({
10056 let __sc_a = ({
10057 let __sc_a = ((((((({
10058 let v = (noises
10059 .n_cave_layer
10060 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
10061 v * v
10062 }) as f32) * ((4.0) as f32))) as f32)
10063 + ((((((((((noises
10064 .n_cave_cheese
10065 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
10066 as f32) + ((0.27) as f32))) as f32)
10067 .clamp(-1.0, 1.0)) as f32)
10068 + (((((((((__branch_input_50) * ((-0.64) as f32))) as f32)
10069 + ((1.5) as f32))) as f32)
10070 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
10071 let __sc_b = __cse_51;
10072 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10073 }) as f32;
10074 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
10075 noises,
10076 cache,
10077 x,
10078 y,
10079 z,
10080 )) as f32)
10081 + ((compute_overworld__caves__spaghetti_roughness_function(
10082 noises,
10083 cache,
10084 x,
10085 y,
10086 z,
10087 )) as f32))) as f32;
10088 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10089 }) as f32;
10090 let __sc_b = ({
10091 let __branch_input_52 = (compute_overworld__caves__pillars(
10092 noises,
10093 cache,
10094 x,
10095 y,
10096 z,
10097 )) as f32;
10098 if __branch_input_52 >= -1000000.0
10099 && __branch_input_52 < 0.03
10100 {
10101 (-1000000.0) as f32
10102 } else {
10103 __branch_input_52
10104 }
10105 }) as f32;
10106 if __sc_a > __sc_b { __sc_a } else { __sc_b }
10107 }) as f32
10108 }
10109 }) as f32) - __lerp_first)
10110 }
10111 }) as f32
10112 } else {
10113 let __lerp_first = (0.1171875) as f32;
10114 __lerp_first
10115 + __lerp_alpha
10116 * ((({
10117 let __lerp_alpha = ({
10118 let __coordinate = (y as i32).clamp(240, 256) - 240;
10119 1.0
10120 + __coordinate as f32 * ((0.0 - 1.0) / (256 - 240) as f32)
10121 }) as f32;
10122 if __lerp_alpha == 0.0 {
10123 (-0.078125) as f32
10124 } else if __lerp_alpha == 1.0 {
10125 ({
10126 let __branch_input_50 = ((((((((({
10127 let v = (((((((compute_overworld__depth(
10128 noises,
10129 cache,
10130 x,
10131 y,
10132 z,
10133 )) as f32)
10134 + ((((((cache.df_overworld__jaggedness) as f32)
10135 * (({
10136 let v = cache.inline_noise_1;
10137 if v > 0.0 { v } else { v * 0.5 }
10138 }) as f32))) as f32) as f32))) as f32)
10139 * ((cache.df_overworld__factor) as f32))) as f32;
10140 if v > 0.0 { v } else { v * 0.25 }
10141 }) as f32) * ((4.0) as f32))) as f32)
10142 + (((blended_noise_value as f32) as f32) as f32))) as f32)
10143 as f32) as f32;
10144 let __cse_51 = (compute_overworld__caves__entrances(
10145 noises,
10146 cache,
10147 x,
10148 y,
10149 z,
10150 )) as f32;
10151 if __branch_input_50 >= -1000000.0
10152 && __branch_input_50 < 1.5625
10153 {
10154 ({
10155 let __sc_a = __branch_input_50;
10156 let __sc_b = (((__cse_51) * ((5.0) as f32))) as f32;
10157 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10158 }) as f32
10159 } else {
10160 ({
10161 let __sc_a = ({
10162 let __sc_a = ({
10163 let __sc_a = ((((((({
10164 let v = (noises
10165 .n_cave_layer
10166 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
10167 v * v
10168 }) as f32) * ((4.0) as f32))) as f32)
10169 + ((((((((((noises
10170 .n_cave_cheese
10171 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
10172 as f32) + ((0.27) as f32))) as f32)
10173 .clamp(-1.0, 1.0)) as f32)
10174 + (((((((((__branch_input_50) * ((-0.64) as f32))) as f32)
10175 + ((1.5) as f32))) as f32)
10176 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
10177 let __sc_b = __cse_51;
10178 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10179 }) as f32;
10180 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
10181 noises,
10182 cache,
10183 x,
10184 y,
10185 z,
10186 )) as f32)
10187 + ((compute_overworld__caves__spaghetti_roughness_function(
10188 noises,
10189 cache,
10190 x,
10191 y,
10192 z,
10193 )) as f32))) as f32;
10194 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10195 }) as f32;
10196 let __sc_b = ({
10197 let __branch_input_52 = (compute_overworld__caves__pillars(
10198 noises,
10199 cache,
10200 x,
10201 y,
10202 z,
10203 )) as f32;
10204 if __branch_input_52 >= -1000000.0
10205 && __branch_input_52 < 0.03
10206 {
10207 (-1000000.0) as f32
10208 } else {
10209 __branch_input_52
10210 }
10211 }) as f32;
10212 if __sc_a > __sc_b { __sc_a } else { __sc_b }
10213 }) as f32
10214 }
10215 }) as f32
10216 } else {
10217 let __lerp_first = (-0.078125) as f32;
10218 __lerp_first
10219 + __lerp_alpha
10220 * ((({
10221 let __branch_input_50 = ((((((((({
10222 let v = (((((((compute_overworld__depth(
10223 noises,
10224 cache,
10225 x,
10226 y,
10227 z,
10228 )) as f32)
10229 + ((((((cache.df_overworld__jaggedness) as f32)
10230 * (({
10231 let v = cache.inline_noise_1;
10232 if v > 0.0 { v } else { v * 0.5 }
10233 }) as f32))) as f32) as f32))) as f32)
10234 * ((cache.df_overworld__factor) as f32))) as f32;
10235 if v > 0.0 { v } else { v * 0.25 }
10236 }) as f32) * ((4.0) as f32))) as f32)
10237 + (((blended_noise_value as f32) as f32) as f32))) as f32)
10238 as f32) as f32;
10239 let __cse_51 = (compute_overworld__caves__entrances(
10240 noises,
10241 cache,
10242 x,
10243 y,
10244 z,
10245 )) as f32;
10246 if __branch_input_50 >= -1000000.0
10247 && __branch_input_50 < 1.5625
10248 {
10249 ({
10250 let __sc_a = __branch_input_50;
10251 let __sc_b = (((__cse_51) * ((5.0) as f32))) as f32;
10252 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10253 }) as f32
10254 } else {
10255 ({
10256 let __sc_a = ({
10257 let __sc_a = ({
10258 let __sc_a = ((((((({
10259 let v = (noises
10260 .n_cave_layer
10261 .get_value(x * 1.0, y * 8.0, z * 1.0)) as f32;
10262 v * v
10263 }) as f32) * ((4.0) as f32))) as f32)
10264 + ((((((((((noises
10265 .n_cave_cheese
10266 .get_value(x * 1.0, y * 0.6666666666666666, z * 1.0))
10267 as f32) + ((0.27) as f32))) as f32)
10268 .clamp(-1.0, 1.0)) as f32)
10269 + (((((((((__branch_input_50) * ((-0.64) as f32))) as f32)
10270 + ((1.5) as f32))) as f32)
10271 .clamp(0.0, 0.5)) as f32))) as f32))) as f32;
10272 let __sc_b = __cse_51;
10273 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10274 }) as f32;
10275 let __sc_b = ((((compute_overworld__caves__spaghetti_2d(
10276 noises,
10277 cache,
10278 x,
10279 y,
10280 z,
10281 )) as f32)
10282 + ((compute_overworld__caves__spaghetti_roughness_function(
10283 noises,
10284 cache,
10285 x,
10286 y,
10287 z,
10288 )) as f32))) as f32;
10289 if __sc_a < __sc_b { __sc_a } else { __sc_b }
10290 }) as f32;
10291 let __sc_b = ({
10292 let __branch_input_52 = (compute_overworld__caves__pillars(
10293 noises,
10294 cache,
10295 x,
10296 y,
10297 z,
10298 )) as f32;
10299 if __branch_input_52 >= -1000000.0
10300 && __branch_input_52 < 0.03
10301 {
10302 (-1000000.0) as f32
10303 } else {
10304 __branch_input_52
10305 }
10306 }) as f32;
10307 if __sc_a > __sc_b { __sc_a } else { __sc_b }
10308 }) as f32
10309 }
10310 }) as f32) - __lerp_first)
10311 }
10312 }) as f32) - __lerp_first)
10313 }
10314 }) as f32) as f32) * ((0.64) as f32))) as f32;
10315 out[1] = ({
10316 let __branch_input_53 = (compute_y(noises, cache, x, y, z)) as f32;
10317 if __branch_input_53 >= -60.0 && __branch_input_53 < 321.0 {
10318 (noises.n_noodle.get_value(x * 1.0, y * 1.0, z * 1.0)) as f32
10319 } else {
10320 (-1.0) as f32
10321 }
10322 }) as f32;
10323 out[2] = ({
10324 let __branch_input_54 = (compute_y(noises, cache, x, y, z)) as f32;
10325 if __branch_input_54 >= -60.0 && __branch_input_54 < 321.0 {
10326 (((((((noises.n_noodle_thickness.get_value(x * 1.0, y * 1.0, z * 1.0))
10327 as f32) * ((-0.025) as f32))) as f32) + ((-0.075) as f32))) as f32
10328 } else {
10329 (0.0) as f32
10330 }
10331 }) as f32;
10332 out[3] = ({
10333 let __branch_input_55 = (compute_y(noises, cache, x, y, z)) as f32;
10334 if __branch_input_55 >= -60.0 && __branch_input_55 < 321.0 {
10335 (noises
10336 .n_noodle_ridge_a
10337 .get_value(
10338 x * 2.6666666666666665,
10339 y * 2.6666666666666665,
10340 z * 2.6666666666666665,
10341 )) as f32
10342 } else {
10343 (0.0) as f32
10344 }
10345 }) as f32;
10346 out[4] = ({
10347 let __branch_input_56 = (compute_y(noises, cache, x, y, z)) as f32;
10348 if __branch_input_56 >= -60.0 && __branch_input_56 < 321.0 {
10349 (noises
10350 .n_noodle_ridge_b
10351 .get_value(
10352 x * 2.6666666666666665,
10353 y * 2.6666666666666665,
10354 z * 2.6666666666666665,
10355 )) as f32
10356 } else {
10357 (0.0) as f32
10358 }
10359 }) as f32;
10360 out[5] = ({
10361 let __branch_input_57 = (compute_y(noises, cache, x, y, z)) as f32;
10362 if __branch_input_57 >= -64.0 && __branch_input_57 < 57.0 {
10363 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10364 } else {
10365 (0.0) as f32
10366 }
10367 }) as f32;
10368 out[6] = ({
10369 let __branch_input_58 = (compute_y(noises, cache, x, y, z)) as f32;
10370 if __branch_input_58 >= -64.0 && __branch_input_58 < 57.0 {
10371 (noises.n_ore_vein_a.get_value(x * 4.0, y * 4.0, z * 4.0)) as f32
10372 } else {
10373 (1.0) as f32
10374 }
10375 }) as f32;
10376 out[7] = ({
10377 let __branch_input_59 = (compute_y(noises, cache, x, y, z)) as f32;
10378 if __branch_input_59 >= -64.0 && __branch_input_59 < 57.0 {
10379 (noises.n_ore_vein_b.get_value(x * 4.0, y * 4.0, z * 4.0)) as f32
10380 } else {
10381 (1.0) as f32
10382 }
10383 }) as f32;
10384 out[8] = ({
10385 let __branch_input_60 = (compute_y(noises, cache, x, y, z)) as f32;
10386 if __branch_input_60 >= -64.0 && __branch_input_60 < 57.0 {
10387 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10388 } else {
10389 (0.0) as f32
10390 }
10391 }) as f32;
10392 out[9] = ({
10393 let __branch_input_61 = (compute_y(noises, cache, x, y, z)) as f32;
10394 if __branch_input_61 >= -64.0 && __branch_input_61 < 57.0 {
10395 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10396 } else {
10397 (0.0) as f32
10398 }
10399 }) as f32;
10400 out[10] = ({
10401 let __branch_input_62 = (compute_y(noises, cache, x, y, z)) as f32;
10402 if __branch_input_62 >= -64.0 && __branch_input_62 < 57.0 {
10403 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10404 } else {
10405 (0.0) as f32
10406 }
10407 }) as f32;
10408 out[11] = ({
10409 let __branch_input_63 = (compute_y(noises, cache, x, y, z)) as f32;
10410 if __branch_input_63 >= -64.0 && __branch_input_63 < 57.0 {
10411 (noises.n_ore_vein_a.get_value(x * 4.0, y * 4.0, z * 4.0)) as f32
10412 } else {
10413 (1.0) as f32
10414 }
10415 }) as f32;
10416 out[12] = ({
10417 let __branch_input_64 = (compute_y(noises, cache, x, y, z)) as f32;
10418 if __branch_input_64 >= -64.0 && __branch_input_64 < 57.0 {
10419 (noises.n_ore_vein_b.get_value(x * 4.0, y * 4.0, z * 4.0)) as f32
10420 } else {
10421 (1.0) as f32
10422 }
10423 }) as f32;
10424 out[13] = ({
10425 let __branch_input_65 = (compute_y(noises, cache, x, y, z)) as f32;
10426 if __branch_input_65 >= -64.0 && __branch_input_65 < 57.0 {
10427 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10428 } else {
10429 (0.0) as f32
10430 }
10431 }) as f32;
10432 out[14] = ({
10433 let __branch_input_66 = (compute_y(noises, cache, x, y, z)) as f32;
10434 if __branch_input_66 >= -64.0 && __branch_input_66 < 57.0 {
10435 (noises.n_ore_veininess.get_value(x * 1.5, y * 1.5, z * 1.5)) as f32
10436 } else {
10437 (0.0) as f32
10438 }
10439 }) as f32;
10440}
10441#[inline]
10444pub fn fill_cell_corner_densities_y_simd<const N: usize>(
10445 noises: &OverworldNoises,
10446 cache: &OverworldColumnCache,
10447 x: i32,
10448 ys: [i32; N],
10449 z: i32,
10450 blended_noise_values: [f32; N],
10451 out: &mut [f32],
10452) {
10453 let x = cache.x as f64;
10454 let z = cache.z as f64;
10455 let ys = Simd::from_array(ys.map(f64::from));
10456 let blended_noise_value_v = Simd::from_array(blended_noise_values);
10457 let __values_simd_0 = ((({
10458 let __lerp_alpha = {
10459 let __coordinate = ys
10460 .cast::<i32>()
10461 .simd_max(Simd::splat(-64))
10462 .simd_min(Simd::splat(-40)) - Simd::splat(-64);
10463 Simd::<f32, N>::splat(0.0)
10464 + __coordinate.cast::<f32>()
10465 * Simd::<f32, N>::splat((1.0 - 0.0) / (-40 - -64) as f32)
10466 };
10467 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
10468 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
10469 if __zero.all() {
10470 Simd::<f32, N>::splat(0.1171875)
10471 } else if __one.all() {
10472 {
10473 let __lerp_alpha = {
10474 let __coordinate = ys
10475 .cast::<i32>()
10476 .simd_max(Simd::splat(240))
10477 .simd_min(Simd::splat(256)) - Simd::splat(240);
10478 Simd::<f32, N>::splat(1.0)
10479 + __coordinate.cast::<f32>()
10480 * Simd::<f32, N>::splat((0.0 - 1.0) / (256 - 240) as f32)
10481 };
10482 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
10483 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
10484 if __zero.all() {
10485 Simd::<f32, N>::splat(-0.078125)
10486 } else if __one.all() {
10487 {
10488 let __branch_input_67 = (((({
10489 let __v = ((((compute_overworld__depth_simd::<
10490 N,
10491 >(noises, cache, x, ys, z))
10492 + (((Simd::<f32, N>::splat(cache.df_overworld__jaggedness))
10493 * ({
10494 let __v = Simd::<f32, N>::splat(cache.inline_noise_1);
10495 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10496 __mask.select(__v, __v * Simd::<f32, N>::splat(0.5))
10497 })))))
10498 * (Simd::<f32, N>::splat(cache.df_overworld__factor)));
10499 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10500 __mask.select(__v, __v * Simd::<f32, N>::splat(0.25))
10501 }) * (Simd::<f32, N>::splat(4.0)))) + (blended_noise_value_v));
10502 let __cse_68 = compute_overworld__caves__entrances_simd::<
10503 N,
10504 >(noises, cache, x, ys, z);
10505 let __in_mask = __branch_input_67
10506 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10507 & __branch_input_67.simd_lt(Simd::<f32, N>::splat(1.5625));
10508 if __in_mask.all() {
10509 (__branch_input_67)
10510 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))))
10511 } else if !__in_mask.any() {
10512 ((((((({
10513 let __v = noises
10514 .n_cave_layer
10515 .get_value_y_simd(
10516 x * 1.0,
10517 ys * Simd::<f64, N>::splat(8.0),
10518 z * 1.0,
10519 );
10520 __v * __v
10521 }) * (Simd::<f32, N>::splat(4.0))))
10522 + ((((((noises
10523 .n_cave_cheese
10524 .get_value_y_simd(
10525 x * 1.0,
10526 ys * Simd::<f64, N>::splat(0.6666666666666666),
10527 z * 1.0,
10528 )) + (Simd::<f32, N>::splat(0.27))))
10529 .simd_max(Simd::<f32, N>::splat(-1.0))
10530 .simd_min(Simd::<f32, N>::splat(1.0)))
10531 + ((((((__branch_input_67)
10532 * (Simd::<f32, N>::splat(-0.64))))
10533 + (Simd::<f32, N>::splat(1.5))))
10534 .simd_max(Simd::<f32, N>::splat(0.0))
10535 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10536 .simd_min(__cse_68))
10537 .simd_min(
10538 ((compute_overworld__caves__spaghetti_2d_simd::<
10539 N,
10540 >(noises, cache, x, ys, z))
10541 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10542 N,
10543 >(noises, cache, x, ys, z))),
10544 ))
10545 .simd_max({
10546 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10547 N,
10548 >(noises, cache, x, ys, z);
10549 let __in_mask = __branch_input_69
10550 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10551 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10552 if __in_mask.all() {
10553 Simd::<f32, N>::splat(-1000000.0)
10554 } else if !__in_mask.any() {
10555 __branch_input_69
10556 } else {
10557 let __ir = Simd::<f32, N>::splat(-1000000.0);
10558 let __or = __branch_input_69;
10559 __in_mask.select(__ir, __or)
10560 }
10561 })
10562 } else {
10563 let __ir = (__branch_input_67)
10564 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))));
10565 let __or = ((((((({
10566 let __v = noises
10567 .n_cave_layer
10568 .get_value_y_simd(
10569 x * 1.0,
10570 ys * Simd::<f64, N>::splat(8.0),
10571 z * 1.0,
10572 );
10573 __v * __v
10574 }) * (Simd::<f32, N>::splat(4.0))))
10575 + ((((((noises
10576 .n_cave_cheese
10577 .get_value_y_simd(
10578 x * 1.0,
10579 ys * Simd::<f64, N>::splat(0.6666666666666666),
10580 z * 1.0,
10581 )) + (Simd::<f32, N>::splat(0.27))))
10582 .simd_max(Simd::<f32, N>::splat(-1.0))
10583 .simd_min(Simd::<f32, N>::splat(1.0)))
10584 + ((((((__branch_input_67)
10585 * (Simd::<f32, N>::splat(-0.64))))
10586 + (Simd::<f32, N>::splat(1.5))))
10587 .simd_max(Simd::<f32, N>::splat(0.0))
10588 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10589 .simd_min(__cse_68))
10590 .simd_min(
10591 ((compute_overworld__caves__spaghetti_2d_simd::<
10592 N,
10593 >(noises, cache, x, ys, z))
10594 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10595 N,
10596 >(noises, cache, x, ys, z))),
10597 ))
10598 .simd_max({
10599 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10600 N,
10601 >(noises, cache, x, ys, z);
10602 let __in_mask = __branch_input_69
10603 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10604 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10605 if __in_mask.all() {
10606 Simd::<f32, N>::splat(-1000000.0)
10607 } else if !__in_mask.any() {
10608 __branch_input_69
10609 } else {
10610 let __ir = Simd::<f32, N>::splat(-1000000.0);
10611 let __or = __branch_input_69;
10612 __in_mask.select(__ir, __or)
10613 }
10614 });
10615 __in_mask.select(__ir, __or)
10616 }
10617 }
10618 } else {
10619 let __lerp_first = Simd::<f32, N>::splat(-0.078125);
10620 let __lerp_second = {
10621 let __branch_input_67 = (((({
10622 let __v = ((((compute_overworld__depth_simd::<
10623 N,
10624 >(noises, cache, x, ys, z))
10625 + (((Simd::<f32, N>::splat(cache.df_overworld__jaggedness))
10626 * ({
10627 let __v = Simd::<f32, N>::splat(cache.inline_noise_1);
10628 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10629 __mask.select(__v, __v * Simd::<f32, N>::splat(0.5))
10630 })))))
10631 * (Simd::<f32, N>::splat(cache.df_overworld__factor)));
10632 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10633 __mask.select(__v, __v * Simd::<f32, N>::splat(0.25))
10634 }) * (Simd::<f32, N>::splat(4.0)))) + (blended_noise_value_v));
10635 let __cse_68 = compute_overworld__caves__entrances_simd::<
10636 N,
10637 >(noises, cache, x, ys, z);
10638 let __in_mask = __branch_input_67
10639 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10640 & __branch_input_67.simd_lt(Simd::<f32, N>::splat(1.5625));
10641 if __in_mask.all() {
10642 (__branch_input_67)
10643 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))))
10644 } else if !__in_mask.any() {
10645 ((((((({
10646 let __v = noises
10647 .n_cave_layer
10648 .get_value_y_simd(
10649 x * 1.0,
10650 ys * Simd::<f64, N>::splat(8.0),
10651 z * 1.0,
10652 );
10653 __v * __v
10654 }) * (Simd::<f32, N>::splat(4.0))))
10655 + ((((((noises
10656 .n_cave_cheese
10657 .get_value_y_simd(
10658 x * 1.0,
10659 ys * Simd::<f64, N>::splat(0.6666666666666666),
10660 z * 1.0,
10661 )) + (Simd::<f32, N>::splat(0.27))))
10662 .simd_max(Simd::<f32, N>::splat(-1.0))
10663 .simd_min(Simd::<f32, N>::splat(1.0)))
10664 + ((((((__branch_input_67)
10665 * (Simd::<f32, N>::splat(-0.64))))
10666 + (Simd::<f32, N>::splat(1.5))))
10667 .simd_max(Simd::<f32, N>::splat(0.0))
10668 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10669 .simd_min(__cse_68))
10670 .simd_min(
10671 ((compute_overworld__caves__spaghetti_2d_simd::<
10672 N,
10673 >(noises, cache, x, ys, z))
10674 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10675 N,
10676 >(noises, cache, x, ys, z))),
10677 ))
10678 .simd_max({
10679 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10680 N,
10681 >(noises, cache, x, ys, z);
10682 let __in_mask = __branch_input_69
10683 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10684 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10685 if __in_mask.all() {
10686 Simd::<f32, N>::splat(-1000000.0)
10687 } else if !__in_mask.any() {
10688 __branch_input_69
10689 } else {
10690 let __ir = Simd::<f32, N>::splat(-1000000.0);
10691 let __or = __branch_input_69;
10692 __in_mask.select(__ir, __or)
10693 }
10694 })
10695 } else {
10696 let __ir = (__branch_input_67)
10697 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))));
10698 let __or = ((((((({
10699 let __v = noises
10700 .n_cave_layer
10701 .get_value_y_simd(
10702 x * 1.0,
10703 ys * Simd::<f64, N>::splat(8.0),
10704 z * 1.0,
10705 );
10706 __v * __v
10707 }) * (Simd::<f32, N>::splat(4.0))))
10708 + ((((((noises
10709 .n_cave_cheese
10710 .get_value_y_simd(
10711 x * 1.0,
10712 ys * Simd::<f64, N>::splat(0.6666666666666666),
10713 z * 1.0,
10714 )) + (Simd::<f32, N>::splat(0.27))))
10715 .simd_max(Simd::<f32, N>::splat(-1.0))
10716 .simd_min(Simd::<f32, N>::splat(1.0)))
10717 + ((((((__branch_input_67)
10718 * (Simd::<f32, N>::splat(-0.64))))
10719 + (Simd::<f32, N>::splat(1.5))))
10720 .simd_max(Simd::<f32, N>::splat(0.0))
10721 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10722 .simd_min(__cse_68))
10723 .simd_min(
10724 ((compute_overworld__caves__spaghetti_2d_simd::<
10725 N,
10726 >(noises, cache, x, ys, z))
10727 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10728 N,
10729 >(noises, cache, x, ys, z))),
10730 ))
10731 .simd_max({
10732 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10733 N,
10734 >(noises, cache, x, ys, z);
10735 let __in_mask = __branch_input_69
10736 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10737 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10738 if __in_mask.all() {
10739 Simd::<f32, N>::splat(-1000000.0)
10740 } else if !__in_mask.any() {
10741 __branch_input_69
10742 } else {
10743 let __ir = Simd::<f32, N>::splat(-1000000.0);
10744 let __or = __branch_input_69;
10745 __in_mask.select(__ir, __or)
10746 }
10747 });
10748 __in_mask.select(__ir, __or)
10749 }
10750 };
10751 let __lerp_value = __lerp_first
10752 + __lerp_alpha * (__lerp_second - __lerp_first);
10753 __zero
10754 .select(__lerp_first, __one.select(__lerp_second, __lerp_value))
10755 }
10756 }
10757 } else {
10758 let __lerp_first = Simd::<f32, N>::splat(0.1171875);
10759 let __lerp_second = {
10760 let __lerp_alpha = {
10761 let __coordinate = ys
10762 .cast::<i32>()
10763 .simd_max(Simd::splat(240))
10764 .simd_min(Simd::splat(256)) - Simd::splat(240);
10765 Simd::<f32, N>::splat(1.0)
10766 + __coordinate.cast::<f32>()
10767 * Simd::<f32, N>::splat((0.0 - 1.0) / (256 - 240) as f32)
10768 };
10769 let __zero = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(0.0));
10770 let __one = __lerp_alpha.simd_eq(Simd::<f32, N>::splat(1.0));
10771 if __zero.all() {
10772 Simd::<f32, N>::splat(-0.078125)
10773 } else if __one.all() {
10774 {
10775 let __branch_input_67 = (((({
10776 let __v = ((((compute_overworld__depth_simd::<
10777 N,
10778 >(noises, cache, x, ys, z))
10779 + (((Simd::<f32, N>::splat(cache.df_overworld__jaggedness))
10780 * ({
10781 let __v = Simd::<f32, N>::splat(cache.inline_noise_1);
10782 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10783 __mask.select(__v, __v * Simd::<f32, N>::splat(0.5))
10784 })))))
10785 * (Simd::<f32, N>::splat(cache.df_overworld__factor)));
10786 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10787 __mask.select(__v, __v * Simd::<f32, N>::splat(0.25))
10788 }) * (Simd::<f32, N>::splat(4.0)))) + (blended_noise_value_v));
10789 let __cse_68 = compute_overworld__caves__entrances_simd::<
10790 N,
10791 >(noises, cache, x, ys, z);
10792 let __in_mask = __branch_input_67
10793 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10794 & __branch_input_67.simd_lt(Simd::<f32, N>::splat(1.5625));
10795 if __in_mask.all() {
10796 (__branch_input_67)
10797 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))))
10798 } else if !__in_mask.any() {
10799 ((((((({
10800 let __v = noises
10801 .n_cave_layer
10802 .get_value_y_simd(
10803 x * 1.0,
10804 ys * Simd::<f64, N>::splat(8.0),
10805 z * 1.0,
10806 );
10807 __v * __v
10808 }) * (Simd::<f32, N>::splat(4.0))))
10809 + ((((((noises
10810 .n_cave_cheese
10811 .get_value_y_simd(
10812 x * 1.0,
10813 ys * Simd::<f64, N>::splat(0.6666666666666666),
10814 z * 1.0,
10815 )) + (Simd::<f32, N>::splat(0.27))))
10816 .simd_max(Simd::<f32, N>::splat(-1.0))
10817 .simd_min(Simd::<f32, N>::splat(1.0)))
10818 + ((((((__branch_input_67)
10819 * (Simd::<f32, N>::splat(-0.64))))
10820 + (Simd::<f32, N>::splat(1.5))))
10821 .simd_max(Simd::<f32, N>::splat(0.0))
10822 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10823 .simd_min(__cse_68))
10824 .simd_min(
10825 ((compute_overworld__caves__spaghetti_2d_simd::<
10826 N,
10827 >(noises, cache, x, ys, z))
10828 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10829 N,
10830 >(noises, cache, x, ys, z))),
10831 ))
10832 .simd_max({
10833 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10834 N,
10835 >(noises, cache, x, ys, z);
10836 let __in_mask = __branch_input_69
10837 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10838 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10839 if __in_mask.all() {
10840 Simd::<f32, N>::splat(-1000000.0)
10841 } else if !__in_mask.any() {
10842 __branch_input_69
10843 } else {
10844 let __ir = Simd::<f32, N>::splat(-1000000.0);
10845 let __or = __branch_input_69;
10846 __in_mask.select(__ir, __or)
10847 }
10848 })
10849 } else {
10850 let __ir = (__branch_input_67)
10851 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))));
10852 let __or = ((((((({
10853 let __v = noises
10854 .n_cave_layer
10855 .get_value_y_simd(
10856 x * 1.0,
10857 ys * Simd::<f64, N>::splat(8.0),
10858 z * 1.0,
10859 );
10860 __v * __v
10861 }) * (Simd::<f32, N>::splat(4.0))))
10862 + ((((((noises
10863 .n_cave_cheese
10864 .get_value_y_simd(
10865 x * 1.0,
10866 ys * Simd::<f64, N>::splat(0.6666666666666666),
10867 z * 1.0,
10868 )) + (Simd::<f32, N>::splat(0.27))))
10869 .simd_max(Simd::<f32, N>::splat(-1.0))
10870 .simd_min(Simd::<f32, N>::splat(1.0)))
10871 + ((((((__branch_input_67)
10872 * (Simd::<f32, N>::splat(-0.64))))
10873 + (Simd::<f32, N>::splat(1.5))))
10874 .simd_max(Simd::<f32, N>::splat(0.0))
10875 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10876 .simd_min(__cse_68))
10877 .simd_min(
10878 ((compute_overworld__caves__spaghetti_2d_simd::<
10879 N,
10880 >(noises, cache, x, ys, z))
10881 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10882 N,
10883 >(noises, cache, x, ys, z))),
10884 ))
10885 .simd_max({
10886 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10887 N,
10888 >(noises, cache, x, ys, z);
10889 let __in_mask = __branch_input_69
10890 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10891 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10892 if __in_mask.all() {
10893 Simd::<f32, N>::splat(-1000000.0)
10894 } else if !__in_mask.any() {
10895 __branch_input_69
10896 } else {
10897 let __ir = Simd::<f32, N>::splat(-1000000.0);
10898 let __or = __branch_input_69;
10899 __in_mask.select(__ir, __or)
10900 }
10901 });
10902 __in_mask.select(__ir, __or)
10903 }
10904 }
10905 } else {
10906 let __lerp_first = Simd::<f32, N>::splat(-0.078125);
10907 let __lerp_second = {
10908 let __branch_input_67 = (((({
10909 let __v = ((((compute_overworld__depth_simd::<
10910 N,
10911 >(noises, cache, x, ys, z))
10912 + (((Simd::<f32, N>::splat(cache.df_overworld__jaggedness))
10913 * ({
10914 let __v = Simd::<f32, N>::splat(cache.inline_noise_1);
10915 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10916 __mask.select(__v, __v * Simd::<f32, N>::splat(0.5))
10917 })))))
10918 * (Simd::<f32, N>::splat(cache.df_overworld__factor)));
10919 let __mask = __v.simd_gt(Simd::<f32, N>::splat(0.0));
10920 __mask.select(__v, __v * Simd::<f32, N>::splat(0.25))
10921 }) * (Simd::<f32, N>::splat(4.0)))) + (blended_noise_value_v));
10922 let __cse_68 = compute_overworld__caves__entrances_simd::<
10923 N,
10924 >(noises, cache, x, ys, z);
10925 let __in_mask = __branch_input_67
10926 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10927 & __branch_input_67.simd_lt(Simd::<f32, N>::splat(1.5625));
10928 if __in_mask.all() {
10929 (__branch_input_67)
10930 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))))
10931 } else if !__in_mask.any() {
10932 ((((((({
10933 let __v = noises
10934 .n_cave_layer
10935 .get_value_y_simd(
10936 x * 1.0,
10937 ys * Simd::<f64, N>::splat(8.0),
10938 z * 1.0,
10939 );
10940 __v * __v
10941 }) * (Simd::<f32, N>::splat(4.0))))
10942 + ((((((noises
10943 .n_cave_cheese
10944 .get_value_y_simd(
10945 x * 1.0,
10946 ys * Simd::<f64, N>::splat(0.6666666666666666),
10947 z * 1.0,
10948 )) + (Simd::<f32, N>::splat(0.27))))
10949 .simd_max(Simd::<f32, N>::splat(-1.0))
10950 .simd_min(Simd::<f32, N>::splat(1.0)))
10951 + ((((((__branch_input_67)
10952 * (Simd::<f32, N>::splat(-0.64))))
10953 + (Simd::<f32, N>::splat(1.5))))
10954 .simd_max(Simd::<f32, N>::splat(0.0))
10955 .simd_min(Simd::<f32, N>::splat(0.5)))))))
10956 .simd_min(__cse_68))
10957 .simd_min(
10958 ((compute_overworld__caves__spaghetti_2d_simd::<
10959 N,
10960 >(noises, cache, x, ys, z))
10961 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
10962 N,
10963 >(noises, cache, x, ys, z))),
10964 ))
10965 .simd_max({
10966 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
10967 N,
10968 >(noises, cache, x, ys, z);
10969 let __in_mask = __branch_input_69
10970 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
10971 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
10972 if __in_mask.all() {
10973 Simd::<f32, N>::splat(-1000000.0)
10974 } else if !__in_mask.any() {
10975 __branch_input_69
10976 } else {
10977 let __ir = Simd::<f32, N>::splat(-1000000.0);
10978 let __or = __branch_input_69;
10979 __in_mask.select(__ir, __or)
10980 }
10981 })
10982 } else {
10983 let __ir = (__branch_input_67)
10984 .simd_min(((__cse_68) * (Simd::<f32, N>::splat(5.0))));
10985 let __or = ((((((({
10986 let __v = noises
10987 .n_cave_layer
10988 .get_value_y_simd(
10989 x * 1.0,
10990 ys * Simd::<f64, N>::splat(8.0),
10991 z * 1.0,
10992 );
10993 __v * __v
10994 }) * (Simd::<f32, N>::splat(4.0))))
10995 + ((((((noises
10996 .n_cave_cheese
10997 .get_value_y_simd(
10998 x * 1.0,
10999 ys * Simd::<f64, N>::splat(0.6666666666666666),
11000 z * 1.0,
11001 )) + (Simd::<f32, N>::splat(0.27))))
11002 .simd_max(Simd::<f32, N>::splat(-1.0))
11003 .simd_min(Simd::<f32, N>::splat(1.0)))
11004 + ((((((__branch_input_67)
11005 * (Simd::<f32, N>::splat(-0.64))))
11006 + (Simd::<f32, N>::splat(1.5))))
11007 .simd_max(Simd::<f32, N>::splat(0.0))
11008 .simd_min(Simd::<f32, N>::splat(0.5)))))))
11009 .simd_min(__cse_68))
11010 .simd_min(
11011 ((compute_overworld__caves__spaghetti_2d_simd::<
11012 N,
11013 >(noises, cache, x, ys, z))
11014 + (compute_overworld__caves__spaghetti_roughness_function_simd::<
11015 N,
11016 >(noises, cache, x, ys, z))),
11017 ))
11018 .simd_max({
11019 let __branch_input_69 = compute_overworld__caves__pillars_simd::<
11020 N,
11021 >(noises, cache, x, ys, z);
11022 let __in_mask = __branch_input_69
11023 .simd_ge(Simd::<f32, N>::splat(-1000000.0))
11024 & __branch_input_69.simd_lt(Simd::<f32, N>::splat(0.03));
11025 if __in_mask.all() {
11026 Simd::<f32, N>::splat(-1000000.0)
11027 } else if !__in_mask.any() {
11028 __branch_input_69
11029 } else {
11030 let __ir = Simd::<f32, N>::splat(-1000000.0);
11031 let __or = __branch_input_69;
11032 __in_mask.select(__ir, __or)
11033 }
11034 });
11035 __in_mask.select(__ir, __or)
11036 }
11037 };
11038 let __lerp_value = __lerp_first
11039 + __lerp_alpha * (__lerp_second - __lerp_first);
11040 __zero
11041 .select(__lerp_first, __one.select(__lerp_second, __lerp_value))
11042 }
11043 };
11044 let __lerp_value = __lerp_first
11045 + __lerp_alpha * (__lerp_second - __lerp_first);
11046 __zero.select(__lerp_first, __one.select(__lerp_second, __lerp_value))
11047 }
11048 }) * (Simd::<f32, N>::splat(0.64))))
11049 .to_array();
11050 for lane in 0..N {
11051 out[lane * INTERPOLATED_COUNT + 0] = __values_simd_0[lane];
11052 }
11053 let __values_simd_1 = ({
11054 let __branch_input_70 = compute_y_simd::<N>(noises, cache, x, ys, z);
11055 let __in_mask = __branch_input_70.simd_ge(Simd::<f32, N>::splat(-60.0))
11056 & __branch_input_70.simd_lt(Simd::<f32, N>::splat(321.0));
11057 if __in_mask.all() {
11058 noises
11059 .n_noodle
11060 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0)
11061 } else if !__in_mask.any() {
11062 Simd::<f32, N>::splat(-1.0)
11063 } else {
11064 let __ir = noises
11065 .n_noodle
11066 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0);
11067 let __or = Simd::<f32, N>::splat(-1.0);
11068 __in_mask.select(__ir, __or)
11069 }
11070 })
11071 .to_array();
11072 for lane in 0..N {
11073 out[lane * INTERPOLATED_COUNT + 1] = __values_simd_1[lane];
11074 }
11075 let __values_simd_2 = ({
11076 let __branch_input_71 = compute_y_simd::<N>(noises, cache, x, ys, z);
11077 let __in_mask = __branch_input_71.simd_ge(Simd::<f32, N>::splat(-60.0))
11078 & __branch_input_71.simd_lt(Simd::<f32, N>::splat(321.0));
11079 if __in_mask.all() {
11080 ((((noises
11081 .n_noodle_thickness
11082 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
11083 * (Simd::<f32, N>::splat(-0.025)))) + (Simd::<f32, N>::splat(-0.075)))
11084 } else if !__in_mask.any() {
11085 Simd::<f32, N>::splat(0.0)
11086 } else {
11087 let __ir = ((((noises
11088 .n_noodle_thickness
11089 .get_value_y_simd(x * 1.0, ys * Simd::<f64, N>::splat(1.0), z * 1.0))
11090 * (Simd::<f32, N>::splat(-0.025)))) + (Simd::<f32, N>::splat(-0.075)));
11091 let __or = Simd::<f32, N>::splat(0.0);
11092 __in_mask.select(__ir, __or)
11093 }
11094 })
11095 .to_array();
11096 for lane in 0..N {
11097 out[lane * INTERPOLATED_COUNT + 2] = __values_simd_2[lane];
11098 }
11099 let __values_simd_3 = ({
11100 let __branch_input_72 = compute_y_simd::<N>(noises, cache, x, ys, z);
11101 let __in_mask = __branch_input_72.simd_ge(Simd::<f32, N>::splat(-60.0))
11102 & __branch_input_72.simd_lt(Simd::<f32, N>::splat(321.0));
11103 if __in_mask.all() {
11104 noises
11105 .n_noodle_ridge_a
11106 .get_value_y_simd(
11107 x * 2.6666666666666665,
11108 ys * Simd::<f64, N>::splat(2.6666666666666665),
11109 z * 2.6666666666666665,
11110 )
11111 } else if !__in_mask.any() {
11112 Simd::<f32, N>::splat(0.0)
11113 } else {
11114 let __ir = noises
11115 .n_noodle_ridge_a
11116 .get_value_y_simd(
11117 x * 2.6666666666666665,
11118 ys * Simd::<f64, N>::splat(2.6666666666666665),
11119 z * 2.6666666666666665,
11120 );
11121 let __or = Simd::<f32, N>::splat(0.0);
11122 __in_mask.select(__ir, __or)
11123 }
11124 })
11125 .to_array();
11126 for lane in 0..N {
11127 out[lane * INTERPOLATED_COUNT + 3] = __values_simd_3[lane];
11128 }
11129 let __values_simd_4 = ({
11130 let __branch_input_73 = compute_y_simd::<N>(noises, cache, x, ys, z);
11131 let __in_mask = __branch_input_73.simd_ge(Simd::<f32, N>::splat(-60.0))
11132 & __branch_input_73.simd_lt(Simd::<f32, N>::splat(321.0));
11133 if __in_mask.all() {
11134 noises
11135 .n_noodle_ridge_b
11136 .get_value_y_simd(
11137 x * 2.6666666666666665,
11138 ys * Simd::<f64, N>::splat(2.6666666666666665),
11139 z * 2.6666666666666665,
11140 )
11141 } else if !__in_mask.any() {
11142 Simd::<f32, N>::splat(0.0)
11143 } else {
11144 let __ir = noises
11145 .n_noodle_ridge_b
11146 .get_value_y_simd(
11147 x * 2.6666666666666665,
11148 ys * Simd::<f64, N>::splat(2.6666666666666665),
11149 z * 2.6666666666666665,
11150 );
11151 let __or = Simd::<f32, N>::splat(0.0);
11152 __in_mask.select(__ir, __or)
11153 }
11154 })
11155 .to_array();
11156 for lane in 0..N {
11157 out[lane * INTERPOLATED_COUNT + 4] = __values_simd_4[lane];
11158 }
11159 let __values_simd_5 = ({
11160 let __branch_input_74 = compute_y_simd::<N>(noises, cache, x, ys, z);
11161 let __in_mask = __branch_input_74.simd_ge(Simd::<f32, N>::splat(-64.0))
11162 & __branch_input_74.simd_lt(Simd::<f32, N>::splat(57.0));
11163 if __in_mask.all() {
11164 noises
11165 .n_ore_veininess
11166 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11167 } else if !__in_mask.any() {
11168 Simd::<f32, N>::splat(0.0)
11169 } else {
11170 let __ir = noises
11171 .n_ore_veininess
11172 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11173 let __or = Simd::<f32, N>::splat(0.0);
11174 __in_mask.select(__ir, __or)
11175 }
11176 })
11177 .to_array();
11178 for lane in 0..N {
11179 out[lane * INTERPOLATED_COUNT + 5] = __values_simd_5[lane];
11180 }
11181 let __values_simd_6 = ({
11182 let __branch_input_75 = compute_y_simd::<N>(noises, cache, x, ys, z);
11183 let __in_mask = __branch_input_75.simd_ge(Simd::<f32, N>::splat(-64.0))
11184 & __branch_input_75.simd_lt(Simd::<f32, N>::splat(57.0));
11185 if __in_mask.all() {
11186 noises
11187 .n_ore_vein_a
11188 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0)
11189 } else if !__in_mask.any() {
11190 Simd::<f32, N>::splat(1.0)
11191 } else {
11192 let __ir = noises
11193 .n_ore_vein_a
11194 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0);
11195 let __or = Simd::<f32, N>::splat(1.0);
11196 __in_mask.select(__ir, __or)
11197 }
11198 })
11199 .to_array();
11200 for lane in 0..N {
11201 out[lane * INTERPOLATED_COUNT + 6] = __values_simd_6[lane];
11202 }
11203 let __values_simd_7 = ({
11204 let __branch_input_76 = compute_y_simd::<N>(noises, cache, x, ys, z);
11205 let __in_mask = __branch_input_76.simd_ge(Simd::<f32, N>::splat(-64.0))
11206 & __branch_input_76.simd_lt(Simd::<f32, N>::splat(57.0));
11207 if __in_mask.all() {
11208 noises
11209 .n_ore_vein_b
11210 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0)
11211 } else if !__in_mask.any() {
11212 Simd::<f32, N>::splat(1.0)
11213 } else {
11214 let __ir = noises
11215 .n_ore_vein_b
11216 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0);
11217 let __or = Simd::<f32, N>::splat(1.0);
11218 __in_mask.select(__ir, __or)
11219 }
11220 })
11221 .to_array();
11222 for lane in 0..N {
11223 out[lane * INTERPOLATED_COUNT + 7] = __values_simd_7[lane];
11224 }
11225 let __values_simd_8 = ({
11226 let __branch_input_77 = compute_y_simd::<N>(noises, cache, x, ys, z);
11227 let __in_mask = __branch_input_77.simd_ge(Simd::<f32, N>::splat(-64.0))
11228 & __branch_input_77.simd_lt(Simd::<f32, N>::splat(57.0));
11229 if __in_mask.all() {
11230 noises
11231 .n_ore_veininess
11232 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11233 } else if !__in_mask.any() {
11234 Simd::<f32, N>::splat(0.0)
11235 } else {
11236 let __ir = noises
11237 .n_ore_veininess
11238 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11239 let __or = Simd::<f32, N>::splat(0.0);
11240 __in_mask.select(__ir, __or)
11241 }
11242 })
11243 .to_array();
11244 for lane in 0..N {
11245 out[lane * INTERPOLATED_COUNT + 8] = __values_simd_8[lane];
11246 }
11247 let __values_simd_9 = ({
11248 let __branch_input_78 = compute_y_simd::<N>(noises, cache, x, ys, z);
11249 let __in_mask = __branch_input_78.simd_ge(Simd::<f32, N>::splat(-64.0))
11250 & __branch_input_78.simd_lt(Simd::<f32, N>::splat(57.0));
11251 if __in_mask.all() {
11252 noises
11253 .n_ore_veininess
11254 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11255 } else if !__in_mask.any() {
11256 Simd::<f32, N>::splat(0.0)
11257 } else {
11258 let __ir = noises
11259 .n_ore_veininess
11260 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11261 let __or = Simd::<f32, N>::splat(0.0);
11262 __in_mask.select(__ir, __or)
11263 }
11264 })
11265 .to_array();
11266 for lane in 0..N {
11267 out[lane * INTERPOLATED_COUNT + 9] = __values_simd_9[lane];
11268 }
11269 let __values_simd_10 = ({
11270 let __branch_input_79 = compute_y_simd::<N>(noises, cache, x, ys, z);
11271 let __in_mask = __branch_input_79.simd_ge(Simd::<f32, N>::splat(-64.0))
11272 & __branch_input_79.simd_lt(Simd::<f32, N>::splat(57.0));
11273 if __in_mask.all() {
11274 noises
11275 .n_ore_veininess
11276 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11277 } else if !__in_mask.any() {
11278 Simd::<f32, N>::splat(0.0)
11279 } else {
11280 let __ir = noises
11281 .n_ore_veininess
11282 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11283 let __or = Simd::<f32, N>::splat(0.0);
11284 __in_mask.select(__ir, __or)
11285 }
11286 })
11287 .to_array();
11288 for lane in 0..N {
11289 out[lane * INTERPOLATED_COUNT + 10] = __values_simd_10[lane];
11290 }
11291 let __values_simd_11 = ({
11292 let __branch_input_80 = compute_y_simd::<N>(noises, cache, x, ys, z);
11293 let __in_mask = __branch_input_80.simd_ge(Simd::<f32, N>::splat(-64.0))
11294 & __branch_input_80.simd_lt(Simd::<f32, N>::splat(57.0));
11295 if __in_mask.all() {
11296 noises
11297 .n_ore_vein_a
11298 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0)
11299 } else if !__in_mask.any() {
11300 Simd::<f32, N>::splat(1.0)
11301 } else {
11302 let __ir = noises
11303 .n_ore_vein_a
11304 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0);
11305 let __or = Simd::<f32, N>::splat(1.0);
11306 __in_mask.select(__ir, __or)
11307 }
11308 })
11309 .to_array();
11310 for lane in 0..N {
11311 out[lane * INTERPOLATED_COUNT + 11] = __values_simd_11[lane];
11312 }
11313 let __values_simd_12 = ({
11314 let __branch_input_81 = compute_y_simd::<N>(noises, cache, x, ys, z);
11315 let __in_mask = __branch_input_81.simd_ge(Simd::<f32, N>::splat(-64.0))
11316 & __branch_input_81.simd_lt(Simd::<f32, N>::splat(57.0));
11317 if __in_mask.all() {
11318 noises
11319 .n_ore_vein_b
11320 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0)
11321 } else if !__in_mask.any() {
11322 Simd::<f32, N>::splat(1.0)
11323 } else {
11324 let __ir = noises
11325 .n_ore_vein_b
11326 .get_value_y_simd(x * 4.0, ys * Simd::<f64, N>::splat(4.0), z * 4.0);
11327 let __or = Simd::<f32, N>::splat(1.0);
11328 __in_mask.select(__ir, __or)
11329 }
11330 })
11331 .to_array();
11332 for lane in 0..N {
11333 out[lane * INTERPOLATED_COUNT + 12] = __values_simd_12[lane];
11334 }
11335 let __values_simd_13 = ({
11336 let __branch_input_82 = compute_y_simd::<N>(noises, cache, x, ys, z);
11337 let __in_mask = __branch_input_82.simd_ge(Simd::<f32, N>::splat(-64.0))
11338 & __branch_input_82.simd_lt(Simd::<f32, N>::splat(57.0));
11339 if __in_mask.all() {
11340 noises
11341 .n_ore_veininess
11342 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11343 } else if !__in_mask.any() {
11344 Simd::<f32, N>::splat(0.0)
11345 } else {
11346 let __ir = noises
11347 .n_ore_veininess
11348 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11349 let __or = Simd::<f32, N>::splat(0.0);
11350 __in_mask.select(__ir, __or)
11351 }
11352 })
11353 .to_array();
11354 for lane in 0..N {
11355 out[lane * INTERPOLATED_COUNT + 13] = __values_simd_13[lane];
11356 }
11357 let __values_simd_14 = ({
11358 let __branch_input_83 = compute_y_simd::<N>(noises, cache, x, ys, z);
11359 let __in_mask = __branch_input_83.simd_ge(Simd::<f32, N>::splat(-64.0))
11360 & __branch_input_83.simd_lt(Simd::<f32, N>::splat(57.0));
11361 if __in_mask.all() {
11362 noises
11363 .n_ore_veininess
11364 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5)
11365 } else if !__in_mask.any() {
11366 Simd::<f32, N>::splat(0.0)
11367 } else {
11368 let __ir = noises
11369 .n_ore_veininess
11370 .get_value_y_simd(x * 1.5, ys * Simd::<f64, N>::splat(1.5), z * 1.5);
11371 let __or = Simd::<f32, N>::splat(0.0);
11372 __in_mask.select(__ir, __or)
11373 }
11374 })
11375 .to_array();
11376 for lane in 0..N {
11377 out[lane * INTERPOLATED_COUNT + 14] = __values_simd_14[lane];
11378 }
11379}
11380#[expect(
11382 unused_variables,
11383 reason = "generated function has a fixed signature; not all parameters are used in every dimension"
11384)]
11385pub fn combine_interpolated(
11386 noises: &OverworldNoises,
11387 cache: &OverworldColumnCache,
11388 interpolated: &[f32],
11389 _x: i32,
11390 y: i32,
11391 _z: i32,
11392) -> f32 {
11393 let x = cache.x as f64;
11394 let z = cache.z as f64;
11395 let y = y as f64;
11396 ((((({
11397 let __sc_a = ({
11398 let c = ((interpolated[0]) as f32).clamp(-1.0, 1.0);
11399 c / 2.0 - c * c * c / 24.0
11400 }) as f32;
11401 let __sc_b = (({
11402 let __branch_input_84 = (interpolated[1]) as f32;
11403 if __branch_input_84 >= -1000000.0 && __branch_input_84 < 0.0 {
11404 (64.0) as f32
11405 } else {
11406 ((((interpolated[2]) as f32)
11407 + ((((({
11408 let __sc_a = (((interpolated[3]) as f32).abs()) as f32;
11409 let __sc_b = (((interpolated[4]) as f32).abs()) as f32;
11410 if __sc_a > __sc_b { __sc_a } else { __sc_b }
11411 }) as f32) * ((1.5) as f32))) as f32))) as f32
11412 }
11413 }) as f32) as f32;
11414 if __sc_a < __sc_b { __sc_a } else { __sc_b }
11415 }) as f32) + ((0.0) as f32))) as f32) as f32
11416}
11417#[expect(
11419 unused_variables,
11420 reason = "generated function has a fixed signature; not all parameters are used in every dimension"
11421)]
11422pub fn combine_vein_toggle(
11423 noises: &OverworldNoises,
11424 cache: &OverworldColumnCache,
11425 interpolated: &[f32],
11426 _x: i32,
11427 y: i32,
11428 _z: i32,
11429) -> f32 {
11430 let x = cache.x as f64;
11431 let z = cache.z as f64;
11432 let y = y as f64;
11433 0.0
11434}
11435#[expect(
11437 unused_variables,
11438 reason = "generated function has a fixed signature; not all parameters are used in every dimension"
11439)]
11440pub fn combine_vein_ridged(
11441 noises: &OverworldNoises,
11442 cache: &OverworldColumnCache,
11443 interpolated: &[f32],
11444 _x: i32,
11445 y: i32,
11446 _z: i32,
11447) -> f32 {
11448 let x = cache.x as f64;
11449 let z = cache.z as f64;
11450 let y = y as f64;
11451 0.0
11452}
11453#[expect(unused_variables, reason = "generated function has a fixed signature")]
11454#[inline]
11455pub fn combine_material_ore_vein_0_density(
11456 noises: &OverworldNoises,
11457 cache: &mut OverworldColumnCache,
11458 interpolated: &[f32],
11459 x: i32,
11460 y: i32,
11461 z: i32,
11462) -> f32 {
11463 let x = x as f64;
11464 let z = z as f64;
11465 let y = y as f64;
11466 (({
11467 let __branch_input_85 = (compute_y(noises, cache, x, y, z)) as f32;
11468 if __branch_input_85 >= 0.0 && __branch_input_85 < 50.0 {
11469 ({
11470 let __branch_input_87 = ((({
11471 let __branch_input_86 = (((interpolated[5]) as f32) as f32) as f32;
11472 if __branch_input_86 >= -0.4 && __branch_input_86 < 0.4 {
11473 (-1.0) as f32
11474 } else {
11475 ((((0.08) as f32)
11476 - (({
11477 let __sc_a = (((interpolated[6]) as f32).abs()) as f32;
11478 let __sc_b = (((interpolated[7]) as f32).abs()) as f32;
11479 if __sc_a > __sc_b { __sc_a } else { __sc_b }
11480 }) as f32))) as f32
11481 }
11482 }) as f32) as f32) as f32;
11483 if __branch_input_87 >= 0.0 {
11484 ({
11485 let __branch_input_88 = (((((((((interpolated[8]) as f32) as f32)
11486 as f32) - ((0.4) as f32))) as f32)
11487 + (((((((((({
11488 let __sc_a = ((((50.0) as f32) - (__branch_input_85)))
11489 as f32;
11490 if __sc_a <= -4064.0 {
11491 __sc_a
11492 } else {
11493 let __sc_b = (((__branch_input_85) - ((0.0) as f32)))
11494 as f32;
11495 if __sc_a < __sc_b { __sc_a } else { __sc_b }
11496 }
11497 }) as f32)
11498 .clamp(0.0, 20.0)) as f32) * ((0.01) as f32))) as f32)
11499 + ((-0.2) as f32))) as f32))) as f32;
11500 if __branch_input_88 >= 0.0 && __branch_input_88 < 1000000.0 {
11501 (0.7) as f32
11502 } else {
11503 (-1.0) as f32
11504 }
11505 }) as f32
11506 } else {
11507 (-1.0) as f32
11508 }
11509 }) as f32
11510 } else {
11511 (-1.0) as f32
11512 }
11513 }) as f32) as f32
11514}
11515#[expect(unused_variables, reason = "generated function has a fixed signature")]
11516#[inline]
11517pub fn combine_material_ore_vein_0_richness(
11518 noises: &OverworldNoises,
11519 cache: &mut OverworldColumnCache,
11520 interpolated: &[f32],
11521 x: i32,
11522 y: i32,
11523 z: i32,
11524) -> f32 {
11525 let x = x as f64;
11526 let z = z as f64;
11527 let y = y as f64;
11528 ((((((((((((((interpolated[9]) as f32) as f32) as f32).abs()) as f32)
11529 .clamp(0.4, 0.6)) as f32) * ((1.0) as f32))) as f32) + ((-0.3) as f32))) as f32)
11530 as f32
11531}
11532#[expect(unused_variables, reason = "generated function has a fixed signature")]
11533#[inline]
11534pub fn combine_material_ore_vein_1_density(
11535 noises: &OverworldNoises,
11536 cache: &mut OverworldColumnCache,
11537 interpolated: &[f32],
11538 x: i32,
11539 y: i32,
11540 z: i32,
11541) -> f32 {
11542 let x = x as f64;
11543 let z = z as f64;
11544 let y = y as f64;
11545 (({
11546 let __branch_input_89 = (compute_y(noises, cache, x, y, z)) as f32;
11547 if __branch_input_89 >= -60.0 && __branch_input_89 < -8.0 {
11548 ({
11549 let __branch_input_91 = ((({
11550 let __branch_input_90 = (((interpolated[10]) as f32) as f32) as f32;
11551 if __branch_input_90 >= -0.4 && __branch_input_90 < 0.4 {
11552 (-1.0) as f32
11553 } else {
11554 ((((0.08) as f32)
11555 - (({
11556 let __sc_a = (((interpolated[11]) as f32).abs()) as f32;
11557 let __sc_b = (((interpolated[12]) as f32).abs()) as f32;
11558 if __sc_a > __sc_b { __sc_a } else { __sc_b }
11559 }) as f32))) as f32
11560 }
11561 }) as f32) as f32) as f32;
11562 if __branch_input_91 >= 0.0 {
11563 ({
11564 let __branch_input_92 = ((((((((-((((interpolated[13]) as f32)
11565 as f32) as f32))) as f32) - ((0.4) as f32))) as f32)
11566 + (((((((((({
11567 let __sc_a = ((((-8.0) as f32) - (__branch_input_89)))
11568 as f32;
11569 if __sc_a <= -4004.0 {
11570 __sc_a
11571 } else {
11572 let __sc_b = (((__branch_input_89) - ((-60.0) as f32)))
11573 as f32;
11574 if __sc_a < __sc_b { __sc_a } else { __sc_b }
11575 }
11576 }) as f32)
11577 .clamp(0.0, 20.0)) as f32) * ((0.01) as f32))) as f32)
11578 + ((-0.2) as f32))) as f32))) as f32;
11579 if __branch_input_92 >= 0.0 && __branch_input_92 < 1000000.0 {
11580 (0.7) as f32
11581 } else {
11582 (-1.0) as f32
11583 }
11584 }) as f32
11585 } else {
11586 (-1.0) as f32
11587 }
11588 }) as f32
11589 } else {
11590 (-1.0) as f32
11591 }
11592 }) as f32) as f32
11593}
11594#[expect(unused_variables, reason = "generated function has a fixed signature")]
11595#[inline]
11596pub fn combine_material_ore_vein_1_richness(
11597 noises: &OverworldNoises,
11598 cache: &mut OverworldColumnCache,
11599 interpolated: &[f32],
11600 x: i32,
11601 y: i32,
11602 z: i32,
11603) -> f32 {
11604 let x = x as f64;
11605 let z = z as f64;
11606 let y = y as f64;
11607 ((((((((((((((interpolated[14]) as f32) as f32) as f32).abs()) as f32)
11608 .clamp(0.4, 0.6)) as f32) * ((1.0) as f32))) as f32) + ((-0.3) as f32))) as f32)
11609 as f32
11610}
11611pub struct OverworldNoiseSettings;
11613impl OverworldNoiseSettings {
11614 pub const MIN_Y: i32 = -64i32;
11616 pub const HEIGHT: i32 = 384i32;
11618 pub const SEA_LEVEL: i32 = 63i32;
11620 pub const CELL_WIDTH: i32 = 4i32;
11622 pub const CELL_HEIGHT: i32 = 8i32;
11624 pub const AQUIFERS_ENABLED: bool = true;
11626 pub const ORE_VEINS_ENABLED: bool = false;
11628 pub const MATERIAL_ORE_VEINS_ENABLED: bool = true;
11630 pub const LEGACY_RANDOM_SOURCE: bool = false;
11632 #[inline]
11634 pub fn default_block_id() -> steel_utils::BlockStateId {
11635 steel_registry::REGISTRY
11636 .blocks
11637 .get_default_state_id(&steel_registry::vanilla_blocks::STONE)
11638 }
11639 #[inline]
11641 pub fn default_fluid_id() -> steel_utils::BlockStateId {
11642 steel_registry::REGISTRY
11643 .blocks
11644 .get_default_state_id(&steel_registry::vanilla_blocks::WATER)
11645 }
11646}
11647impl steel_worldgen::density::NoiseSettings for OverworldNoiseSettings {
11648 const MIN_Y: i32 = -64i32;
11649 const HEIGHT: i32 = 384i32;
11650 const SEA_LEVEL: i32 = 63i32;
11651 const CELL_WIDTH: i32 = 4i32;
11652 const CELL_HEIGHT: i32 = 8i32;
11653 const AQUIFERS_ENABLED: bool = true;
11654 const ORE_VEINS_ENABLED: bool = false;
11655 const MATERIAL_ORE_VEINS_ENABLED: bool = true;
11656 const LEGACY_RANDOM_SOURCE: bool = false;
11657 #[inline]
11658 fn default_block_id() -> steel_utils::BlockStateId {
11659 OverworldNoiseSettings::default_block_id()
11660 }
11661 #[inline]
11662 fn default_fluid_id() -> steel_utils::BlockStateId {
11663 OverworldNoiseSettings::default_fluid_id()
11664 }
11665}
11666impl Default for OverworldColumnCache {
11667 fn default() -> Self {
11668 Self::new()
11669 }
11670}
11671impl steel_worldgen::density::ColumnCache for OverworldColumnCache {
11672 type Noises = OverworldNoises;
11673 #[inline]
11674 fn ensure(&mut self, x: i32, z: i32, noises: &Self::Noises) {
11675 OverworldColumnCache::ensure(self, x, z, noises)
11676 }
11677 #[inline]
11678 fn init_grid(
11679 &mut self,
11680 chunk_block_x: i32,
11681 chunk_block_z: i32,
11682 noises: &Self::Noises,
11683 ) {
11684 OverworldColumnCache::init_grid(self, chunk_block_x, chunk_block_z, noises)
11685 }
11686}
11687impl steel_worldgen::density::DimensionNoises for OverworldNoises {
11688 type ColumnCache = OverworldColumnCache;
11689 type Settings = OverworldNoiseSettings;
11690 fn create(
11691 seed: u64,
11692 splitter: &steel_utils::random::RandomSplitter,
11693 params: &rustc_hash::FxHashMap<String, steel_worldgen::density::NoiseParameters>,
11694 ) -> Self {
11695 OverworldNoises::create(seed, splitter, params)
11696 }
11697 #[inline]
11698 fn router_final_density(
11699 &self,
11700 cache: &mut Self::ColumnCache,
11701 x: i32,
11702 y: i32,
11703 z: i32,
11704 ) -> f32 {
11705 router_final_density(self, cache, x as f64, y as f64, z as f64)
11706 }
11707 #[inline]
11708 fn router_depth(
11709 &self,
11710 cache: &mut Self::ColumnCache,
11711 x: i32,
11712 y: i32,
11713 z: i32,
11714 ) -> f32 {
11715 router_depth(self, cache, x as f64, y as f64, z as f64)
11716 }
11717 #[inline]
11718 fn aquifer_needs_column_cache() -> bool {
11719 AQUIFER_NEEDS_COLUMN_CACHE
11720 }
11721 #[inline]
11722 fn router_barrier(
11723 &self,
11724 cache: &mut Self::ColumnCache,
11725 x: i32,
11726 y: i32,
11727 z: i32,
11728 ) -> f32 {
11729 router_barrier(self, cache, x as f64, y as f64, z as f64)
11730 }
11731 #[inline]
11732 fn router_fluid_level_floodedness(
11733 &self,
11734 cache: &mut Self::ColumnCache,
11735 x: i32,
11736 y: i32,
11737 z: i32,
11738 ) -> f32 {
11739 router_fluid_level_floodedness(self, cache, x as f64, y as f64, z as f64)
11740 }
11741 #[inline]
11742 fn router_fluid_level_spread(
11743 &self,
11744 cache: &mut Self::ColumnCache,
11745 x: i32,
11746 y: i32,
11747 z: i32,
11748 ) -> f32 {
11749 router_fluid_level_spread(self, cache, x as f64, y as f64, z as f64)
11750 }
11751 #[inline]
11752 fn router_lava(&self, cache: &mut Self::ColumnCache, x: i32, y: i32, z: i32) -> f32 {
11753 router_lava(self, cache, x as f64, y as f64, z as f64)
11754 }
11755 #[inline]
11756 fn router_vein_toggle(
11757 &self,
11758 cache: &mut Self::ColumnCache,
11759 x: i32,
11760 y: i32,
11761 z: i32,
11762 ) -> f32 {
11763 0.0
11764 }
11765 #[inline]
11766 fn router_vein_ridged(
11767 &self,
11768 cache: &mut Self::ColumnCache,
11769 x: i32,
11770 y: i32,
11771 z: i32,
11772 ) -> f32 {
11773 0.0
11774 }
11775 #[inline]
11776 fn router_vein_gap(
11777 &self,
11778 cache: &mut Self::ColumnCache,
11779 x: i32,
11780 y: i32,
11781 z: i32,
11782 ) -> f32 {
11783 0.0
11784 }
11785 #[inline]
11786 fn router_preliminary_surface_level(
11787 &self,
11788 cache: &mut Self::ColumnCache,
11789 x: i32,
11790 y: i32,
11791 z: i32,
11792 ) -> f32 {
11793 router_preliminary_surface_level(self, cache, x as f64, y as f64, z as f64)
11794 }
11795 #[inline]
11796 fn router_erosion(
11797 &self,
11798 cache: &mut Self::ColumnCache,
11799 x: i32,
11800 y: i32,
11801 z: i32,
11802 ) -> f32 {
11803 router_erosion(self, cache, x as f64, y as f64, z as f64)
11804 }
11805 #[inline]
11806 fn router_continentalness(
11807 &self,
11808 cache: &mut Self::ColumnCache,
11809 x: i32,
11810 y: i32,
11811 z: i32,
11812 ) -> f32 {
11813 router_continentalness(self, cache, x as f64, y as f64, z as f64)
11814 }
11815 #[inline]
11816 fn router_temperature(
11817 &self,
11818 cache: &mut Self::ColumnCache,
11819 x: i32,
11820 y: i32,
11821 z: i32,
11822 ) -> f32 {
11823 router_temperature(self, cache, x as f64, y as f64, z as f64)
11824 }
11825 #[inline]
11826 fn router_vegetation(
11827 &self,
11828 cache: &mut Self::ColumnCache,
11829 x: i32,
11830 y: i32,
11831 z: i32,
11832 ) -> f32 {
11833 router_vegetation(self, cache, x as f64, y as f64, z as f64)
11834 }
11835 #[inline]
11836 fn router_ridges(
11837 &self,
11838 cache: &mut Self::ColumnCache,
11839 x: i32,
11840 y: i32,
11841 z: i32,
11842 ) -> f32 {
11843 router_ridges(self, cache, x as f64, y as f64, z as f64)
11844 }
11845 #[inline]
11846 fn interpolated_count() -> usize {
11847 INTERPOLATED_COUNT
11848 }
11849 fn vein_interp_enabled() -> bool {
11850 VEIN_INTERP_ENABLED
11851 }
11852 #[inline]
11853 fn final_density_nonpositive_channels() -> Option<&'static [usize]> {
11854 FINAL_DENSITY_NONPOSITIVE_CHANNELS
11855 }
11856 #[inline]
11857 fn compute_noise_column(&self, x: i32, block_ys: &[i32], z: i32, out: &mut [f32]) {
11858 self.blended_noise.compute_column(x, block_ys, z, out);
11859 }
11860 #[inline]
11861 fn fill_cell_corner_densities(
11862 &self,
11863 cache: &mut Self::ColumnCache,
11864 x: i32,
11865 y: i32,
11866 z: i32,
11867 blended_noise_value: f32,
11868 out: &mut [f32],
11869 ) {
11870 fill_cell_corner_densities(self, cache, x, y, z, blended_noise_value, out)
11871 }
11872 #[inline]
11873 fn fill_cell_corner_densities_y_simd<const N: usize>(
11874 &self,
11875 cache: &mut Self::ColumnCache,
11876 x: i32,
11877 ys: [i32; N],
11878 z: i32,
11879 blended_noise_values: [f32; N],
11880 out: &mut [f32],
11881 ) {
11882 fill_cell_corner_densities_y_simd::<
11883 N,
11884 >(self, cache, x, ys, z, blended_noise_values, out)
11885 }
11886 #[inline]
11887 fn combine_interpolated(
11888 &self,
11889 cache: &mut Self::ColumnCache,
11890 interpolated: &[f32],
11891 x: i32,
11892 y: i32,
11893 z: i32,
11894 ) -> f32 {
11895 combine_interpolated(self, cache, interpolated, x, y, z)
11896 }
11897 #[inline]
11898 fn combine_vein_toggle(
11899 &self,
11900 cache: &mut Self::ColumnCache,
11901 interpolated: &[f32],
11902 x: i32,
11903 y: i32,
11904 z: i32,
11905 ) -> f32 {
11906 combine_vein_toggle(self, cache, interpolated, x, y, z)
11907 }
11908 #[inline]
11909 fn combine_vein_ridged(
11910 &self,
11911 cache: &mut Self::ColumnCache,
11912 interpolated: &[f32],
11913 x: i32,
11914 y: i32,
11915 z: i32,
11916 ) -> f32 {
11917 combine_vein_ridged(self, cache, interpolated, x, y, z)
11918 }
11919 fn surface_noise_ids() -> &'static [&'static str] {
11920 &[
11921 "minecraft:surface",
11922 "minecraft:surface_swamp",
11923 "minecraft:packed_ice",
11924 "minecraft:ice",
11925 "minecraft:powder_snow",
11926 "minecraft:calcite",
11927 "minecraft:gravel",
11928 "minecraft:sulfur_cave_gradient",
11929 "minecraft:small_patch",
11930 ]
11931 }
11932 fn surface_gradient_ids() -> &'static [&'static str] {
11933 &["minecraft:bedrock_floor", "minecraft:deepslate"]
11934 }
11935 fn surface_rule_block_states() -> &'static [steel_utils::BlockStateId] {
11936 {
11937 static BLOCK_STATES: std::sync::OnceLock<Box<[steel_utils::BlockStateId]>> = std::sync::OnceLock::new();
11938 BLOCK_STATES
11939 .get_or_init(|| {
11940 Box::from([
11941 steel_registry::vanilla_blocks::BEDROCK.default_state(),
11942 steel_registry::vanilla_blocks::COARSE_DIRT.default_state(),
11943 steel_registry::vanilla_blocks::GRASS_BLOCK.default_state(),
11944 steel_registry::vanilla_blocks::DIRT.default_state(),
11945 steel_registry::vanilla_blocks::WATER.default_state(),
11946 steel_registry::vanilla_blocks::ORANGE_TERRACOTTA
11947 .default_state(),
11948 steel_registry::vanilla_blocks::TERRACOTTA.default_state(),
11949 steel_registry::vanilla_blocks::RED_SANDSTONE.default_state(),
11950 steel_registry::vanilla_blocks::RED_SAND.default_state(),
11951 steel_registry::vanilla_blocks::WHITE_TERRACOTTA.default_state(),
11952 steel_registry::vanilla_blocks::STONE.default_state(),
11953 steel_registry::vanilla_blocks::GRAVEL.default_state(),
11954 steel_registry::vanilla_blocks::AIR.default_state(),
11955 steel_registry::vanilla_blocks::PACKED_ICE.default_state(),
11956 steel_registry::vanilla_blocks::ICE.default_state(),
11957 steel_registry::vanilla_blocks::SNOW_BLOCK.default_state(),
11958 steel_registry::vanilla_blocks::POWDER_SNOW.default_state(),
11959 steel_registry::vanilla_blocks::CALCITE.default_state(),
11960 steel_registry::vanilla_blocks::SANDSTONE.default_state(),
11961 steel_registry::vanilla_blocks::SAND.default_state(),
11962 steel_registry::vanilla_blocks::CINNABAR.default_state(),
11963 steel_registry::vanilla_blocks::SULFUR.default_state(),
11964 steel_registry::vanilla_blocks::MUD.default_state(),
11965 steel_registry::vanilla_blocks::PODZOL.default_state(),
11966 steel_registry::vanilla_blocks::MYCELIUM.default_state(),
11967 steel_registry::vanilla_blocks::DEEPSLATE.default_state(),
11968 ])
11969 })
11970 }
11971 }
11972 fn surface_rule_uses_biome() -> bool {
11973 true
11974 }
11975 fn surface_rule_biome_sets() -> &'static [Box<[u16]>] {
11976 {
11977 static BIOME_SETS: std::sync::OnceLock<Box<[Box<[u16]>]>> = std::sync::OnceLock::new();
11978 BIOME_SETS
11979 .get_or_init(|| Box::from([
11980 Box::from([
11981 steel_registry::RegistryEntry::id(
11982 &*steel_registry::vanilla_biomes::WOODED_BADLANDS,
11983 ) as u16,
11984 ]),
11985 Box::from([
11986 steel_registry::RegistryEntry::id(
11987 &*steel_registry::vanilla_biomes::SWAMP,
11988 ) as u16,
11989 ]),
11990 Box::from([
11991 steel_registry::RegistryEntry::id(
11992 &*steel_registry::vanilla_biomes::MANGROVE_SWAMP,
11993 ) as u16,
11994 ]),
11995 Box::from([
11996 steel_registry::RegistryEntry::id(
11997 &*steel_registry::vanilla_biomes::BADLANDS,
11998 ) as u16,
11999 steel_registry::RegistryEntry::id(
12000 &*steel_registry::vanilla_biomes::ERODED_BADLANDS,
12001 ) as u16,
12002 steel_registry::RegistryEntry::id(
12003 &*steel_registry::vanilla_biomes::WOODED_BADLANDS,
12004 ) as u16,
12005 ]),
12006 Box::from([
12007 steel_registry::RegistryEntry::id(
12008 &*steel_registry::vanilla_biomes::FROZEN_OCEAN,
12009 ) as u16,
12010 steel_registry::RegistryEntry::id(
12011 &*steel_registry::vanilla_biomes::DEEP_FROZEN_OCEAN,
12012 ) as u16,
12013 ]),
12014 Box::from([
12015 steel_registry::RegistryEntry::id(
12016 &*steel_registry::vanilla_biomes::FROZEN_PEAKS,
12017 ) as u16,
12018 ]),
12019 Box::from([
12020 steel_registry::RegistryEntry::id(
12021 &*steel_registry::vanilla_biomes::SNOWY_SLOPES,
12022 ) as u16,
12023 ]),
12024 Box::from([
12025 steel_registry::RegistryEntry::id(
12026 &*steel_registry::vanilla_biomes::JAGGED_PEAKS,
12027 ) as u16,
12028 ]),
12029 Box::from([
12030 steel_registry::RegistryEntry::id(
12031 &*steel_registry::vanilla_biomes::GROVE,
12032 ) as u16,
12033 ]),
12034 Box::from([
12035 steel_registry::RegistryEntry::id(
12036 &*steel_registry::vanilla_biomes::STONY_PEAKS,
12037 ) as u16,
12038 ]),
12039 Box::from([
12040 steel_registry::RegistryEntry::id(
12041 &*steel_registry::vanilla_biomes::STONY_SHORE,
12042 ) as u16,
12043 ]),
12044 Box::from([
12045 steel_registry::RegistryEntry::id(
12046 &*steel_registry::vanilla_biomes::WINDSWEPT_HILLS,
12047 ) as u16,
12048 ]),
12049 Box::from([
12050 steel_registry::RegistryEntry::id(
12051 &*steel_registry::vanilla_biomes::WARM_OCEAN,
12052 ) as u16,
12053 steel_registry::RegistryEntry::id(
12054 &*steel_registry::vanilla_biomes::BEACH,
12055 ) as u16,
12056 steel_registry::RegistryEntry::id(
12057 &*steel_registry::vanilla_biomes::SNOWY_BEACH,
12058 ) as u16,
12059 ]),
12060 Box::from([
12061 steel_registry::RegistryEntry::id(
12062 &*steel_registry::vanilla_biomes::DESERT,
12063 ) as u16,
12064 ]),
12065 Box::from([
12066 steel_registry::RegistryEntry::id(
12067 &*steel_registry::vanilla_biomes::DRIPSTONE_CAVES,
12068 ) as u16,
12069 ]),
12070 Box::from([
12071 steel_registry::RegistryEntry::id(
12072 &*steel_registry::vanilla_biomes::SULFUR_CAVES,
12073 ) as u16,
12074 ]),
12075 Box::from([
12076 steel_registry::RegistryEntry::id(
12077 &*steel_registry::vanilla_biomes::WINDSWEPT_SAVANNA,
12078 ) as u16,
12079 ]),
12080 Box::from([
12081 steel_registry::RegistryEntry::id(
12082 &*steel_registry::vanilla_biomes::WINDSWEPT_GRAVELLY_HILLS,
12083 ) as u16,
12084 ]),
12085 Box::from([
12086 steel_registry::RegistryEntry::id(
12087 &*steel_registry::vanilla_biomes::OLD_GROWTH_PINE_TAIGA,
12088 ) as u16,
12089 steel_registry::RegistryEntry::id(
12090 &*steel_registry::vanilla_biomes::OLD_GROWTH_SPRUCE_TAIGA,
12091 ) as u16,
12092 ]),
12093 Box::from([
12094 steel_registry::RegistryEntry::id(
12095 &*steel_registry::vanilla_biomes::ICE_SPIKES,
12096 ) as u16,
12097 ]),
12098 Box::from([
12099 steel_registry::RegistryEntry::id(
12100 &*steel_registry::vanilla_biomes::MUSHROOM_FIELDS,
12101 ) as u16,
12102 ]),
12103 Box::from([
12104 steel_registry::RegistryEntry::id(
12105 &*steel_registry::vanilla_biomes::DAPPLED_FOREST,
12106 ) as u16,
12107 ]),
12108 Box::from([
12109 steel_registry::RegistryEntry::id(
12110 &*steel_registry::vanilla_biomes::FROZEN_PEAKS,
12111 ) as u16,
12112 steel_registry::RegistryEntry::id(
12113 &*steel_registry::vanilla_biomes::JAGGED_PEAKS,
12114 ) as u16,
12115 ]),
12116 Box::from([
12117 steel_registry::RegistryEntry::id(
12118 &*steel_registry::vanilla_biomes::WARM_OCEAN,
12119 ) as u16,
12120 steel_registry::RegistryEntry::id(
12121 &*steel_registry::vanilla_biomes::LUKEWARM_OCEAN,
12122 ) as u16,
12123 steel_registry::RegistryEntry::id(
12124 &*steel_registry::vanilla_biomes::DEEP_LUKEWARM_OCEAN,
12125 ) as u16,
12126 ]),
12127 ]))
12128 }
12129 }
12130 fn surface_rule_below_preliminary_surface() -> &'static steel_worldgen::surface_partial::PartialSurfaceRule {
12131 static RULE: steel_worldgen::surface_partial::PartialSurfaceRule = steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12132 &[
12133 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12134 steel_worldgen::surface_partial::PartialSurfaceCondition::VerticalGradient {
12135 true_at_and_below: -64i32,
12136 false_at_and_above: -59i32,
12137 },
12138 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(0usize),
12139 ),
12140 steel_worldgen::surface_partial::PartialSurfaceRule::Opaque,
12141 steel_worldgen::surface_partial::PartialSurfaceRule::Opaque,
12142 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12143 steel_worldgen::surface_partial::PartialSurfaceCondition::AbovePreliminarySurface,
12144 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12145 &[
12146 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12147 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12148 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12149 &[
12150 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12151 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12152 0usize,
12153 ),
12154 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12155 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12156 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12157 &[
12158 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12159 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12160 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12161 1usize,
12162 ),
12163 ),
12164 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12165 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12166 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12167 1usize,
12168 ),
12169 ),
12170 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12171 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12172 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12173 1usize,
12174 ),
12175 ),
12176 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12177 &[
12178 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12179 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12180 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12181 2usize,
12182 ),
12183 ),
12184 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12185 3usize,
12186 ),
12187 ],
12188 ),
12189 ],
12190 ),
12191 ),
12192 ),
12193 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12194 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12195 1usize,
12196 ),
12197 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12198 steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12199 62i32,
12200 ),
12201 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12202 steel_worldgen::surface_partial::PartialSurfaceCondition::Not(
12203 &steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12204 63i32,
12205 ),
12206 ),
12207 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12208 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12209 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12210 4usize,
12211 ),
12212 ),
12213 ),
12214 ),
12215 ),
12216 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12217 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12218 2usize,
12219 ),
12220 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12221 steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12222 60i32,
12223 ),
12224 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12225 steel_worldgen::surface_partial::PartialSurfaceCondition::Not(
12226 &steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12227 63i32,
12228 ),
12229 ),
12230 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12231 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12232 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12233 4usize,
12234 ),
12235 ),
12236 ),
12237 ),
12238 ),
12239 ],
12240 ),
12241 ),
12242 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12243 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12244 3usize,
12245 ),
12246 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12247 &[
12248 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12249 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12250 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12251 &[
12252 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12253 steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12254 256i32,
12255 ),
12256 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12257 5usize,
12258 ),
12259 ),
12260 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12261 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12262 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12263 &[
12264 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12265 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12266 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12267 6usize,
12268 ),
12269 ),
12270 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12271 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12272 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12273 6usize,
12274 ),
12275 ),
12276 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12277 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12278 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12279 6usize,
12280 ),
12281 ),
12282 steel_worldgen::surface_partial::PartialSurfaceRule::Opaque,
12283 ],
12284 ),
12285 ),
12286 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12287 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12288 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12289 &[
12290 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12291 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12292 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12293 7usize,
12294 ),
12295 ),
12296 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12297 8usize,
12298 ),
12299 ],
12300 ),
12301 ),
12302 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12303 steel_worldgen::surface_partial::PartialSurfaceCondition::Not(
12304 &steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12305 ),
12306 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12307 5usize,
12308 ),
12309 ),
12310 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12311 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12312 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12313 9usize,
12314 ),
12315 ),
12316 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12317 &[
12318 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12319 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12320 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12321 10usize,
12322 ),
12323 ),
12324 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12325 11usize,
12326 ),
12327 ],
12328 ),
12329 ],
12330 ),
12331 ),
12332 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12333 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12334 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12335 &[
12336 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12337 steel_worldgen::surface_partial::PartialSurfaceCondition::YAtLeast(
12338 63i32,
12339 ),
12340 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12341 steel_worldgen::surface_partial::PartialSurfaceCondition::Not(
12342 &steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12343 ),
12344 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12345 5usize,
12346 ),
12347 ),
12348 ),
12349 steel_worldgen::surface_partial::PartialSurfaceRule::Opaque,
12350 ],
12351 ),
12352 ),
12353 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12354 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12355 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12356 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12357 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12358 9usize,
12359 ),
12360 ),
12361 ),
12362 ],
12363 ),
12364 ),
12365 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12366 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12367 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12368 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12369 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12370 &[
12371 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12372 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12373 4usize,
12374 ),
12375 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12376 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12377 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12378 12usize,
12379 ),
12380 ),
12381 ),
12382 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12383 &[
12384 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12385 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12386 5usize,
12387 ),
12388 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12389 &[
12390 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12391 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12392 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12393 13usize,
12394 ),
12395 ),
12396 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12397 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12398 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12399 13usize,
12400 ),
12401 ),
12402 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12403 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12404 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12405 14usize,
12406 ),
12407 ),
12408 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12409 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12410 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12411 15usize,
12412 ),
12413 ),
12414 ],
12415 ),
12416 ),
12417 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12418 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12419 6usize,
12420 ),
12421 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12422 &[
12423 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12424 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12425 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12426 10usize,
12427 ),
12428 ),
12429 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12430 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12431 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12432 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12433 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12434 16usize,
12435 ),
12436 ),
12437 ),
12438 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12439 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12440 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12441 15usize,
12442 ),
12443 ),
12444 ],
12445 ),
12446 ),
12447 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12448 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12449 7usize,
12450 ),
12451 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12452 &[
12453 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12454 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12455 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12456 10usize,
12457 ),
12458 ),
12459 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12460 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12461 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12462 15usize,
12463 ),
12464 ),
12465 ],
12466 ),
12467 ),
12468 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12469 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12470 8usize,
12471 ),
12472 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12473 &[
12474 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12475 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12476 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12477 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12478 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12479 16usize,
12480 ),
12481 ),
12482 ),
12483 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12484 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12485 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12486 15usize,
12487 ),
12488 ),
12489 ],
12490 ),
12491 ),
12492 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12493 &[
12494 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12495 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12496 9usize,
12497 ),
12498 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12499 &[
12500 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12501 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12502 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12503 17usize,
12504 ),
12505 ),
12506 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12507 10usize,
12508 ),
12509 ],
12510 ),
12511 ),
12512 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12513 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12514 10usize,
12515 ),
12516 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12517 &[
12518 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12519 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12520 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12521 &[
12522 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12523 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12524 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12525 10usize,
12526 ),
12527 ),
12528 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12529 11usize,
12530 ),
12531 ],
12532 ),
12533 ),
12534 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12535 10usize,
12536 ),
12537 ],
12538 ),
12539 ),
12540 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12541 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12542 11usize,
12543 ),
12544 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12545 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12546 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12547 10usize,
12548 ),
12549 ),
12550 ),
12551 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12552 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12553 12usize,
12554 ),
12555 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12556 &[
12557 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12558 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12559 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12560 18usize,
12561 ),
12562 ),
12563 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12564 19usize,
12565 ),
12566 ],
12567 ),
12568 ),
12569 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12570 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12571 13usize,
12572 ),
12573 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12574 &[
12575 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12576 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12577 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12578 18usize,
12579 ),
12580 ),
12581 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12582 19usize,
12583 ),
12584 ],
12585 ),
12586 ),
12587 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12588 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12589 14usize,
12590 ),
12591 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12592 10usize,
12593 ),
12594 ),
12595 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12596 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12597 15usize,
12598 ),
12599 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12600 &[
12601 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12602 &[
12603 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12604 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12605 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12606 20usize,
12607 ),
12608 ),
12609 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12610 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12611 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12612 21usize,
12613 ),
12614 ),
12615 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12616 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12617 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12618 20usize,
12619 ),
12620 ),
12621 ],
12622 ),
12623 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12624 10usize,
12625 ),
12626 ],
12627 ),
12628 ),
12629 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12630 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12631 2usize,
12632 ),
12633 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12634 22usize,
12635 ),
12636 ),
12637 ],
12638 ),
12639 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12640 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12641 16usize,
12642 ),
12643 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12644 &[
12645 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12646 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12647 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12648 10usize,
12649 ),
12650 ),
12651 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12652 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12653 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12654 1usize,
12655 ),
12656 ),
12657 ],
12658 ),
12659 ),
12660 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12661 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12662 17usize,
12663 ),
12664 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12665 &[
12666 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12667 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12668 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12669 &[
12670 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12671 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12672 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12673 10usize,
12674 ),
12675 ),
12676 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12677 11usize,
12678 ),
12679 ],
12680 ),
12681 ),
12682 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12683 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12684 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12685 10usize,
12686 ),
12687 ),
12688 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12689 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12690 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12691 &[
12692 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12693 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12694 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12695 2usize,
12696 ),
12697 ),
12698 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12699 3usize,
12700 ),
12701 ],
12702 ),
12703 ),
12704 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12705 &[
12706 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12707 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12708 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12709 10usize,
12710 ),
12711 ),
12712 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12713 11usize,
12714 ),
12715 ],
12716 ),
12717 ],
12718 ),
12719 ),
12720 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12721 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12722 18usize,
12723 ),
12724 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12725 &[
12726 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12727 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12728 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12729 1usize,
12730 ),
12731 ),
12732 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12733 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12734 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12735 23usize,
12736 ),
12737 ),
12738 ],
12739 ),
12740 ),
12741 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12742 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12743 19usize,
12744 ),
12745 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12746 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12747 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12748 15usize,
12749 ),
12750 ),
12751 ),
12752 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12753 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12754 20usize,
12755 ),
12756 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12757 24usize,
12758 ),
12759 ),
12760 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12761 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12762 21usize,
12763 ),
12764 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12765 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12766 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12767 1usize,
12768 ),
12769 ),
12770 ),
12771 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12772 &[
12773 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12774 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12775 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12776 2usize,
12777 ),
12778 ),
12779 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12780 3usize,
12781 ),
12782 ],
12783 ),
12784 ],
12785 ),
12786 ],
12787 ),
12788 ),
12789 ),
12790 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12791 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12792 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12793 &[
12794 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12795 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12796 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12797 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12798 4usize,
12799 ),
12800 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12801 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12802 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12803 4usize,
12804 ),
12805 ),
12806 ),
12807 ),
12808 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12809 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12810 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12811 &[
12812 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12813 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12814 5usize,
12815 ),
12816 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12817 &[
12818 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12819 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12820 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12821 13usize,
12822 ),
12823 ),
12824 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12825 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12826 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12827 13usize,
12828 ),
12829 ),
12830 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12831 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12832 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12833 14usize,
12834 ),
12835 ),
12836 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12837 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12838 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12839 15usize,
12840 ),
12841 ),
12842 ],
12843 ),
12844 ),
12845 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12846 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12847 6usize,
12848 ),
12849 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12850 &[
12851 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12852 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12853 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12854 10usize,
12855 ),
12856 ),
12857 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12858 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12859 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12860 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12861 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12862 16usize,
12863 ),
12864 ),
12865 ),
12866 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12867 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12868 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12869 15usize,
12870 ),
12871 ),
12872 ],
12873 ),
12874 ),
12875 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12876 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12877 7usize,
12878 ),
12879 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12880 10usize,
12881 ),
12882 ),
12883 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12884 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12885 8usize,
12886 ),
12887 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12888 &[
12889 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12890 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12891 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12892 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12893 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12894 16usize,
12895 ),
12896 ),
12897 ),
12898 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12899 3usize,
12900 ),
12901 ],
12902 ),
12903 ),
12904 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12905 &[
12906 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12907 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12908 9usize,
12909 ),
12910 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12911 &[
12912 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12913 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12914 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12915 17usize,
12916 ),
12917 ),
12918 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12919 10usize,
12920 ),
12921 ],
12922 ),
12923 ),
12924 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12925 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12926 10usize,
12927 ),
12928 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12929 &[
12930 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12931 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12932 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12933 &[
12934 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12935 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12936 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12937 10usize,
12938 ),
12939 ),
12940 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12941 11usize,
12942 ),
12943 ],
12944 ),
12945 ),
12946 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12947 10usize,
12948 ),
12949 ],
12950 ),
12951 ),
12952 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12953 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12954 11usize,
12955 ),
12956 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12957 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12958 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12959 10usize,
12960 ),
12961 ),
12962 ),
12963 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12964 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12965 12usize,
12966 ),
12967 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12968 &[
12969 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12970 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12971 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12972 18usize,
12973 ),
12974 ),
12975 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12976 19usize,
12977 ),
12978 ],
12979 ),
12980 ),
12981 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12982 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
12983 13usize,
12984 ),
12985 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
12986 &[
12987 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
12988 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
12989 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12990 18usize,
12991 ),
12992 ),
12993 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
12994 19usize,
12995 ),
12996 ],
12997 ),
12998 ),
12999 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13000 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13001 14usize,
13002 ),
13003 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13004 10usize,
13005 ),
13006 ),
13007 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13008 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13009 15usize,
13010 ),
13011 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13012 &[
13013 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13014 &[
13015 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13016 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13017 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13018 20usize,
13019 ),
13020 ),
13021 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13022 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13023 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13024 21usize,
13025 ),
13026 ),
13027 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13028 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13029 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13030 20usize,
13031 ),
13032 ),
13033 ],
13034 ),
13035 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13036 10usize,
13037 ),
13038 ],
13039 ),
13040 ),
13041 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13042 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13043 2usize,
13044 ),
13045 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13046 22usize,
13047 ),
13048 ),
13049 ],
13050 ),
13051 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13052 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13053 16usize,
13054 ),
13055 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13056 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13057 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13058 10usize,
13059 ),
13060 ),
13061 ),
13062 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13063 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13064 17usize,
13065 ),
13066 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13067 &[
13068 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13069 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13070 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13071 &[
13072 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13073 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13074 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13075 10usize,
13076 ),
13077 ),
13078 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13079 11usize,
13080 ),
13081 ],
13082 ),
13083 ),
13084 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13085 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13086 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13087 10usize,
13088 ),
13089 ),
13090 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13091 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13092 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13093 3usize,
13094 ),
13095 ),
13096 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13097 &[
13098 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13099 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13100 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13101 10usize,
13102 ),
13103 ),
13104 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13105 11usize,
13106 ),
13107 ],
13108 ),
13109 ],
13110 ),
13111 ),
13112 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13113 3usize,
13114 ),
13115 ],
13116 ),
13117 ),
13118 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13119 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13120 12usize,
13121 ),
13122 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13123 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13124 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13125 18usize,
13126 ),
13127 ),
13128 ),
13129 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13130 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13131 13usize,
13132 ),
13133 &steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13134 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13135 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13136 18usize,
13137 ),
13138 ),
13139 ),
13140 ],
13141 ),
13142 ),
13143 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13144 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13145 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13146 &[
13147 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13148 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13149 22usize,
13150 ),
13151 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13152 10usize,
13153 ),
13154 ),
13155 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13156 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13157 23usize,
13158 ),
13159 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13160 &[
13161 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13162 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13163 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13164 18usize,
13165 ),
13166 ),
13167 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13168 19usize,
13169 ),
13170 ],
13171 ),
13172 ),
13173 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13174 &[
13175 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13176 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13177 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13178 10usize,
13179 ),
13180 ),
13181 steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13182 11usize,
13183 ),
13184 ],
13185 ),
13186 ],
13187 ),
13188 ),
13189 ],
13190 ),
13191 ),
13192 steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13193 &[
13194 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13195 steel_worldgen::surface_partial::PartialSurfaceCondition::BiomeSet(
13196 15usize,
13197 ),
13198 &steel_worldgen::surface_partial::PartialSurfaceRule::Sequence(
13199 &[
13200 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13201 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13202 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13203 20usize,
13204 ),
13205 ),
13206 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13207 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13208 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13209 21usize,
13210 ),
13211 ),
13212 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13213 steel_worldgen::surface_partial::PartialSurfaceCondition::Opaque,
13214 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13215 20usize,
13216 ),
13217 ),
13218 ],
13219 ),
13220 ),
13221 steel_worldgen::surface_partial::PartialSurfaceRule::Condition(
13222 steel_worldgen::surface_partial::PartialSurfaceCondition::VerticalGradient {
13223 true_at_and_below: 0i32,
13224 false_at_and_above: 8i32,
13225 },
13226 &steel_worldgen::surface_partial::PartialSurfaceRule::Block(
13227 25usize,
13228 ),
13229 ),
13230 ],
13231 ),
13232 ],
13233 );
13234 &RULE
13235 }
13236 fn surface_rule_uses_preliminary_surface() -> bool {
13237 true
13238 }
13239 fn surface_rule_uses_surface_secondary() -> bool {
13240 true
13241 }
13242 fn surface_rule_uses_steep() -> bool {
13243 true
13244 }
13245 fn try_apply_surface_rule(
13246 ctx: &mut steel_worldgen::surface::SurfaceRuleContext<'_>,
13247 ) -> Option<steel_utils::BlockStateId> {
13248 Self::apply_surface_rule_impl(ctx)
13249 }
13250 fn material_ore_vein_value_count() -> usize {
13251 4usize
13252 }
13253 fn material_ore_vein_value_height() -> usize {
13254 114usize
13255 }
13256 fn fill_material_ore_vein_values(
13257 &self,
13258 cache: &mut Self::ColumnCache,
13259 interpolated: &[f32],
13260 x: i32,
13261 y: i32,
13262 z: i32,
13263 out: &mut [f32],
13264 ) {
13265 out[0usize] = combine_material_ore_vein_0_density(
13266 self,
13267 cache,
13268 interpolated,
13269 x,
13270 y,
13271 z,
13272 ) as f32;
13273 out[0usize + 1] = combine_material_ore_vein_0_richness(
13274 self,
13275 cache,
13276 interpolated,
13277 x,
13278 y,
13279 z,
13280 ) as f32;
13281 out[2usize] = combine_material_ore_vein_1_density(
13282 self,
13283 cache,
13284 interpolated,
13285 x,
13286 y,
13287 z,
13288 ) as f32;
13289 out[2usize + 1] = combine_material_ore_vein_1_richness(
13290 self,
13291 cache,
13292 interpolated,
13293 x,
13294 y,
13295 z,
13296 ) as f32;
13297 }
13298 fn fill_prefilled_material_ore_vein_results(
13299 &self,
13300 cache: &mut Self::ColumnCache,
13301 ore_veinifier: &steel_worldgen::noise::OreVeinifier,
13302 values: &[f32],
13303 x: i32,
13304 y: i32,
13305 z: i32,
13306 out: &mut [Option<steel_utils::BlockStateId>],
13307 ) {
13308 let ore_vein_states: &[[steel_utils::BlockStateId; 3]] = {
13309 static ORE_VEIN_STATES: std::sync::OnceLock<
13310 Box<[[steel_utils::BlockStateId; 3]]>,
13311 > = std::sync::OnceLock::new();
13312 ORE_VEIN_STATES
13313 .get_or_init(|| Box::from([
13314 [
13315 steel_registry::vanilla_blocks::COPPER_ORE.default_state(),
13316 steel_registry::vanilla_blocks::RAW_COPPER_BLOCK.default_state(),
13317 steel_registry::vanilla_blocks::GRANITE.default_state(),
13318 ],
13319 [
13320 steel_registry::vanilla_blocks::DEEPSLATE_IRON_ORE
13321 .default_state(),
13322 steel_registry::vanilla_blocks::RAW_IRON_BLOCK.default_state(),
13323 steel_registry::vanilla_blocks::TUFF.default_state(),
13324 ],
13325 ]))
13326 };
13327 if let Some(state) = ore_veinifier
13328 .try_apply_material_rule(
13329 x,
13330 y,
13331 z,
13332 values[0usize],
13333 values[0usize + 1],
13334 || {
13335 cache.ensure(x, z, self);
13336 router_material_ore_vein_0_filler_gap(
13337 self,
13338 cache,
13339 x as f64,
13340 y as f64,
13341 z as f64,
13342 ) as f32
13343 },
13344 ore_vein_states[0usize][0],
13345 ore_vein_states[0usize][1],
13346 ore_vein_states[0usize][2],
13347 0.02f32,
13348 )
13349 {
13350 out[0usize] = Some(state);
13351 }
13352 if let Some(state) = ore_veinifier
13353 .try_apply_material_rule(
13354 x,
13355 y,
13356 z,
13357 values[2usize],
13358 values[2usize + 1],
13359 || {
13360 cache.ensure(x, z, self);
13361 router_material_ore_vein_1_filler_gap(
13362 self,
13363 cache,
13364 x as f64,
13365 y as f64,
13366 z as f64,
13367 ) as f32
13368 },
13369 ore_vein_states[1usize][0],
13370 ore_vein_states[1usize][1],
13371 ore_vein_states[1usize][2],
13372 0.02f32,
13373 )
13374 {
13375 out[1usize] = Some(state);
13376 }
13377 }
13378}
13379impl OverworldNoises {
13380 #[allow(
13382 clippy::collapsible_if,
13383 clippy::needless_return,
13384 clippy::erasing_op,
13385 unused_comparisons
13386 )]
13387 fn apply_surface_rule_impl(
13388 ctx: &mut steel_worldgen::surface::SurfaceRuleContext<'_>,
13389 ) -> Option<steel_utils::BlockStateId> {
13390 if ctx
13391 .system
13392 .vertical_gradient(
13393 0usize,
13394 ctx.block_x,
13395 ctx.block_y,
13396 ctx.block_z,
13397 -64i32,
13398 -59i32,
13399 )
13400 {
13401 return Some(ctx.block_state(0usize));
13402 }
13403 if let Some(state) = ctx.ore_vein_result(0usize) {
13404 return Some(state);
13405 }
13406 if let Some(state) = ctx.ore_vein_result(1usize) {
13407 return Some(state);
13408 }
13409 if ctx.block_y >= ctx.min_surface_level {
13410 if ctx.stone_depth_above <= 1 + 0i32 {
13411 if ctx
13412 .biome_id()
13413 .is_some_and(|biome_id| {
13414 biome_id
13415 == steel_registry::RegistryEntry::id(
13416 &*steel_registry::vanilla_biomes::WOODED_BADLANDS,
13417 ) as u16
13418 })
13419 {
13420 if ctx.block_y >= 97i32 + ctx.surface_depth * 2i32 {
13421 if {
13422 let v = ctx.condition_noise(0usize);
13423 v >= -0.909f64 && v <= -0.5454f64
13424 } {
13425 return Some(ctx.block_state(1usize));
13426 }
13427 if {
13428 let v = ctx.condition_noise(0usize);
13429 v >= -0.1818f64 && v <= 0.1818f64
13430 } {
13431 return Some(ctx.block_state(1usize));
13432 }
13433 if {
13434 let v = ctx.condition_noise(0usize);
13435 v >= 0.5454f64 && v <= 0.909f64
13436 } {
13437 return Some(ctx.block_state(1usize));
13438 }
13439 if ctx.water_height == i32::MIN
13440 || ctx.block_y
13441 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13442 {
13443 return Some(ctx.block_state(2usize));
13444 }
13445 return Some(ctx.block_state(3usize));
13446 }
13447 }
13448 if ctx
13449 .biome_id()
13450 .is_some_and(|biome_id| {
13451 biome_id
13452 == steel_registry::RegistryEntry::id(
13453 &*steel_registry::vanilla_biomes::SWAMP,
13454 ) as u16
13455 })
13456 {
13457 if ctx.block_y >= 62i32 + ctx.surface_depth * 0i32 {
13458 if !(ctx.block_y >= 63i32 + ctx.surface_depth * 0i32) {
13459 if {
13460 let v = ctx.condition_noise(1usize);
13461 v >= 0f64
13462 && v
13463 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13464 } {
13465 return Some(ctx.block_state(4usize));
13466 }
13467 }
13468 }
13469 }
13470 if ctx
13471 .biome_id()
13472 .is_some_and(|biome_id| {
13473 biome_id
13474 == steel_registry::RegistryEntry::id(
13475 &*steel_registry::vanilla_biomes::MANGROVE_SWAMP,
13476 ) as u16
13477 })
13478 {
13479 if ctx.block_y >= 60i32 + ctx.surface_depth * 0i32 {
13480 if !(ctx.block_y >= 63i32 + ctx.surface_depth * 0i32) {
13481 if {
13482 let v = ctx.condition_noise(1usize);
13483 v >= 0f64
13484 && v
13485 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13486 } {
13487 return Some(ctx.block_state(4usize));
13488 }
13489 }
13490 }
13491 }
13492 }
13493 if ctx
13494 .biome_id()
13495 .is_some_and(|biome_id| {
13496 (biome_id
13497 == steel_registry::RegistryEntry::id(
13498 &*steel_registry::vanilla_biomes::BADLANDS,
13499 ) as u16
13500 || biome_id
13501 == steel_registry::RegistryEntry::id(
13502 &*steel_registry::vanilla_biomes::ERODED_BADLANDS,
13503 ) as u16
13504 || biome_id
13505 == steel_registry::RegistryEntry::id(
13506 &*steel_registry::vanilla_biomes::WOODED_BADLANDS,
13507 ) as u16)
13508 })
13509 {
13510 if ctx.stone_depth_above <= 1 + 0i32 {
13511 if ctx.block_y >= 256i32 + ctx.surface_depth * 0i32 {
13512 return Some(ctx.block_state(5usize));
13513 }
13514 if ctx.block_y + ctx.stone_depth_above
13515 >= 74i32 + ctx.surface_depth * 1i32
13516 {
13517 if {
13518 let v = ctx.condition_noise(0usize);
13519 v >= -0.909f64 && v <= -0.5454f64
13520 } {
13521 return Some(ctx.block_state(6usize));
13522 }
13523 if {
13524 let v = ctx.condition_noise(0usize);
13525 v >= -0.1818f64 && v <= 0.1818f64
13526 } {
13527 return Some(ctx.block_state(6usize));
13528 }
13529 if {
13530 let v = ctx.condition_noise(0usize);
13531 v >= 0.5454f64 && v <= 0.909f64
13532 } {
13533 return Some(ctx.block_state(6usize));
13534 }
13535 return Some(
13536 ctx.system.get_band(ctx.block_x, ctx.block_y, ctx.block_z),
13537 );
13538 }
13539 if ctx.water_height == i32::MIN
13540 || ctx.block_y
13541 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13542 {
13543 if ctx.stone_depth_below <= 1 + 0i32 {
13544 return Some(ctx.block_state(7usize));
13545 }
13546 return Some(ctx.block_state(8usize));
13547 }
13548 if !(ctx.surface_depth <= 0) {
13549 return Some(ctx.block_state(5usize));
13550 }
13551 if ctx.water_height == i32::MIN
13552 || ctx.block_y + ctx.stone_depth_above
13553 >= ctx.water_height + -6i32 + ctx.surface_depth * -1i32
13554 {
13555 return Some(ctx.block_state(9usize));
13556 }
13557 if ctx.stone_depth_below <= 1 + 0i32 {
13558 return Some(ctx.block_state(10usize));
13559 }
13560 return Some(ctx.block_state(11usize));
13561 }
13562 if ctx.block_y + ctx.stone_depth_above
13563 >= 63i32 + ctx.surface_depth * -1i32
13564 {
13565 if ctx.block_y >= 63i32 + ctx.surface_depth * 0i32 {
13566 if !(ctx.block_y + ctx.stone_depth_above
13567 >= 74i32 + ctx.surface_depth * 1i32)
13568 {
13569 return Some(ctx.block_state(5usize));
13570 }
13571 }
13572 return Some(
13573 ctx.system.get_band(ctx.block_x, ctx.block_y, ctx.block_z),
13574 );
13575 }
13576 if ctx.stone_depth_above <= 1 + 0i32 + ctx.surface_depth {
13577 if ctx.water_height == i32::MIN
13578 || ctx.block_y + ctx.stone_depth_above
13579 >= ctx.water_height + -6i32 + ctx.surface_depth * -1i32
13580 {
13581 return Some(ctx.block_state(9usize));
13582 }
13583 }
13584 }
13585 if ctx.stone_depth_above <= 1 + 0i32 {
13586 if ctx.water_height == i32::MIN
13587 || ctx.block_y >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13588 {
13589 if ctx
13590 .biome_id()
13591 .is_some_and(|biome_id| {
13592 (biome_id
13593 == steel_registry::RegistryEntry::id(
13594 &*steel_registry::vanilla_biomes::FROZEN_OCEAN,
13595 ) as u16
13596 || biome_id
13597 == steel_registry::RegistryEntry::id(
13598 &*steel_registry::vanilla_biomes::DEEP_FROZEN_OCEAN,
13599 ) as u16)
13600 })
13601 {
13602 if ctx.surface_depth <= 0 {
13603 return Some(ctx.block_state(12usize));
13604 }
13605 }
13606 if ctx
13607 .biome_id()
13608 .is_some_and(|biome_id| {
13609 biome_id
13610 == steel_registry::RegistryEntry::id(
13611 &*steel_registry::vanilla_biomes::FROZEN_PEAKS,
13612 ) as u16
13613 })
13614 {
13615 if ctx.steep {
13616 return Some(ctx.block_state(13usize));
13617 }
13618 if {
13619 let v = ctx.condition_noise(2usize);
13620 v >= 0f64 && v <= 0.2f64
13621 } {
13622 return Some(ctx.block_state(13usize));
13623 }
13624 if {
13625 let v = ctx.condition_noise(3usize);
13626 v >= 0f64 && v <= 0.025f64
13627 } {
13628 return Some(ctx.block_state(14usize));
13629 }
13630 if ctx.water_height == i32::MIN
13631 || ctx.block_y
13632 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13633 {
13634 return Some(ctx.block_state(15usize));
13635 }
13636 }
13637 if ctx
13638 .biome_id()
13639 .is_some_and(|biome_id| {
13640 biome_id
13641 == steel_registry::RegistryEntry::id(
13642 &*steel_registry::vanilla_biomes::SNOWY_SLOPES,
13643 ) as u16
13644 })
13645 {
13646 if ctx.steep {
13647 return Some(ctx.block_state(10usize));
13648 }
13649 if {
13650 let v = ctx.condition_noise(4usize);
13651 v >= 0.35f64 && v <= 0.6f64
13652 } {
13653 if ctx.water_height == i32::MIN
13654 || ctx.block_y
13655 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13656 {
13657 return Some(ctx.block_state(16usize));
13658 }
13659 }
13660 if ctx.water_height == i32::MIN
13661 || ctx.block_y
13662 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13663 {
13664 return Some(ctx.block_state(15usize));
13665 }
13666 }
13667 if ctx
13668 .biome_id()
13669 .is_some_and(|biome_id| {
13670 biome_id
13671 == steel_registry::RegistryEntry::id(
13672 &*steel_registry::vanilla_biomes::JAGGED_PEAKS,
13673 ) as u16
13674 })
13675 {
13676 if ctx.steep {
13677 return Some(ctx.block_state(10usize));
13678 }
13679 if ctx.water_height == i32::MIN
13680 || ctx.block_y
13681 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13682 {
13683 return Some(ctx.block_state(15usize));
13684 }
13685 }
13686 if ctx
13687 .biome_id()
13688 .is_some_and(|biome_id| {
13689 biome_id
13690 == steel_registry::RegistryEntry::id(
13691 &*steel_registry::vanilla_biomes::GROVE,
13692 ) as u16
13693 })
13694 {
13695 if {
13696 let v = ctx.condition_noise(4usize);
13697 v >= 0.35f64 && v <= 0.6f64
13698 } {
13699 if ctx.water_height == i32::MIN
13700 || ctx.block_y
13701 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13702 {
13703 return Some(ctx.block_state(16usize));
13704 }
13705 }
13706 if ctx.water_height == i32::MIN
13707 || ctx.block_y
13708 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13709 {
13710 return Some(ctx.block_state(15usize));
13711 }
13712 }
13713 if ctx
13714 .biome_id()
13715 .is_some_and(|biome_id| {
13716 biome_id
13717 == steel_registry::RegistryEntry::id(
13718 &*steel_registry::vanilla_biomes::STONY_PEAKS,
13719 ) as u16
13720 })
13721 {
13722 if {
13723 let v = ctx.condition_noise(5usize);
13724 v >= -0.0125f64 && v <= 0.0125f64
13725 } {
13726 return Some(ctx.block_state(17usize));
13727 }
13728 return Some(ctx.block_state(10usize));
13729 }
13730 if ctx
13731 .biome_id()
13732 .is_some_and(|biome_id| {
13733 biome_id
13734 == steel_registry::RegistryEntry::id(
13735 &*steel_registry::vanilla_biomes::STONY_SHORE,
13736 ) as u16
13737 })
13738 {
13739 if {
13740 let v = ctx.condition_noise(6usize);
13741 v >= -0.05f64 && v <= 0.05f64
13742 } {
13743 if ctx.stone_depth_below <= 1 + 0i32 {
13744 return Some(ctx.block_state(10usize));
13745 }
13746 return Some(ctx.block_state(11usize));
13747 }
13748 return Some(ctx.block_state(10usize));
13749 }
13750 if ctx
13751 .biome_id()
13752 .is_some_and(|biome_id| {
13753 biome_id
13754 == steel_registry::RegistryEntry::id(
13755 &*steel_registry::vanilla_biomes::WINDSWEPT_HILLS,
13756 ) as u16
13757 })
13758 {
13759 if {
13760 let v = ctx.condition_noise(0usize);
13761 v >= 0.12121212121212122f64
13762 && v
13763 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13764 } {
13765 return Some(ctx.block_state(10usize));
13766 }
13767 }
13768 if ctx
13769 .biome_id()
13770 .is_some_and(|biome_id| {
13771 (biome_id
13772 == steel_registry::RegistryEntry::id(
13773 &*steel_registry::vanilla_biomes::WARM_OCEAN,
13774 ) as u16
13775 || biome_id
13776 == steel_registry::RegistryEntry::id(
13777 &*steel_registry::vanilla_biomes::BEACH,
13778 ) as u16
13779 || biome_id
13780 == steel_registry::RegistryEntry::id(
13781 &*steel_registry::vanilla_biomes::SNOWY_BEACH,
13782 ) as u16)
13783 })
13784 {
13785 if ctx.stone_depth_below <= 1 + 0i32 {
13786 return Some(ctx.block_state(18usize));
13787 }
13788 return Some(ctx.block_state(19usize));
13789 }
13790 if ctx
13791 .biome_id()
13792 .is_some_and(|biome_id| {
13793 biome_id
13794 == steel_registry::RegistryEntry::id(
13795 &*steel_registry::vanilla_biomes::DESERT,
13796 ) as u16
13797 })
13798 {
13799 if ctx.stone_depth_below <= 1 + 0i32 {
13800 return Some(ctx.block_state(18usize));
13801 }
13802 return Some(ctx.block_state(19usize));
13803 }
13804 if ctx
13805 .biome_id()
13806 .is_some_and(|biome_id| {
13807 biome_id
13808 == steel_registry::RegistryEntry::id(
13809 &*steel_registry::vanilla_biomes::DRIPSTONE_CAVES,
13810 ) as u16
13811 })
13812 {
13813 return Some(ctx.block_state(10usize));
13814 }
13815 if ctx
13816 .biome_id()
13817 .is_some_and(|biome_id| {
13818 biome_id
13819 == steel_registry::RegistryEntry::id(
13820 &*steel_registry::vanilla_biomes::SULFUR_CAVES,
13821 ) as u16
13822 })
13823 {
13824 if {
13825 let v = ctx.condition_noise_3d(7usize);
13826 v >= -0.4000000059604645f64 && v <= -0.10000000149011612f64
13827 } {
13828 return Some(ctx.block_state(20usize));
13829 }
13830 if {
13831 let v = ctx.condition_noise_3d(7usize);
13832 v >= 0f64 && v <= 0.4000000059604645f64
13833 } {
13834 return Some(ctx.block_state(21usize));
13835 }
13836 if {
13837 let v = ctx.condition_noise_3d(7usize);
13838 v >= 0.4000000059604645f64
13839 && v
13840 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13841 } {
13842 return Some(ctx.block_state(20usize));
13843 }
13844 return Some(ctx.block_state(10usize));
13845 }
13846 if ctx
13847 .biome_id()
13848 .is_some_and(|biome_id| {
13849 biome_id
13850 == steel_registry::RegistryEntry::id(
13851 &*steel_registry::vanilla_biomes::MANGROVE_SWAMP,
13852 ) as u16
13853 })
13854 {
13855 return Some(ctx.block_state(22usize));
13856 }
13857 if ctx
13858 .biome_id()
13859 .is_some_and(|biome_id| {
13860 biome_id
13861 == steel_registry::RegistryEntry::id(
13862 &*steel_registry::vanilla_biomes::WINDSWEPT_SAVANNA,
13863 ) as u16
13864 })
13865 {
13866 if {
13867 let v = ctx.condition_noise(0usize);
13868 v >= 0.21212121212121213f64
13869 && v
13870 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13871 } {
13872 return Some(ctx.block_state(10usize));
13873 }
13874 if {
13875 let v = ctx.condition_noise(0usize);
13876 v >= -0.06060606060606061f64
13877 && v
13878 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13879 } {
13880 return Some(ctx.block_state(1usize));
13881 }
13882 }
13883 if ctx
13884 .biome_id()
13885 .is_some_and(|biome_id| {
13886 biome_id
13887 == steel_registry::RegistryEntry::id(
13888 &*steel_registry::vanilla_biomes::WINDSWEPT_GRAVELLY_HILLS,
13889 ) as u16
13890 })
13891 {
13892 if {
13893 let v = ctx.condition_noise(0usize);
13894 v >= 0.24242424242424243f64
13895 && v
13896 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13897 } {
13898 if ctx.stone_depth_below <= 1 + 0i32 {
13899 return Some(ctx.block_state(10usize));
13900 }
13901 return Some(ctx.block_state(11usize));
13902 }
13903 if {
13904 let v = ctx.condition_noise(0usize);
13905 v >= 0.12121212121212122f64
13906 && v
13907 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13908 } {
13909 return Some(ctx.block_state(10usize));
13910 }
13911 if {
13912 let v = ctx.condition_noise(0usize);
13913 v >= -0.12121212121212122f64
13914 && v
13915 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13916 } {
13917 if ctx.water_height == i32::MIN
13918 || ctx.block_y
13919 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13920 {
13921 return Some(ctx.block_state(2usize));
13922 }
13923 return Some(ctx.block_state(3usize));
13924 }
13925 if ctx.stone_depth_below <= 1 + 0i32 {
13926 return Some(ctx.block_state(10usize));
13927 }
13928 return Some(ctx.block_state(11usize));
13929 }
13930 if ctx
13931 .biome_id()
13932 .is_some_and(|biome_id| {
13933 (biome_id
13934 == steel_registry::RegistryEntry::id(
13935 &*steel_registry::vanilla_biomes::OLD_GROWTH_PINE_TAIGA,
13936 ) as u16
13937 || biome_id
13938 == steel_registry::RegistryEntry::id(
13939 &*steel_registry::vanilla_biomes::OLD_GROWTH_SPRUCE_TAIGA,
13940 ) as u16)
13941 })
13942 {
13943 if {
13944 let v = ctx.condition_noise(0usize);
13945 v >= 0.21212121212121213f64
13946 && v
13947 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13948 } {
13949 return Some(ctx.block_state(1usize));
13950 }
13951 if {
13952 let v = ctx.condition_noise(0usize);
13953 v >= -0.11515151515151514f64
13954 && v
13955 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
13956 } {
13957 return Some(ctx.block_state(23usize));
13958 }
13959 }
13960 if ctx
13961 .biome_id()
13962 .is_some_and(|biome_id| {
13963 biome_id
13964 == steel_registry::RegistryEntry::id(
13965 &*steel_registry::vanilla_biomes::ICE_SPIKES,
13966 ) as u16
13967 })
13968 {
13969 if ctx.water_height == i32::MIN
13970 || ctx.block_y
13971 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
13972 {
13973 return Some(ctx.block_state(15usize));
13974 }
13975 }
13976 if ctx
13977 .biome_id()
13978 .is_some_and(|biome_id| {
13979 biome_id
13980 == steel_registry::RegistryEntry::id(
13981 &*steel_registry::vanilla_biomes::MUSHROOM_FIELDS,
13982 ) as u16
13983 })
13984 {
13985 return Some(ctx.block_state(24usize));
13986 }
13987 if ctx
13988 .biome_id()
13989 .is_some_and(|biome_id| {
13990 biome_id
13991 == steel_registry::RegistryEntry::id(
13992 &*steel_registry::vanilla_biomes::DAPPLED_FOREST,
13993 ) as u16
13994 })
13995 {
13996 if {
13997 let v = ctx.condition_noise(8usize);
13998 v >= 1.2000000476837158f64
13999 && v
14000 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14001 } {
14002 return Some(ctx.block_state(1usize));
14003 }
14004 }
14005 if ctx.water_height == i32::MIN
14006 || ctx.block_y
14007 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
14008 {
14009 return Some(ctx.block_state(2usize));
14010 }
14011 return Some(ctx.block_state(3usize));
14012 }
14013 }
14014 if ctx.water_height == i32::MIN
14015 || ctx.block_y + ctx.stone_depth_above
14016 >= ctx.water_height + -6i32 + ctx.surface_depth * -1i32
14017 {
14018 if ctx.stone_depth_above <= 1 + 0i32 {
14019 if ctx
14020 .biome_id()
14021 .is_some_and(|biome_id| {
14022 (biome_id
14023 == steel_registry::RegistryEntry::id(
14024 &*steel_registry::vanilla_biomes::FROZEN_OCEAN,
14025 ) as u16
14026 || biome_id
14027 == steel_registry::RegistryEntry::id(
14028 &*steel_registry::vanilla_biomes::DEEP_FROZEN_OCEAN,
14029 ) as u16)
14030 })
14031 {
14032 if ctx.surface_depth <= 0 {
14033 return Some(ctx.block_state(4usize));
14034 }
14035 }
14036 }
14037 if ctx.stone_depth_above <= 1 + 0i32 + ctx.surface_depth {
14038 if ctx
14039 .biome_id()
14040 .is_some_and(|biome_id| {
14041 biome_id
14042 == steel_registry::RegistryEntry::id(
14043 &*steel_registry::vanilla_biomes::FROZEN_PEAKS,
14044 ) as u16
14045 })
14046 {
14047 if ctx.steep {
14048 return Some(ctx.block_state(13usize));
14049 }
14050 if {
14051 let v = ctx.condition_noise(2usize);
14052 v >= -0.5f64 && v <= 0.2f64
14053 } {
14054 return Some(ctx.block_state(13usize));
14055 }
14056 if {
14057 let v = ctx.condition_noise(3usize);
14058 v >= -0.0625f64 && v <= 0.025f64
14059 } {
14060 return Some(ctx.block_state(14usize));
14061 }
14062 if ctx.water_height == i32::MIN
14063 || ctx.block_y
14064 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
14065 {
14066 return Some(ctx.block_state(15usize));
14067 }
14068 }
14069 if ctx
14070 .biome_id()
14071 .is_some_and(|biome_id| {
14072 biome_id
14073 == steel_registry::RegistryEntry::id(
14074 &*steel_registry::vanilla_biomes::SNOWY_SLOPES,
14075 ) as u16
14076 })
14077 {
14078 if ctx.steep {
14079 return Some(ctx.block_state(10usize));
14080 }
14081 if {
14082 let v = ctx.condition_noise(4usize);
14083 v >= 0.45f64 && v <= 0.58f64
14084 } {
14085 if ctx.water_height == i32::MIN
14086 || ctx.block_y
14087 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
14088 {
14089 return Some(ctx.block_state(16usize));
14090 }
14091 }
14092 if ctx.water_height == i32::MIN
14093 || ctx.block_y
14094 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
14095 {
14096 return Some(ctx.block_state(15usize));
14097 }
14098 }
14099 if ctx
14100 .biome_id()
14101 .is_some_and(|biome_id| {
14102 biome_id
14103 == steel_registry::RegistryEntry::id(
14104 &*steel_registry::vanilla_biomes::JAGGED_PEAKS,
14105 ) as u16
14106 })
14107 {
14108 return Some(ctx.block_state(10usize));
14109 }
14110 if ctx
14111 .biome_id()
14112 .is_some_and(|biome_id| {
14113 biome_id
14114 == steel_registry::RegistryEntry::id(
14115 &*steel_registry::vanilla_biomes::GROVE,
14116 ) as u16
14117 })
14118 {
14119 if {
14120 let v = ctx.condition_noise(4usize);
14121 v >= 0.45f64 && v <= 0.58f64
14122 } {
14123 if ctx.water_height == i32::MIN
14124 || ctx.block_y
14125 >= ctx.water_height + -1i32 + ctx.surface_depth * 0i32
14126 {
14127 return Some(ctx.block_state(16usize));
14128 }
14129 }
14130 return Some(ctx.block_state(3usize));
14131 }
14132 if ctx
14133 .biome_id()
14134 .is_some_and(|biome_id| {
14135 biome_id
14136 == steel_registry::RegistryEntry::id(
14137 &*steel_registry::vanilla_biomes::STONY_PEAKS,
14138 ) as u16
14139 })
14140 {
14141 if {
14142 let v = ctx.condition_noise(5usize);
14143 v >= -0.0125f64 && v <= 0.0125f64
14144 } {
14145 return Some(ctx.block_state(17usize));
14146 }
14147 return Some(ctx.block_state(10usize));
14148 }
14149 if ctx
14150 .biome_id()
14151 .is_some_and(|biome_id| {
14152 biome_id
14153 == steel_registry::RegistryEntry::id(
14154 &*steel_registry::vanilla_biomes::STONY_SHORE,
14155 ) as u16
14156 })
14157 {
14158 if {
14159 let v = ctx.condition_noise(6usize);
14160 v >= -0.05f64 && v <= 0.05f64
14161 } {
14162 if ctx.stone_depth_below <= 1 + 0i32 {
14163 return Some(ctx.block_state(10usize));
14164 }
14165 return Some(ctx.block_state(11usize));
14166 }
14167 return Some(ctx.block_state(10usize));
14168 }
14169 if ctx
14170 .biome_id()
14171 .is_some_and(|biome_id| {
14172 biome_id
14173 == steel_registry::RegistryEntry::id(
14174 &*steel_registry::vanilla_biomes::WINDSWEPT_HILLS,
14175 ) as u16
14176 })
14177 {
14178 if {
14179 let v = ctx.condition_noise(0usize);
14180 v >= 0.12121212121212122f64
14181 && v
14182 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14183 } {
14184 return Some(ctx.block_state(10usize));
14185 }
14186 }
14187 if ctx
14188 .biome_id()
14189 .is_some_and(|biome_id| {
14190 (biome_id
14191 == steel_registry::RegistryEntry::id(
14192 &*steel_registry::vanilla_biomes::WARM_OCEAN,
14193 ) as u16
14194 || biome_id
14195 == steel_registry::RegistryEntry::id(
14196 &*steel_registry::vanilla_biomes::BEACH,
14197 ) as u16
14198 || biome_id
14199 == steel_registry::RegistryEntry::id(
14200 &*steel_registry::vanilla_biomes::SNOWY_BEACH,
14201 ) as u16)
14202 })
14203 {
14204 if ctx.stone_depth_below <= 1 + 0i32 {
14205 return Some(ctx.block_state(18usize));
14206 }
14207 return Some(ctx.block_state(19usize));
14208 }
14209 if ctx
14210 .biome_id()
14211 .is_some_and(|biome_id| {
14212 biome_id
14213 == steel_registry::RegistryEntry::id(
14214 &*steel_registry::vanilla_biomes::DESERT,
14215 ) as u16
14216 })
14217 {
14218 if ctx.stone_depth_below <= 1 + 0i32 {
14219 return Some(ctx.block_state(18usize));
14220 }
14221 return Some(ctx.block_state(19usize));
14222 }
14223 if ctx
14224 .biome_id()
14225 .is_some_and(|biome_id| {
14226 biome_id
14227 == steel_registry::RegistryEntry::id(
14228 &*steel_registry::vanilla_biomes::DRIPSTONE_CAVES,
14229 ) as u16
14230 })
14231 {
14232 return Some(ctx.block_state(10usize));
14233 }
14234 if ctx
14235 .biome_id()
14236 .is_some_and(|biome_id| {
14237 biome_id
14238 == steel_registry::RegistryEntry::id(
14239 &*steel_registry::vanilla_biomes::SULFUR_CAVES,
14240 ) as u16
14241 })
14242 {
14243 if {
14244 let v = ctx.condition_noise_3d(7usize);
14245 v >= -0.4000000059604645f64 && v <= -0.10000000149011612f64
14246 } {
14247 return Some(ctx.block_state(20usize));
14248 }
14249 if {
14250 let v = ctx.condition_noise_3d(7usize);
14251 v >= 0f64 && v <= 0.4000000059604645f64
14252 } {
14253 return Some(ctx.block_state(21usize));
14254 }
14255 if {
14256 let v = ctx.condition_noise_3d(7usize);
14257 v >= 0.4000000059604645f64
14258 && v
14259 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14260 } {
14261 return Some(ctx.block_state(20usize));
14262 }
14263 return Some(ctx.block_state(10usize));
14264 }
14265 if ctx
14266 .biome_id()
14267 .is_some_and(|biome_id| {
14268 biome_id
14269 == steel_registry::RegistryEntry::id(
14270 &*steel_registry::vanilla_biomes::MANGROVE_SWAMP,
14271 ) as u16
14272 })
14273 {
14274 return Some(ctx.block_state(22usize));
14275 }
14276 if ctx
14277 .biome_id()
14278 .is_some_and(|biome_id| {
14279 biome_id
14280 == steel_registry::RegistryEntry::id(
14281 &*steel_registry::vanilla_biomes::WINDSWEPT_SAVANNA,
14282 ) as u16
14283 })
14284 {
14285 if {
14286 let v = ctx.condition_noise(0usize);
14287 v >= 0.21212121212121213f64
14288 && v
14289 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14290 } {
14291 return Some(ctx.block_state(10usize));
14292 }
14293 }
14294 if ctx
14295 .biome_id()
14296 .is_some_and(|biome_id| {
14297 biome_id
14298 == steel_registry::RegistryEntry::id(
14299 &*steel_registry::vanilla_biomes::WINDSWEPT_GRAVELLY_HILLS,
14300 ) as u16
14301 })
14302 {
14303 if {
14304 let v = ctx.condition_noise(0usize);
14305 v >= 0.24242424242424243f64
14306 && v
14307 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14308 } {
14309 if ctx.stone_depth_below <= 1 + 0i32 {
14310 return Some(ctx.block_state(10usize));
14311 }
14312 return Some(ctx.block_state(11usize));
14313 }
14314 if {
14315 let v = ctx.condition_noise(0usize);
14316 v >= 0.12121212121212122f64
14317 && v
14318 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14319 } {
14320 return Some(ctx.block_state(10usize));
14321 }
14322 if {
14323 let v = ctx.condition_noise(0usize);
14324 v >= -0.12121212121212122f64
14325 && v
14326 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14327 } {
14328 return Some(ctx.block_state(3usize));
14329 }
14330 if ctx.stone_depth_below <= 1 + 0i32 {
14331 return Some(ctx.block_state(10usize));
14332 }
14333 return Some(ctx.block_state(11usize));
14334 }
14335 return Some(ctx.block_state(3usize));
14336 }
14337 if ctx
14338 .biome_id()
14339 .is_some_and(|biome_id| {
14340 (biome_id
14341 == steel_registry::RegistryEntry::id(
14342 &*steel_registry::vanilla_biomes::WARM_OCEAN,
14343 ) as u16
14344 || biome_id
14345 == steel_registry::RegistryEntry::id(
14346 &*steel_registry::vanilla_biomes::BEACH,
14347 ) as u16
14348 || biome_id
14349 == steel_registry::RegistryEntry::id(
14350 &*steel_registry::vanilla_biomes::SNOWY_BEACH,
14351 ) as u16)
14352 })
14353 {
14354 if {
14355 let extra = ((ctx.surface_secondary + 1.0) / 2.0 * 6i32 as f64)
14356 as i32;
14357 ctx.stone_depth_above <= 1 + 0i32 + ctx.surface_depth + extra
14358 } {
14359 return Some(ctx.block_state(18usize));
14360 }
14361 }
14362 if ctx
14363 .biome_id()
14364 .is_some_and(|biome_id| {
14365 biome_id
14366 == steel_registry::RegistryEntry::id(
14367 &*steel_registry::vanilla_biomes::DESERT,
14368 ) as u16
14369 })
14370 {
14371 if {
14372 let extra = ((ctx.surface_secondary + 1.0) / 2.0 * 30i32 as f64)
14373 as i32;
14374 ctx.stone_depth_above <= 1 + 0i32 + ctx.surface_depth + extra
14375 } {
14376 return Some(ctx.block_state(18usize));
14377 }
14378 }
14379 }
14380 if ctx.stone_depth_above <= 1 + 0i32 {
14381 if ctx
14382 .biome_id()
14383 .is_some_and(|biome_id| {
14384 (biome_id
14385 == steel_registry::RegistryEntry::id(
14386 &*steel_registry::vanilla_biomes::FROZEN_PEAKS,
14387 ) as u16
14388 || biome_id
14389 == steel_registry::RegistryEntry::id(
14390 &*steel_registry::vanilla_biomes::JAGGED_PEAKS,
14391 ) as u16)
14392 })
14393 {
14394 return Some(ctx.block_state(10usize));
14395 }
14396 if ctx
14397 .biome_id()
14398 .is_some_and(|biome_id| {
14399 (biome_id
14400 == steel_registry::RegistryEntry::id(
14401 &*steel_registry::vanilla_biomes::WARM_OCEAN,
14402 ) as u16
14403 || biome_id
14404 == steel_registry::RegistryEntry::id(
14405 &*steel_registry::vanilla_biomes::LUKEWARM_OCEAN,
14406 ) as u16
14407 || biome_id
14408 == steel_registry::RegistryEntry::id(
14409 &*steel_registry::vanilla_biomes::DEEP_LUKEWARM_OCEAN,
14410 ) as u16)
14411 })
14412 {
14413 if ctx.stone_depth_below <= 1 + 0i32 {
14414 return Some(ctx.block_state(18usize));
14415 }
14416 return Some(ctx.block_state(19usize));
14417 }
14418 if ctx.stone_depth_below <= 1 + 0i32 {
14419 return Some(ctx.block_state(10usize));
14420 }
14421 return Some(ctx.block_state(11usize));
14422 }
14423 }
14424 if ctx
14425 .biome_id()
14426 .is_some_and(|biome_id| {
14427 biome_id
14428 == steel_registry::RegistryEntry::id(
14429 &*steel_registry::vanilla_biomes::SULFUR_CAVES,
14430 ) as u16
14431 })
14432 {
14433 if {
14434 let v = ctx.condition_noise_3d(7usize);
14435 v >= -0.4000000059604645f64 && v <= -0.10000000149011612f64
14436 } {
14437 return Some(ctx.block_state(20usize));
14438 }
14439 if {
14440 let v = ctx.condition_noise_3d(7usize);
14441 v >= 0f64 && v <= 0.4000000059604645f64
14442 } {
14443 return Some(ctx.block_state(21usize));
14444 }
14445 if {
14446 let v = ctx.condition_noise_3d(7usize);
14447 v >= 0.4000000059604645f64
14448 && v
14449 <= 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64
14450 } {
14451 return Some(ctx.block_state(20usize));
14452 }
14453 }
14454 if ctx
14455 .system
14456 .vertical_gradient(1usize, ctx.block_x, ctx.block_y, ctx.block_z, 0i32, 8i32)
14457 {
14458 return Some(ctx.block_state(25usize));
14459 }
14460 None
14461 }
14462}