LeviLamina
Loading...
Searching...
No Matches
OverworldGenerator2d.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/levelgen/v1/BeardKernel.h"
8#include "mc/world/level/levelgen/v1/OverworldGenerator.h"
9
10// auto generated forward declare list
11// clang-format off
12class Aquifer;
13class Biome;
14class BiomeSource;
15class Block;
16class BlockPos;
17class BlockSource;
18class BlockVolume;
20class ChunkPos;
21class Dimension;
22class LevelChunk;
23class PerlinNoise;
25class Random;
27// clang-format on
28
29class OverworldGenerator2d : public ::OverworldGenerator {
30public:
31 // OverworldGenerator2d inner types define
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> minLimitPerlinNoise;
38 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> maxLimitPerlinNoise;
39 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> mainPerlinNoise;
40 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise>> surfaceNoise;
41 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> scaleNoise;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> depthNoise;
43 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinNoise>> forestNoise;
44 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PerlinSimplexNoise>> mMaterialAdjNoise;
45 ::ll::TypedStorage<1, 1, ::BeardKernel> mBeardKernel;
46 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeSource>> mBiomeSource;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 OverworldGenerator2d();
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ::BiomeSource const& getBiomeSource() const /*override*/;
57
58 virtual ::BlockPos findSpawnPosition() const /*override*/;
59
60 virtual int getLevelGenHeight() const /*override*/;
61
62 virtual ::Util::MultidimensionalArray<float, 5, 5, 41>
63 generateDensityCellsForChunk(::ChunkPos const& chunkPos) const /*override*/;
64
65 virtual ::PerlinSimplexNoise const& getSurfaceNoise() /*override*/;
66
67 virtual ::std::unique_ptr<::PerlinSimplexNoise> const& getMaterialAdjNoise() const /*override*/;
68
69 virtual void
70 decorateWorldGenPostProcess(::Biome const& biome, ::LevelChunk& lc, ::BlockSource& source, ::Random& random) const
71 /*override*/;
72
73 virtual void _prepareHeights(
74 ::BlockVolume& box,
75 ::ChunkPos const& chunkPos,
76 ::ChunkLocalNoiseCache const& chunkLocalNoiseCache,
77 ::Aquifer* aquiferPtr,
78 ::std::function<void(::BlockPos const&, ::Block const&, int)>&& tickUpdateFn,
79 bool factorInBeardsAndShavers,
80 ::std::vector<short>* ZXheights
81 ) /*override*/;
82
83 virtual ::std::optional<::XoroshiroPositionalRandomFactory> getXoroshiroPositionalRandomFactory() const
84 /*override*/;
85
86 virtual ~OverworldGenerator2d() /*override*/;
87 // NOLINTEND
88
89public:
90 // member functions
91 // NOLINTBEGIN
92 MCAPI OverworldGenerator2d(::Dimension& dimension, uint seed, bool isLegacyWorld, ::Biome const* biomeOverride);
93
94 MCAPI ::Util::MultidimensionalArray<float, 5, 5, 41>
95 _generateDensityCellsForChunk(::ChunkPos const& chunkPos) const;
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(::Dimension& dimension, uint seed, bool isLegacyWorld, ::Biome const* biomeOverride);
102 // NOLINTEND
103
104public:
105 // destructor thunk
106 // NOLINTBEGIN
107 MCAPI void $dtor();
108 // NOLINTEND
109
110public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCFOLD ::BiomeSource const& $getBiomeSource() const;
114
115 MCAPI ::BlockPos $findSpawnPosition() const;
116
117 MCFOLD int $getLevelGenHeight() const;
118
119 MCAPI ::Util::MultidimensionalArray<float, 5, 5, 41>
120 $generateDensityCellsForChunk(::ChunkPos const& chunkPos) const;
121
122 MCAPI ::PerlinSimplexNoise const& $getSurfaceNoise();
123
124 MCAPI ::std::unique_ptr<::PerlinSimplexNoise> const& $getMaterialAdjNoise() const;
125
126 MCFOLD void
127 $decorateWorldGenPostProcess(::Biome const& biome, ::LevelChunk& lc, ::BlockSource& source, ::Random& random) const;
128
129 MCAPI void $_prepareHeights(
130 ::BlockVolume& box,
131 ::ChunkPos const& chunkPos,
132 ::ChunkLocalNoiseCache const& chunkLocalNoiseCache,
133 ::Aquifer* aquiferPtr,
134 ::std::function<void(::BlockPos const&, ::Block const&, int)>&& tickUpdateFn,
135 bool factorInBeardsAndShavers,
136 ::std::vector<short>* ZXheights
137 );
138
139 MCAPI ::std::optional<::XoroshiroPositionalRandomFactory> $getXoroshiroPositionalRandomFactory() const;
140
141
142 // NOLINTEND
143
144public:
145 // vftables
146 // NOLINTBEGIN
147 MCNAPI static void** $vftableForChunkSource();
148
150 // NOLINTEND
151};
Definition Aquifer.h:17
Definition BiomeSource.h:20
Definition Biome.h:23
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockVolume.h:13
Definition Block.h:43
Definition ChunkLocalNoiseCache.h:8
Definition ChunkPos.h:11
Definition Dimension.h:85
Definition LevelChunk.h:79
static MCAPI void ** $vftableForIPreliminarySurfaceProvider()
static MCAPI void ** $vftableForChunkSource()
Definition PerlinNoise.h:12
Definition PerlinSimplexNoise.h:13
Definition Random.h:10
Definition MultidimensionalArray.h:12
Definition XoroshiroPositionalRandomFactory.h:16