LeviLamina
Loading...
Searching...
No Matches
MonumentBuilding.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/OceanMonumentPiece.h"
7#include "mc/world/level/levelgen/structure/StructurePieceType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockSource;
12class BoundingBox;
13class Random;
14class RoomDefinition;
15// clang-format on
16
17class MonumentBuilding : public ::OceanMonumentPiece {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::OceanMonumentPiece>>> mChildPieces;
22 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::RoomDefinition>>> mRoomGrid;
23 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RoomDefinition>> mSourceRoom;
24 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::RoomDefinition>> mCoreRoom;
25 // NOLINTEND
26
27public:
28 // prevent constructor by default
29 MonumentBuilding();
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual ::StructurePieceType getType() const /*override*/;
35
36 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
37
38 virtual void postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
39
40 virtual ~MonumentBuilding() /*override*/;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI MonumentBuilding(::Random& random, short seaLevel, int west, int north, int& orientation);
47
48 MCAPI void generateEntranceArchs(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
49
50 MCAPI void generateEntranceWall(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
51
52 MCAPI void generateLowerWall(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
53
54 MCAPI void generateMiddleWall(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
55
56 MCAPI void generateRoofPiece(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
57
58 MCAPI ::std::vector<::std::shared_ptr<::RoomDefinition>> generateRoomGraph(::Random& random);
59
60 MCAPI void generateUpperWall(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
61
62 MCAPI void
63 generateWing(bool isFlipped, int xoff, ::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
64 // NOLINTEND
65
66public:
67 // constructor thunks
68 // NOLINTBEGIN
69 MCAPI void* $ctor(::Random& random, short seaLevel, int west, int north, int& orientation);
70 // NOLINTEND
71
72public:
73 // destructor thunk
74 // NOLINTBEGIN
75 MCAPI void $dtor();
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCAPI ::StructurePieceType $getType() const;
82
83 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
84
85 MCAPI void $postProcessMobsAt(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
86
87
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95};
Definition BlockSource.h:68
Definition BoundingBox.h:13
static MCAPI void ** $vftable()
Definition Random.h:10
Definition RoomDefinition.h:5