LeviLamina
Loading...
Searching...
No Matches
FlatWorldGenerator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/buffer_span.h"
7#include "mc/world/level/levelgen/WorldGenerator.h"
8
9// auto generated forward declare list
10// clang-format off
11class Biome;
12class BiomeArea;
13class BiomeSource;
14class Block;
15class BlockPos;
16class BlockSource;
17class BlockVolume;
19class BoundingBox;
20class ChunkPos;
21class ChunkViewSource;
22class Dimension;
25class HashedString;
26class LevelChunk;
27class Random;
28namespace Json { class Value; }
29// clang-format on
30
32public:
33 // FlatWorldGenerator inner types define
34 using LayerList = ::std::vector<::Block const*>;
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 24, ::std::vector<::Block const*>> mPrototypeBlocks;
40 ::ll::TypedStorage<8, 40, ::BlockVolume> mPrototype;
41 ::ll::TypedStorage<8, 8, ::Biome const*> mBiome;
42 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FixedBiomeSource>> mBiomeSource;
43 // NOLINTEND
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 // vIndex: 11
49 virtual void loadChunk(::LevelChunk& lc, bool forceImmediateReplacementDataLoad) /*override*/;
50
51 // vIndex: 9
52 virtual bool postProcess(::ChunkViewSource& neighborhood) /*override*/;
53
54 // vIndex: 34
55 virtual ::HashedString findStructureFeatureTypeAt(::BlockPos const& pos) /*override*/;
56
57 // vIndex: 35
58 virtual bool isStructureFeatureTypeAt(::BlockPos const& pos, ::HashedString type) const /*override*/;
59
60 // vIndex: 36
61 virtual bool findNearestStructureFeature(
62 ::HashedString feature,
63 ::BlockPos const& origin,
64 ::BlockPos& pos,
65 bool mustBeInNewChunks,
66 ::std::optional<::HashedString> biomeTag
67 ) /*override*/;
68
69 // vIndex: 38
70 virtual void prepareHeights(::BlockVolume&, ::ChunkPos const&, bool) /*override*/;
71
72 // vIndex: 39
73 virtual void
74 prepareAndComputeHeights(::BlockVolume&, ::ChunkPos const&, ::std::vector<short>&, bool, int) /*override*/;
75
76 // vIndex: 37
77 virtual void garbageCollectBlueprints(::buffer_span<::ChunkPos> activeChunks) /*override*/;
78
79 // vIndex: 40
80 virtual ::BiomeArea getBiomeArea(::BoundingBox const& area, uint scale) const /*override*/;
81
82 // vIndex: 43
83 virtual ::BlockPos findSpawnPosition() const /*override*/;
84
85 // vIndex: 41
86 virtual ::BiomeSource const& getBiomeSource() const /*override*/;
87
88 // vIndex: 42
89 virtual ::WorldGenerator::BlockVolumeDimensions getBlockVolumeDimensions() const /*override*/;
90
91 // vIndex: 46
92 virtual void
93 decorateWorldGenLoadChunk(::Biome const&, ::LevelChunk&, ::BlockVolumeTarget&, ::Random&, ::ChunkPos const&) const
94 /*override*/;
95
96 // vIndex: 47
97 virtual void decorateWorldGenPostProcess(::Biome const&, ::LevelChunk&, ::BlockSource&, ::Random&) const
98 /*override*/;
99
100 // vIndex: 0
101 virtual ~FlatWorldGenerator() /*override*/ = default;
102 // NOLINTEND
103
104public:
105 // member functions
106 // NOLINTBEGIN
107 MCAPI FlatWorldGenerator(::Dimension& dimension, uint generationOptionsJSON, ::Json::Value const&);
108
109 MCAPI void _generatePrototypeBlockValues(::FlatWorldGeneratorOptions const& layersDesc, short);
110 // NOLINTEND
111
112public:
113 // constructor thunks
114 // NOLINTBEGIN
115 MCAPI void* $ctor(::Dimension& dimension, uint generationOptionsJSON, ::Json::Value const&);
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI void $loadChunk(::LevelChunk& lc, bool forceImmediateReplacementDataLoad);
128
129 MCAPI bool $postProcess(::ChunkViewSource& neighborhood);
130
131 MCFOLD ::HashedString $findStructureFeatureTypeAt(::BlockPos const& pos);
132
133 MCAPI bool $isStructureFeatureTypeAt(::BlockPos const& pos, ::HashedString type) const;
134
135 MCAPI bool $findNearestStructureFeature(
136 ::HashedString feature,
137 ::BlockPos const& origin,
138 ::BlockPos& pos,
139 bool mustBeInNewChunks,
140 ::std::optional<::HashedString> biomeTag
141 );
142
143 MCFOLD void $prepareHeights(::BlockVolume&, ::ChunkPos const&, bool);
144
145 MCFOLD void $prepareAndComputeHeights(::BlockVolume&, ::ChunkPos const&, ::std::vector<short>&, bool, int);
146
147 MCFOLD void $garbageCollectBlueprints(::buffer_span<::ChunkPos> activeChunks);
148
149 MCAPI ::BiomeArea $getBiomeArea(::BoundingBox const& area, uint scale) const;
150
151 MCAPI ::BlockPos $findSpawnPosition() const;
152
153 MCFOLD ::BiomeSource const& $getBiomeSource() const;
154
155 MCAPI ::WorldGenerator::BlockVolumeDimensions $getBlockVolumeDimensions() const;
156
157 MCFOLD void
158 $decorateWorldGenLoadChunk(::Biome const&, ::LevelChunk&, ::BlockVolumeTarget&, ::Random&, ::ChunkPos const&) const;
159
160 MCFOLD void $decorateWorldGenPostProcess(::Biome const&, ::LevelChunk&, ::BlockSource&, ::Random&) const;
161 // NOLINTEND
162
163public:
164 // vftables
165 // NOLINTBEGIN
166 MCAPI static void** $vftableForIPreliminarySurfaceProvider();
167
168 MCAPI static void** $vftableForChunkSource();
169 // NOLINTEND
170};
Definition BiomeArea.h:11
Definition BiomeSource.h:16
Definition Biome.h:27
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BlockVolumeTarget.h:24
Definition BlockVolume.h:11
Definition Block.h:36
Definition BoundingBox.h:18
Definition ChunkPos.h:11
Definition ChunkViewSource.h:22
Definition Dimension.h:83
Definition FixedBiomeSource.h:19
Definition FlatWorldGeneratorOptions.h:15
Definition FlatWorldGenerator.h:31
Definition HashedString.h:5
Definition Value.h:16
Definition LevelChunk.h:73
Definition Random.h:16
Definition WorldGenerator.h:30
Definition buffer_span.h:6