LeviLamina
Loading...
Searching...
No Matches
CaveFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/feature/IFeature.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class BoundingBox;
12class ChunkPos;
14class Random;
15class RenderParams;
16class Vec3;
17namespace CaveFeatureUtils { struct CarverConfiguration; }
18namespace CaveFeatureUtils { struct CarvingParameters; }
19// clang-format on
20
21class CaveFeature : public ::IFeature {
22public:
23 // CaveFeature inner types declare
24 // clang-format off
25 struct CachedMetaData;
26 // clang-format on
27
28 // CaveFeature inner types define
30 public:
31 // CachedMetaData inner types declare
32 // clang-format off
34 // clang-format on
35
36 // CachedMetaData inner types define
38 public:
39 // member variables
40 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
55 };
56
57 public:
58 // member variables
59 // NOLINTBEGIN
62 // NOLINTEND
63
64 public:
65 // prevent constructor by default
66 CachedMetaData& operator=(CachedMetaData const&);
69 };
70
71public:
72 // member variables
73 // NOLINTBEGIN
96 // NOLINTEND
97
98public:
99 // prevent constructor by default
100 CaveFeature& operator=(CaveFeature const&);
101 CaveFeature(CaveFeature const&);
102
103public:
104 // virtual functions
105 // NOLINTBEGIN
106 // vIndex: 0
107 virtual ~CaveFeature() /*override*/ = default;
108
109 // vIndex: 1
110 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
111
112 // vIndex: 2
113 virtual bool isValidPlacement(::std::string const& pass) /*override*/;
114
115 // vIndex: 4
116 virtual void addRoom(
117 ::IBlockWorldGenAPI& target,
118 ::CaveFeatureUtils::CarverConfiguration const& configuration,
119 ::Random& random,
120 ::ChunkPos const& chunkPos,
121 ::Vec3 const& startPos,
122 ::RenderParams& renderParams,
123 ::CaveFeatureUtils::CarvingParameters const& carvingParameters,
124 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
125 ) const;
126
127 // vIndex: 5
128 virtual void addTunnel(
129 ::IBlockWorldGenAPI& target,
130 ::CaveFeatureUtils::CarverConfiguration const& configuration,
131 ::Random& random,
132 ::ChunkPos const& chunkPos,
133 ::Vec3 const& startPos,
134 float thickness,
135 float horizontalRotation,
136 float verticalRotation,
137 int step,
138 int dist,
139 float yScale,
140 ::RenderParams& renderParams,
141 ::CaveFeatureUtils::CarvingParameters const& carvingParameters,
142 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
143 ) const;
144
145 // vIndex: 6
146 virtual bool carveEllipsoidVolume(
147 ::IBlockWorldGenAPI& target,
148 ::CaveFeatureUtils::CarverConfiguration const& configuration,
149 ::Random& random,
150 ::ChunkPos const& chunkPos,
151 ::Vec3 const& startPos,
152 ::BoundingBox const& volume,
153 float rad,
154 float yRad,
155 ::CaveFeatureUtils::CarvingParameters const& carvingParameters
156 ) const;
157
158 // vIndex: 7
159 virtual void addFeature(
160 ::IBlockWorldGenAPI& target,
161 ::ChunkPos const& pos,
162 ::Random& random,
163 ::ChunkPos const& startChunk,
164 ::RenderParams& renderParams,
165 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
166 ) const;
167 // NOLINTEND
168
169public:
170 // member functions
171 // NOLINTBEGIN
172 MCAPI CaveFeature();
173
174 MCAPI bool carveBlock(
175 ::IBlockWorldGenAPI& target,
176 ::CaveFeatureUtils::CarverConfiguration const& configuration,
177 ::BlockPos currentBlockPos,
178 bool* hasGrass,
179 bool carved,
180 ::Vec3 const& originalStartPos,
181 int currentYIndex,
182 ::BlockPos worldPos
183 ) const;
184
185 MCAPI bool carveEllipsoid(
186 ::IBlockWorldGenAPI& target,
187 ::CaveFeatureUtils::CarverConfiguration const& configuration,
188 ::Random& random,
189 ::ChunkPos const& chunkPos,
190 ::Vec3 const& startPos,
191 float horizontalRadius,
192 float verticalRadius,
193 ::CaveFeatureUtils::CarvingParameters const& carvingParameters
194 ) const;
195
196 MCAPI bool detectWater(::IBlockWorldGenAPI& target, ::BoundingBox const& volume) const;
197 // NOLINTEND
198
199public:
200 // constructor thunks
201 // NOLINTBEGIN
202 MCAPI void* $ctor();
203 // NOLINTEND
204
205public:
206 // destructor thunk
207 // NOLINTBEGIN
208
209 // NOLINTEND
210
211public:
212 // virtual function thunks
213 // NOLINTBEGIN
214 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
215
216 MCAPI bool $isValidPlacement(::std::string const& pass);
217
218 MCAPI void $addRoom(
219 ::IBlockWorldGenAPI& target,
220 ::CaveFeatureUtils::CarverConfiguration const& configuration,
221 ::Random& random,
222 ::ChunkPos const& chunkPos,
223 ::Vec3 const& startPos,
224 ::RenderParams& renderParams,
225 ::CaveFeatureUtils::CarvingParameters const& carvingParameters,
226 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
227 ) const;
228
229 MCAPI void $addTunnel(
230 ::IBlockWorldGenAPI& target,
231 ::CaveFeatureUtils::CarverConfiguration const& configuration,
232 ::Random& random,
233 ::ChunkPos const& chunkPos,
234 ::Vec3 const& startPos,
235 float thickness,
236 float horizontalRotation,
237 float verticalRotation,
238 int step,
239 int dist,
240 float yScale,
241 ::RenderParams& renderParams,
242 ::CaveFeatureUtils::CarvingParameters const& carvingParameters,
243 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
244 ) const;
245
246 MCAPI bool $carveEllipsoidVolume(
247 ::IBlockWorldGenAPI& target,
248 ::CaveFeatureUtils::CarverConfiguration const& configuration,
249 ::Random& random,
250 ::ChunkPos const& chunkPos,
251 ::Vec3 const& startPos,
252 ::BoundingBox const& volume,
253 float rad,
254 float yRad,
255 ::CaveFeatureUtils::CarvingParameters const& carvingParameters
256 ) const;
257
258 MCAPI void $addFeature(
259 ::IBlockWorldGenAPI& target,
260 ::ChunkPos const& pos,
261 ::Random& random,
262 ::ChunkPos const& startChunk,
263 ::RenderParams& renderParams,
264 ::std::vector<::CaveFeature::CachedMetaData::CarveEllipsoidParams>& carveParamsOperations
265 ) const;
266 // NOLINTEND
267
268public:
269 // vftables
270 // NOLINTBEGIN
271 MCAPI static void** $vftable();
272 // NOLINTEND
273};
Definition BlockPos.h:18
Definition BoundingBox.h:18
Definition CaveFeature.h:21
Definition ChunkPos.h:11
Definition IBlockWorldGenAPI.h:25
Definition IFeature.h:13
Definition Random.h:16
Definition RenderParams.h:30
Definition Vec3.h:10
Definition CarverConfiguration.h:7
Definition CarvingParameters.h:7
Definition CaveFeature.h:29
Definition IFeature.h:21
Definition context.h:5
Definition Alias.h:14