1#![expect(
2 missing_docs,
3 reason = "task functions are named after their vanilla counterparts"
4)]
5
6use std::sync::Arc;
7
8use crate::chunk::{
9 chunk_generation_task::StaticCache2D, chunk_holder::ChunkHolder, chunk_pyramid::ChunkStep,
10};
11use crate::worldgen::{context::WorldGenContext, stages};
12
13pub struct ChunkStatusTasks;
14
15impl ChunkStatusTasks {
17 pub fn empty(
18 context: Arc<WorldGenContext>,
19 step: &ChunkStep,
20 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
21 holder: Arc<ChunkHolder>,
22 ) {
23 stages::empty::generate(context, step, cache, holder);
24 }
25
26 pub fn generate_structure_starts(
27 context: Arc<WorldGenContext>,
28 step: &ChunkStep,
29 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
30 holder: Arc<ChunkHolder>,
31 ) {
32 stages::structures::generate_starts(context, step, cache, holder);
33 }
34
35 pub fn generate_structure_references(
36 context: Arc<WorldGenContext>,
37 step: &ChunkStep,
38 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
39 holder: Arc<ChunkHolder>,
40 ) {
41 stages::structures::generate_references(context, step, cache, holder);
42 }
43
44 pub fn load_structure_starts(
45 context: Arc<WorldGenContext>,
46 step: &ChunkStep,
47 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
48 holder: Arc<ChunkHolder>,
49 ) {
50 stages::structures::load_starts(context, step, cache, holder);
51 }
52
53 pub fn generate_biomes(
54 context: Arc<WorldGenContext>,
55 step: &ChunkStep,
56 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
57 holder: Arc<ChunkHolder>,
58 ) {
59 stages::biomes::generate(context, step, cache, holder);
60 }
61
62 pub fn generate_noise(
63 context: Arc<WorldGenContext>,
64 step: &ChunkStep,
65 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
66 holder: Arc<ChunkHolder>,
67 ) {
68 stages::noise::generate(context, step, cache, holder);
69 }
70
71 pub fn generate_surface(
72 context: Arc<WorldGenContext>,
73 step: &ChunkStep,
74 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
75 holder: Arc<ChunkHolder>,
76 ) {
77 stages::surface::generate(context, step, cache, holder);
78 }
79
80 pub fn generate_carvers(
81 context: Arc<WorldGenContext>,
82 step: &ChunkStep,
83 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
84 holder: Arc<ChunkHolder>,
85 ) {
86 stages::carvers::generate(context, step, cache, holder);
87 }
88
89 pub fn generate_features(
90 context: Arc<WorldGenContext>,
91 step: &ChunkStep,
92 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
93 holder: Arc<ChunkHolder>,
94 ) {
95 stages::features::generate(context, step, cache, holder);
96 }
97
98 pub fn initialize_light(
99 context: Arc<WorldGenContext>,
100 step: &ChunkStep,
101 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
102 holder: Arc<ChunkHolder>,
103 ) {
104 stages::light::initialize(context, step, cache, holder);
105 }
106
107 pub fn light(
108 context: Arc<WorldGenContext>,
109 step: &ChunkStep,
110 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
111 holder: Arc<ChunkHolder>,
112 ) {
113 stages::light::generate(context, step, cache, holder);
114 }
115
116 pub fn load_light(
117 context: Arc<WorldGenContext>,
118 step: &ChunkStep,
119 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
120 holder: Arc<ChunkHolder>,
121 ) {
122 stages::light::load(context, step, cache, holder);
123 }
124
125 pub fn generate_spawn(
126 context: Arc<WorldGenContext>,
127 step: &ChunkStep,
128 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
129 holder: Arc<ChunkHolder>,
130 ) {
131 stages::spawn::generate(context, step, cache, holder);
132 }
133
134 pub fn full(
135 context: Arc<WorldGenContext>,
136 step: &ChunkStep,
137 cache: &Arc<StaticCache2D<Arc<ChunkHolder>>>,
138 holder: Arc<ChunkHolder>,
139 ) {
140 stages::full::generate(context, step, cache, holder);
141 }
142}