LeviLamina
Loading...
Searching...
No Matches
OverworldGeneratorMultinoise.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/MultidimensionalArray.h"
7#include "mc/world/level/DividedPos2d.h"
8#include "mc/world/level/levelgen/synth/AquiferNoises.h"
9#include "mc/world/level/levelgen/synth/CavifierNoises.h"
10#include "mc/world/level/levelgen/synth/LegacyBlendedNoise.h"
11#include "mc/world/level/levelgen/synth/OverworldNoises3d.h"
12#include "mc/world/level/levelgen/synth/PerlinSimplexNoise.h"
13#include "mc/world/level/levelgen/v1/DepthBasedBlockSupplier.h"
14#include "mc/world/level/levelgen/v1/NoodleCavifierNoises.h"
15#include "mc/world/level/levelgen/v1/OreVeinifierNoises.h"
16#include "mc/world/level/levelgen/v1/OverworldGenerator.h"
17
18// auto generated forward declare list
19// clang-format off
20class Aquifer;
21class BaseGameVersion;
22class Biome;
23class BiomeRegistry;
24class BiomeSource;
25class Block;
26class BlockPos;
27class BlockSource;
28class BlockVolume;
29class Cavifier;
30class ChunkBlender;
33class ChunkPos;
34class ChunkSource;
35class Dimension;
37class Experiments;
38class LevelChunk;
39class LevelSeed64;
40class NoodleCavifier;
41class OreVeinifier;
42class Random;
45struct TerrainInfo;
46// clang-format on
47
49public:
50 // OverworldGeneratorMultinoise inner types declare
51 // clang-format off
53 struct Noises;
54 // clang-format on
55
56 // OverworldGeneratorMultinoise inner types define
58 public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<8, 8, ::Block const*> block;
62 ::ll::TypedStorage<1, 1, bool const> shouldTickUpdate;
63 // NOLINTEND
64 };
65
66 struct Noises {
67 public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<8, 120, ::LegacyBlendedNoise const> mTerrainNoise;
71 ::ll::TypedStorage<8, 896, ::CavifierNoises const> mCavifierNoises;
72 ::ll::TypedStorage<8, 248, ::AquiferNoises const> mAquiferNoises;
73 ::ll::TypedStorage<8, 224, ::NoodleCavifierNoises const> mNoodleCavifierNoises;
74 ::ll::TypedStorage<8, 248, ::OreVeinifierNoises const> mOreVeinifierNoises;
75 ::ll::TypedStorage<8, 40, ::PerlinSimplexNoise const> mBlendNoise;
76 ::ll::TypedStorage<8, 40, ::PerlinSimplexNoise const> mSurfaceNoise;
77 ::ll::TypedStorage<8, 904, ::OverworldNoises3d const> mCommonNoise;
78 ::ll::TypedStorage<8, 32, ::DepthBasedBlockSupplier const> mDeepslateSupplier;
79 // NOLINTEND
80
81 public:
82 // prevent constructor by default
83 Noises& operator=(Noises const&);
84 Noises(Noises const&);
85 Noises();
86
87 public:
88 // member functions
89 // NOLINTBEGIN
91
92 MCAPI ~Noises();
93 // NOLINTEND
94
95 public:
96 // static functions
97 // NOLINTBEGIN
98 MCAPI static ::OverworldGeneratorMultinoise::Noises
99 make(::XoroshiroPositionalRandomFactory const& randomFactory);
100 // NOLINTEND
101
102 public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::OverworldGeneratorMultinoise::Noises&&);
106 // NOLINTEND
107
108 public:
109 // destructor thunk
110 // NOLINTBEGIN
111 MCAPI void $dtor();
112 // NOLINTEND
113 };
114
115public:
116 // member variables
117 // NOLINTBEGIN
118 ::ll::TypedStorage<8, 2760, ::std::optional<::OverworldGeneratorMultinoise::Noises>> mNoises;
119 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeSource>> mBiomeSource;
120 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Cavifier>> mCavifier;
121 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise>> mMaterialAdjNoise;
122 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkBlender>> mFixedChunkBlender;
123 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ChunkBlenderFactory>> mChunkBlenderFactory;
124 // NOLINTEND
125
126public:
127 // prevent constructor by default
129
130public:
131 // virtual functions
132 // NOLINTBEGIN
133 // vIndex: 0
134 virtual ~OverworldGeneratorMultinoise() /*override*/;
135
136 // vIndex: 44
137 virtual ::BiomeSource const& getBiomeSource() const /*override*/;
138
139 // vIndex: 46
140 virtual ::BlockPos findSpawnPosition() const /*override*/;
141
142 // vIndex: 1
143 virtual ::std::optional<short> getPreliminarySurfaceLevel(::DividedPos2d<4> worldQuartPos) const /*override*/;
144
145 // vIndex: 52
146 virtual int getLevelGenHeight() const /*override*/;
147
148 // vIndex: 51
149 virtual ::Util::MultidimensionalArray<float, 5, 5, 41>
150 generateDensityCellsForChunk(::ChunkPos const& chunkPos) const /*override*/;
151
152 // vIndex: 48
153 virtual void propagateCombinedChunkSource(::ChunkSource* chunkSource) /*override*/;
154
155 // vIndex: 36
156 virtual bool chunkPosNeedsBlending(::ChunkPos const& cp) /*override*/;
157
158 // vIndex: 55
159 virtual ::ChunkLocalNoiseCache createNoiseCache(::ChunkPos chunkPos) const /*override*/;
160
161 // vIndex: 56
162 virtual ::PerlinSimplexNoise const& getSurfaceNoise() /*override*/;
163
164 // vIndex: 57
165 virtual ::std::unique_ptr<::PerlinSimplexNoise> const& getMaterialAdjNoise() const /*override*/;
166
167 // vIndex: 50
168 virtual void
169 decorateWorldGenPostProcess(::Biome const&, ::LevelChunk& lc, ::BlockSource& source, ::Random& random) const
170 /*override*/;
171
172 // vIndex: 58
173 virtual void _prepareHeights(
174 ::BlockVolume& box,
175 ::ChunkPos const& chunkPos,
176 ::ChunkLocalNoiseCache const& chunkLocalNoiseCache,
177 ::Aquifer* aquiferPtr,
178 ::std::function<void(::BlockPos const&, ::Block const&, int)>&& tickUpdateFn,
179 bool factorInBeardsAndShavers,
180 ::std::vector<short>* ZXheights
181 ) /*override*/;
182
183 // vIndex: 54
184 virtual ::std::unique_ptr<::Aquifer> tryMakeAquifer(
185 ::ChunkPos const& chunkPos,
186 ::SurfaceLevelCache const& surfaceLevelCache,
187 short minHeight,
188 short levelGenHeight,
189 short seaLevel
190 ) const /*override*/;
191
192 // vIndex: 53
193 virtual ::std::optional<::XoroshiroPositionalRandomFactory> getXoroshiroPositionalRandomFactory() const
194 /*override*/;
195 // NOLINTEND
196
197public:
198 // member functions
199 // NOLINTBEGIN
200 MCAPI OverworldGeneratorMultinoise(::Dimension& dimension, ::LevelSeed64 seed, ::Biome const* biomeOverride);
201
202 MCAPI ::Util::MultidimensionalArray<float, 5, 5, 41> _generateDensityCellsForChunk(
203 ::ChunkPos const& chunkPos,
204 ::ChunkLocalNoiseCache const& chunkLocalNoiseCache,
205 ::NoodleCavifier* noodleCavifier,
206 ::OreVeinifier* oreVeinifier
207 ) const;
208 // NOLINTEND
209
210public:
211 // static functions
212 // NOLINTBEGIN
213 MCAPI static ::TerrainInfo _attenuateOffsetAndFactor(
214 ::DividedPos2d<4> worldQuartPos,
215 ::TerrainInfo defaultTerrainInfo,
216 ::ChunkBlender const* testFixedChunkBlender,
217 ::ChunkBlenderFactory& chunkBlenderFactory
218 );
219
220 MCAPI static ::std::unique_ptr<::PerlinSimplexNoise> createMaterialAdjNoise(uint seed);
221
222 MCAPI static ::ChunkLocalNoiseCache createNoiseCache(
223 ::ChunkPos chunkPos,
224 ::OverworldNoises3d const& overworldNoises3d,
225 ::ChunkBlender const* testFixedChunkBlender,
226 ::ChunkBlenderFactory& chunkBlenderFactory
227 );
228
229 MCAPI static ::std::unique_ptr<::BiomeSource> makeBiomeSource(
230 ::XoroshiroPositionalRandomFactory const& random,
231 ::BiomeRegistry const& biomeRegistry,
232 ::Biome const* overrideBiome,
233 ::BaseGameVersion const& baseGameVersion,
234 ::Experiments const& experiments,
235 ::OverworldNoises3d const& overworldNoises,
236 ::ChunkBlenderFactory& chunkBlenderFactory,
237 ::DimensionHeightRange const& heightRange
238 );
239 // NOLINTEND
240
241public:
242 // constructor thunks
243 // NOLINTBEGIN
244 MCAPI void* $ctor(::Dimension& dimension, ::LevelSeed64 seed, ::Biome const* biomeOverride);
245 // NOLINTEND
246
247public:
248 // destructor thunk
249 // NOLINTBEGIN
250 MCAPI void $dtor();
251 // NOLINTEND
252
253public:
254 // virtual function thunks
255 // NOLINTBEGIN
256 MCAPI ::BiomeSource const& $getBiomeSource() const;
257
258 MCAPI ::BlockPos $findSpawnPosition() const;
259
260 MCAPI ::std::optional<short> $getPreliminarySurfaceLevel(::DividedPos2d<4> worldQuartPos) const;
261
262 MCFOLD int $getLevelGenHeight() const;
263
264 MCAPI ::Util::MultidimensionalArray<float, 5, 5, 41>
265 $generateDensityCellsForChunk(::ChunkPos const& chunkPos) const;
266
267 MCAPI void $propagateCombinedChunkSource(::ChunkSource* chunkSource);
268
269 MCAPI bool $chunkPosNeedsBlending(::ChunkPos const& cp);
270
271 MCAPI ::ChunkLocalNoiseCache $createNoiseCache(::ChunkPos chunkPos) const;
272
273 MCAPI ::PerlinSimplexNoise const& $getSurfaceNoise();
274
275 MCAPI ::std::unique_ptr<::PerlinSimplexNoise> const& $getMaterialAdjNoise() const;
276
277 MCAPI void
278 $decorateWorldGenPostProcess(::Biome const&, ::LevelChunk& lc, ::BlockSource& source, ::Random& random) const;
279
280 MCAPI void $_prepareHeights(
281 ::BlockVolume& box,
282 ::ChunkPos const& chunkPos,
283 ::ChunkLocalNoiseCache const& chunkLocalNoiseCache,
284 ::Aquifer* aquiferPtr,
285 ::std::function<void(::BlockPos const&, ::Block const&, int)>&& tickUpdateFn,
286 bool factorInBeardsAndShavers,
287 ::std::vector<short>* ZXheights
288 );
289
290 MCAPI ::std::unique_ptr<::Aquifer> $tryMakeAquifer(
291 ::ChunkPos const& chunkPos,
292 ::SurfaceLevelCache const& surfaceLevelCache,
293 short minHeight,
294 short levelGenHeight,
295 short seaLevel
296 ) const;
297
298 MCAPI ::std::optional<::XoroshiroPositionalRandomFactory> $getXoroshiroPositionalRandomFactory() const;
299 // NOLINTEND
300
301public:
302 // vftables
303 // NOLINTBEGIN
305
306 MCNAPI static void** $vftableForChunkSource();
307 // NOLINTEND
308};
Definition Aquifer.h:17
Definition BaseGameVersion.h:8
Definition BiomeRegistry.h:37
Definition BiomeSource.h:20
Definition Biome.h:23
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockVolume.h:13
Definition Block.h:38
Definition Cavifier.h:11
Definition ChunkBlenderFactory.h:18
Definition ChunkBlender.h:19
Definition ChunkLocalNoiseCache.h:8
Definition ChunkPos.h:11
Definition ChunkSource.h:36
Definition DimensionHeightRange.h:5
Definition Dimension.h:83
Definition DividedPos2d.h:7
Definition Experiments.h:14
Definition LevelChunk.h:78
Definition LevelSeed64.h:5
Definition NoodleCavifier.h:15
Definition OreVeinifier.h:16
Definition OverworldGeneratorMultinoise.h:48
static MCAPI void ** $vftableForChunkSource()
static MCAPI void ** $vftableForIPreliminarySurfaceProvider()
Definition OverworldGenerator.h:36
Definition PerlinSimplexNoise.h:13
Definition Random.h:10
Definition SurfaceLevelCache.h:9
Definition XoroshiroPositionalRandomFactory.h:16
STL namespace.
Definition OverworldGeneratorMultinoise.h:57
Definition OverworldGeneratorMultinoise.h:66
Definition OverworldNoises3d.h:19
Definition TerrainInfo.h:5