LeviLamina
Loading...
Searching...
No Matches
EndCityPieces.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/util/Rotation.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/levelgen/structure/StructurePieceType.h"
10#include "mc/world/level/levelgen/structure/TemplateStructurePiece.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockSource;
15class BoundingBox;
16class Random;
18class StructurePiece;
19// clang-format on
20
22public:
23 // EndCityPieces inner types declare
24 // clang-format off
25 class EndCityPiece;
28 class SectionGenerator;
30 class TowerGenerator;
31 // clang-format on
32
33 // EndCityPieces inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mStructureManager;
39 ::ll::TypedStorage<8, 32, ::std::string> mTemplateName;
40 ::ll::TypedStorage<1, 1, ::Rotation> mRotation;
41 ::ll::TypedStorage<1, 1, bool> mOverwrite;
42 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mMobPositions;
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
48
49 public:
50 // virtual functions
51 // NOLINTBEGIN
52 // vIndex: 2
53 virtual ::StructurePieceType getType() const /*override*/;
54
55 // vIndex: 5
56 virtual void
57 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
58
59 // vIndex: 13
60 virtual void _handleDataMarker(
61 ::std::string const& markerId,
62 ::BlockPos const& position,
63 ::BlockSource& region,
64 ::Random& random,
65 ::BoundingBox const& chunkBB
66 ) /*override*/;
67
68 // vIndex: 0
69 virtual ~EndCityPiece() /*override*/;
70 // NOLINTEND
71
72 public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI EndCityPiece(
76 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
77 ::std::string templateName,
78 ::BlockPos const& origin,
79 ::Rotation rotation,
80 bool overwrite
81 );
82
83 MCAPI void _loadAndSetup(::BlockPos const& position);
84 // NOLINTEND
85
86 public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCAPI void* $ctor(
90 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
91 ::std::string templateName,
92 ::BlockPos const& origin,
93 ::Rotation rotation,
94 bool overwrite
95 );
96 // NOLINTEND
97
98 public:
99 // destructor thunk
100 // NOLINTBEGIN
101 MCAPI void $dtor();
102 // NOLINTEND
103
104 public:
105 // virtual function thunks
106 // NOLINTBEGIN
107 MCAPI ::StructurePieceType $getType() const;
108
109 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
110
111 MCAPI void $_handleDataMarker(
112 ::std::string const& markerId,
113 ::BlockPos const& position,
114 ::BlockSource& region,
115 ::Random& random,
116 ::BoundingBox const& chunkBB
117 );
118 // NOLINTEND
119
120 public:
121 // vftables
122 // NOLINTBEGIN
123 MCNAPI static void** $vftable();
124 // NOLINTEND
125 };
126
128 public:
129 // virtual functions
130 // NOLINTBEGIN
131 // vIndex: 0
132 virtual bool generate(
133 ::Bedrock::NotNullNonOwnerPtr<::StructureManager>,
134 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const&,
135 int,
137 ::BlockPos const&,
138 ::std::vector<::std::unique_ptr<::StructurePiece>>&,
139 ::Random&
140 ) = 0;
141
142 // vIndex: 1
143 virtual ~SectionGenerator() = default;
144 // NOLINTEND
145
146 public:
147 // virtual function thunks
148 // NOLINTBEGIN
149
150 // NOLINTEND
151
152 public:
153 // vftables
154 // NOLINTBEGIN
155 MCNAPI static void** $vftable();
156 // NOLINTEND
157 };
158
159 using Generators = ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>>;
160
161 enum class SectionType : ushort {
162 SectionTower = 0,
163 SectionFatTower = 1,
164 SectionBridge = 2,
165 SectionHouse = 3,
166 };
167
169 public:
170 // virtual functions
171 // NOLINTBEGIN
172 // vIndex: 0
173 virtual bool generate(
174 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
175 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
176 int genDepth,
178 ::BlockPos const& offset,
179 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
180 ::Random& random
181 ) /*override*/;
182
183 // vIndex: 1
184 virtual ~TowerGenerator() /*override*/ = default;
185 // NOLINTEND
186
187 public:
188 // virtual function thunks
189 // NOLINTBEGIN
190 MCAPI bool $generate(
191 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
192 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
193 int genDepth,
195 ::BlockPos const& offset,
196 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
197 ::Random& random
198 );
199 // NOLINTEND
200
201 public:
202 // vftables
203 // NOLINTBEGIN
204 MCNAPI static void** $vftable();
205 // NOLINTEND
206 };
207
209 public:
210 // virtual functions
211 // NOLINTBEGIN
212 // vIndex: 0
213 virtual bool generate(
214 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
215 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
216 int genDepth,
218 ::BlockPos const& offset,
219 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
220 ::Random& random
221 ) /*override*/;
222
223 // vIndex: 1
224 virtual ~FatTowerGenerator() /*override*/ = default;
225 // NOLINTEND
226
227 public:
228 // virtual function thunks
229 // NOLINTBEGIN
230 MCAPI bool $generate(
231 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
232 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
233 int genDepth,
235 ::BlockPos const& offset,
236 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
237 ::Random& random
238 );
239 // NOLINTEND
240
241 public:
242 // vftables
243 // NOLINTBEGIN
244 MCNAPI static void** $vftable();
245 // NOLINTEND
246 };
247
249 public:
250 // member variables
251 // NOLINTBEGIN
252 ::ll::TypedStorage<1, 1, bool> mShipCreated;
253 // NOLINTEND
254
255 public:
256 // virtual functions
257 // NOLINTBEGIN
258 // vIndex: 0
259 virtual bool generate(
260 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
261 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
262 int genDepth,
264 ::BlockPos const& offset,
265 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
266 ::Random& random
267 ) /*override*/;
268
269 // vIndex: 1
270 virtual ~TowerBridgeGenerator() /*override*/ = default;
271 // NOLINTEND
272
273 public:
274 // virtual function thunks
275 // NOLINTBEGIN
276 MCAPI bool $generate(
277 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
278 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
279 int genDepth,
281 ::BlockPos const& offset,
282 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
283 ::Random& random
284 );
285 // NOLINTEND
286
287 public:
288 // vftables
289 // NOLINTBEGIN
290 MCNAPI static void** $vftable();
291 // NOLINTEND
292 };
293
295 public:
296 // virtual functions
297 // NOLINTBEGIN
298 // vIndex: 0
299 virtual bool generate(
300 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
301 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
302 int genDepth,
304 ::BlockPos const& offset,
305 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
306 ::Random& random
307 ) /*override*/;
308
309 // vIndex: 1
310 virtual ~HouseTowerGenerator() /*override*/ = default;
311 // NOLINTEND
312
313 public:
314 // virtual function thunks
315 // NOLINTBEGIN
316 MCAPI bool $generate(
317 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
318 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
319 int genDepth,
321 ::BlockPos const& offset,
322 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
323 ::Random& random
324 );
325 // NOLINTEND
326
327 public:
328 // vftables
329 // NOLINTBEGIN
330 MCNAPI static void** $vftable();
331 // NOLINTEND
332 };
333
334public:
335 // static functions
336 // NOLINTBEGIN
337 MCAPI static ::EndCityPieces::EndCityPiece* _addHelper(
338 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
339 ::std::unique_ptr<::EndCityPieces::EndCityPiece> piece
340 );
341
342 MCAPI static ::std::unique_ptr<::EndCityPieces::EndCityPiece> _createPiece(
343 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
345 ::BlockPos const& offset,
346 ::std::string const& templateName,
347 ::Rotation rotation,
348 bool overwrite
349 );
350
351 MCAPI static bool _recursiveChildren(
352 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
353 ::std::vector<::std::unique_ptr<::EndCityPieces::SectionGenerator>> const& generators,
354 ::EndCityPieces::SectionType type,
355 int newGenDepth,
357 ::BlockPos const& offset,
358 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
359 ::Random& random
360 );
361
362 MCAPI static void startHouseTower(
363 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
364 ::BlockPos const& origin,
365 ::Rotation rotation,
366 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
367 ::Random& random
368 );
369 // NOLINTEND
370};
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BoundingBox.h:13
Definition EndCityPieces.h:34
static MCAPI void ** $vftable()
Definition EndCityPieces.h:208
static MCAPI void ** $vftable()
Definition EndCityPieces.h:294
static MCAPI void ** $vftable()
Definition EndCityPieces.h:127
static MCAPI void ** $vftable()
Definition EndCityPieces.h:248
static MCAPI void ** $vftable()
Definition EndCityPieces.h:168
static MCAPI void ** $vftable()
Definition EndCityPieces.h:21
Definition Random.h:10
Definition StructureManager.h:43
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18