LeviLamina
Loading...
Searching...
No Matches
StrongholdPiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/StructurePiece.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockSource;
11class BoundingBox;
12class Random;
13class SHStartPiece;
14// clang-format on
15
17public:
18 // StrongholdPiece inner types define
19 enum class SmallDoorType : int {
20 Opening = 0,
21 WoodDoor = 1,
22 Grates = 2,
23 IronDoor = 3,
24 };
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, ::StrongholdPiece::SmallDoorType> entryDoor;
30 // NOLINTEND
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ~StrongholdPiece() /*override*/;
36 // NOLINTEND
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI ::std::unique_ptr<::StructurePiece> findAndCreatePieceFactory(
42 ::std::string const& pieceClass,
43 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
44 ::Random& random,
45 int footX,
46 int footY,
47 int footZ,
48 int direction,
49 int depth
50 );
51
52 MCAPI ::StructurePiece* generateAndAddPiece(
53 ::SHStartPiece& startPiece,
54 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
55 ::Random& random,
56 int footX,
57 int footY,
58 int footZ,
59 int direction,
60 int depth
61 );
62
63 MCAPI ::std::unique_ptr<::StructurePiece> generatePieceFromSmallDoor(
64 ::SHStartPiece& startPiece,
65 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
66 ::Random const& randomRef,
67 int footX,
68 int footY,
69 int footZ,
70 int direction,
71 int depth
72 );
73
74 MCAPI void generateSmallDoor(
75 ::BlockSource& region,
76 ::Random&,
77 ::BoundingBox const& chunkBB,
78 ::StrongholdPiece::SmallDoorType doorType,
79 int footX,
80 int footY,
81 int footZ
82 );
83
84 MCAPI ::StructurePiece* generateSmallDoorChildForward(
85 ::SHStartPiece& startPiece,
86 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
87 ::Random& random,
88 int xOff,
89 int yOff
90 );
91
92 MCAPI ::StructurePiece* generateSmallDoorChildLeft(
93 ::SHStartPiece& startPiece,
94 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
95 ::Random& random,
96 int yOff,
97 int zOff
98 );
99
100 MCAPI ::StructurePiece* generateSmallDoorChildRight(
101 ::SHStartPiece& startPiece,
102 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
103 ::Random& random,
104 int yOff,
105 int zOff
106 );
107 // NOLINTEND
108
109public:
110 // static functions
111 // NOLINTBEGIN
112 MCAPI static void forceAddPortalRoom(
113 ::StructurePiece& startPiece,
114 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
115 ::Random& random
116 );
117 // NOLINTEND
118
119public:
120 // destructor thunk
121 // NOLINTBEGIN
122 MCFOLD void $dtor();
123 // NOLINTEND
124};
Definition BlockSource.h:68
Definition BoundingBox.h:13
Definition Random.h:10
Definition SHStartPiece.h:16
Definition StrongholdPiece.h:16
Definition StructurePiece.h:18