LeviLamina
Loading...
Searching...
No Matches
WoodlandMansionPieces.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/Mirror.h"
8#include "mc/util/Rotation.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 BlockPos;
15class BlockSource;
16class BoundingBox;
17class Random;
19class StructurePiece;
20// clang-format on
21
23public:
24 // WoodlandMansionPieces inner types declare
25 // clang-format off
28 class MansionGrid;
30 struct PlacementData;
32 class SimpleGrid;
35 // clang-format on
36
37 // WoodlandMansionPieces inner types define
39 public:
40 // member variables
41 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
57
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 // vIndex: 2
62 virtual ::StructurePieceType getType() const /*override*/;
63
64 // vIndex: 5
65 virtual void
66 postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
67
68 // vIndex: 13
69 virtual void _handleDataMarker(
70 ::std::string const& markerId,
71 ::BlockPos const& position,
72 ::BlockSource& region,
73 ::Random& random,
74 ::BoundingBox const& chunkBB
75 ) /*override*/;
76
77 // vIndex: 0
78 virtual ~WoodlandMansionPiece() /*override*/;
79 // NOLINTEND
80
81 public:
82 // member functions
83 // NOLINTBEGIN
85 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
86 ::std::string const& templateName,
87 ::BlockPos const& origin,
88 ::Rotation rotation
89 );
90
92 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
93 ::std::string const& templateName,
94 ::BlockPos const& origin,
95 ::Rotation rotation,
96 ::Mirror mirror
97 );
98
99 MCNAPI void _addChest(
100 ::std::string const& markerId,
101 ::BlockPos const& position,
102 ::BlockSource& region,
103 ::Random& random,
104 ::BoundingBox const& chunkBB
105 );
106
107 MCNAPI void _loadTemplate();
108 // NOLINTEND
109
110 public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCNAPI void* $ctor(
114 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
115 ::std::string const& templateName,
116 ::BlockPos const& origin,
117 ::Rotation rotation
118 );
119
120 MCNAPI void* $ctor(
121 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
122 ::std::string const& templateName,
123 ::BlockPos const& origin,
124 ::Rotation rotation,
125 ::Mirror mirror
126 );
127 // NOLINTEND
128
129 public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCNAPI void $dtor();
133 // NOLINTEND
134
135 public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCNAPI ::StructurePieceType $getType() const;
139
140 MCNAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
141
143 ::std::string const& markerId,
144 ::BlockPos const& position,
145 ::BlockSource& region,
146 ::Random& random,
147 ::BoundingBox const& chunkBB
148 );
149 // NOLINTEND
150
151 public:
152 // vftables
153 // NOLINTBEGIN
154 MCNAPI static void** $vftable();
155 // NOLINTEND
156 };
157
159 public:
160 // member variables
161 // NOLINTBEGIN
165 // NOLINTEND
166
167 public:
168 // prevent constructor by default
169 PlacementData& operator=(PlacementData const&);
172
173 public:
174 // member functions
175 // NOLINTBEGIN
177 // NOLINTEND
178
179 public:
180 // destructor thunk
181 // NOLINTBEGIN
182 MCNAPI void $dtor();
183 // NOLINTEND
184 };
185
187 public:
188 // member variables
189 // NOLINTBEGIN
196 // NOLINTEND
197
198 public:
199 // prevent constructor by default
200 MansionGrid& operator=(MansionGrid const&);
201 MansionGrid(MansionGrid const&);
202 MansionGrid();
203
204 public:
205 // member functions
206 // NOLINTBEGIN
207 MCNAPI explicit MansionGrid(::Random& random);
208
210
211 MCNAPI void
213
214 MCNAPI void
215 _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid& grid, int x, int y, uchar heading, int depth);
216
217 MCNAPI void _setupThirdFloor();
218
221 int x,
222 int y,
223 int floorNum,
224 int roomId
225 ) const;
226 // NOLINTEND
227
228 public:
229 // constructor thunks
230 // NOLINTBEGIN
231 MCNAPI void* $ctor(::Random& random);
232 // NOLINTEND
233 };
234
236 public:
237 // member variables
238 // NOLINTBEGIN
243 // NOLINTEND
244
245 public:
246 // prevent constructor by default
247 SimpleGrid& operator=(SimpleGrid const&);
248 SimpleGrid(SimpleGrid const&);
249 SimpleGrid();
250
251 public:
252 // member functions
253 // NOLINTBEGIN
254 MCNAPI void set(int x0, int y0, int x1, int y1, int value);
255 // NOLINTEND
256 };
257
259 public:
260 // virtual functions
261 // NOLINTBEGIN
262 // vIndex: 0
263 virtual ~FloorRoomCollection() = default;
264
265 // vIndex: 1
266 virtual ::std::string get1x1(::Random&) = 0;
267
268 // vIndex: 2
269 virtual ::std::string get1x1Secret(::Random&) = 0;
270
271 // vIndex: 3
272 virtual ::std::string get1x2SideEntrance(::Random&, bool) = 0;
273
274 // vIndex: 4
275 virtual ::std::string get1x2FrontEntrance(::Random&, bool) = 0;
276
277 // vIndex: 5
278 virtual ::std::string get1x2Secret(::Random&) = 0;
279
280 // vIndex: 6
281 virtual ::std::string get2x2(::Random&) = 0;
282
283 // vIndex: 7
284 virtual ::std::string get2x2Secret(::Random&) = 0;
285 // NOLINTEND
286
287 public:
288 // virtual function thunks
289 // NOLINTBEGIN
290
291 // NOLINTEND
292
293 public:
294 // vftables
295 // NOLINTBEGIN
296 MCNAPI static void** $vftable();
297 // NOLINTEND
298 };
299
301 public:
302 // member variables
303 // NOLINTBEGIN
308 // NOLINTEND
309
310 public:
311 // prevent constructor by default
312 MansionPiecePlacer& operator=(MansionPiecePlacer const&);
315
316 public:
317 // member functions
318 // NOLINTBEGIN
319 MCNAPI void _addRoom1x1(
320 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
321 ::BlockPos const& roomPos,
322 ::Rotation rotation,
323 uchar doorDir,
325 );
326
327 MCNAPI void _addRoom1x2(
328 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
329 ::BlockPos const& roomPos,
330 ::Rotation rotation,
331 uchar roomDir,
332 uchar doorDir,
334 bool isStairsRoom
335 );
336
337 MCNAPI void _addRoom2x2(
338 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
339 ::BlockPos const& roomPos,
340 ::Rotation rotation,
341 uchar roomDir,
342 uchar doorDir,
344 );
345
346 MCNAPI void _addRoom2x2Secret(
347 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
348 ::BlockPos const& roomPos,
349 ::Rotation rotation,
351 );
352
353 MCNAPI void _createRoof(
354 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
355 ::BlockPos const& roofOrigin,
356 ::Rotation rotation,
359 );
360
361 MCNAPI void _entrance(
362 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
364 );
365
367 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
369 );
370
372 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
375 uchar gridDirection,
376 int startX,
377 int startY,
378 int endX,
379 int endY
380 );
381
382 MCNAPI void _traverseTurn(
383 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
385 );
386
388 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
390 );
391
392 MCNAPI void createMansion(
393 ::BlockPos const& origin,
394 ::Rotation rotation,
395 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
397 );
398 // NOLINTEND
399 };
400
402 public:
403 // virtual functions
404 // NOLINTBEGIN
405 // vIndex: 0
406 virtual ~FirstFloorRoomCollection() /*override*/ = default;
407
408 // vIndex: 1
409 virtual ::std::string get1x1(::Random& random) /*override*/;
410
411 // vIndex: 2
412 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
413
414 // vIndex: 3
415 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
416
417 // vIndex: 4
418 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
419
420 // vIndex: 5
421 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
422
423 // vIndex: 6
424 virtual ::std::string get2x2(::Random& random) /*override*/;
425
426 // vIndex: 7
427 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
428 // NOLINTEND
429
430 public:
431 // virtual function thunks
432 // NOLINTBEGIN
433 MCNAPI ::std::string $get1x1(::Random& random);
434
435 MCNAPI ::std::string $get1x1Secret(::Random& random);
436
437 MCNAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
438
439 MCNAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
440
441 MCNAPI ::std::string $get1x2Secret(::Random& random);
442
443 MCNAPI ::std::string $get2x2(::Random& random);
444
445 MCNAPI ::std::string $get2x2Secret(::Random& random);
446 // NOLINTEND
447
448 public:
449 // vftables
450 // NOLINTBEGIN
451 MCNAPI static void** $vftable();
452 // NOLINTEND
453 };
454
456 public:
457 // virtual functions
458 // NOLINTBEGIN
459 // vIndex: 0
460 virtual ~SecondFloorRoomCollection() /*override*/ = default;
461
462 // vIndex: 1
463 virtual ::std::string get1x1(::Random& random) /*override*/;
464
465 // vIndex: 2
466 virtual ::std::string get1x1Secret(::Random& random) /*override*/;
467
468 // vIndex: 3
469 virtual ::std::string get1x2SideEntrance(::Random& random, bool isStairsRoom) /*override*/;
470
471 // vIndex: 4
472 virtual ::std::string get1x2FrontEntrance(::Random& random, bool isStairsRoom) /*override*/;
473
474 // vIndex: 5
475 virtual ::std::string get1x2Secret(::Random& random) /*override*/;
476
477 // vIndex: 6
478 virtual ::std::string get2x2(::Random& random) /*override*/;
479
480 // vIndex: 7
481 virtual ::std::string get2x2Secret(::Random& random) /*override*/;
482 // NOLINTEND
483
484 public:
485 // virtual function thunks
486 // NOLINTBEGIN
487 MCNAPI ::std::string $get1x1(::Random& random);
488
489 MCNAPI ::std::string $get1x1Secret(::Random& random);
490
491 MCNAPI ::std::string $get1x2SideEntrance(::Random& random, bool isStairsRoom);
492
493 MCNAPI ::std::string $get1x2FrontEntrance(::Random& random, bool isStairsRoom);
494
495 MCNAPI ::std::string $get1x2Secret(::Random& random);
496
497 MCNAPI ::std::string $get2x2(::Random& random);
498
499 MCNAPI ::std::string $get2x2Secret(::Random& random);
500 // NOLINTEND
501
502 public:
503 // vftables
504 // NOLINTBEGIN
505 MCNAPI static void** $vftable();
506 // NOLINTEND
507 };
508
510 public:
511 // virtual functions
512 // NOLINTBEGIN
513 // vIndex: 0
514 virtual ~ThirdFloorRoomCollection() /*override*/ = default;
515 // NOLINTEND
516
517 public:
518 // vftables
519 // NOLINTBEGIN
520 MCNAPI static void** $vftable();
521 // NOLINTEND
522 };
523
524public:
525 // static functions
526 // NOLINTBEGIN
527 MCNAPI static void generateMansion(
528 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
529 ::BlockPos const& origin,
530 ::Rotation rotation,
531 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
532 ::Random& random
533 );
534 // NOLINTEND
535};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:13
Definition Random.h:11
Definition StructureManager.h:43
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition WoodlandMansionPieces.h:401
MCAPI::std::string $get2x2(::Random &random)
MCAPI::std::string $get1x1Secret(::Random &random)
MCAPI::std::string $get1x1(::Random &random)
MCAPI::std::string $get1x2SideEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x2FrontEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
Definition WoodlandMansionPieces.h:258
Definition WoodlandMansionPieces.h:186
MCAPI MansionGrid(::Random &random)
MCAPI void * $ctor(::Random &random)
MCAPI bool _cleanEdges(::WoodlandMansionPieces::SimpleGrid &grid)
MCAPI uchar get1x2RoomDirection(::WoodlandMansionPieces::SimpleGrid const &grid, int x, int y, int floorNum, int roomId) const
MCAPI void _recursiveCorridor(::WoodlandMansionPieces::SimpleGrid &grid, int x, int y, uchar heading, int depth)
MCAPI void _identifyRooms(::WoodlandMansionPieces::SimpleGrid &fromGrid, ::WoodlandMansionPieces::SimpleGrid &roomGrid)
Definition WoodlandMansionPieces.h:300
MCAPI void _addRoom2x2(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar roomDir, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _addRoom1x1(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _entrance(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _addRoom2x2Secret(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, ::WoodlandMansionPieces::FloorRoomCollection &rooms)
MCAPI void _traverseOuterWalls(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data, ::WoodlandMansionPieces::SimpleGrid &grid, uchar gridDirection, int startX, int startY, int endX, int endY)
MCAPI void _traverseWallPiece(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _addRoom1x2(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roomPos, ::Rotation rotation, uchar roomDir, uchar doorDir, ::WoodlandMansionPieces::FloorRoomCollection &rooms, bool isStairsRoom)
MCAPI void _traverseTurn(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
MCAPI void _createRoof(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::BlockPos const &roofOrigin, ::Rotation rotation, ::WoodlandMansionPieces::SimpleGrid &grid, ::WoodlandMansionPieces::SimpleGrid *aboveGrid)
MCAPI void createMansion(::BlockPos const &origin, ::Rotation rotation, ::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::MansionGrid &mansion)
MCAPI void _traverseInnerTurn(::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::WoodlandMansionPieces::PlacementData &data)
Definition WoodlandMansionPieces.h:455
MCAPI::std::string $get1x2Secret(::Random &random)
MCAPI::std::string $get1x2FrontEntrance(::Random &random, bool isStairsRoom)
MCAPI::std::string $get1x1(::Random &random)
MCAPI::std::string $get1x1Secret(::Random &random)
MCAPI::std::string $get2x2Secret(::Random &random)
MCAPI::std::string $get2x2(::Random &random)
MCAPI::std::string $get1x2SideEntrance(::Random &random, bool isStairsRoom)
Definition WoodlandMansionPieces.h:235
MCAPI void set(int x0, int y0, int x1, int y1, int value)
Definition WoodlandMansionPieces.h:509
Definition WoodlandMansionPieces.h:38
MCAPI void $postProcessMobsAt(::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI::StructurePieceType $getType() const
MCAPI WoodlandMansionPiece(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation, ::Mirror mirror)
MCAPI void $_handleDataMarker(::std::string const &markerId, ::BlockPos const &position, ::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI WoodlandMansionPiece(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation)
MCAPI void _addChest(::std::string const &markerId, ::BlockPos const &position, ::BlockSource &region, ::Random &random, ::BoundingBox const &chunkBB)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation, ::Mirror mirror)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::std::string const &templateName, ::BlockPos const &origin, ::Rotation rotation)
Definition WoodlandMansionPieces.h:22
static MCAPI void generateMansion(::Bedrock::NotNullNonOwnerPtr<::StructureManager > structureManager, ::BlockPos const &origin, ::Rotation rotation, ::std::vector<::std::unique_ptr<::StructurePiece > > &pieces, ::Random &random)
Definition WoodlandMansionPieces.h:158
Definition Alias.h:14