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 // vIndex: 0
36 virtual ~StrongholdPiece() /*override*/;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ::std::unique_ptr<::StructurePiece> findAndCreatePieceFactory(
43 ::std::string const& pieceClass,
44 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
45 ::Random& random,
46 int footX,
47 int footY,
48 int footZ,
49 int direction,
50 int depth
51 );
52
53 MCAPI ::StructurePiece* generateAndAddPiece(
54 ::SHStartPiece& startPiece,
55 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
56 ::Random& random,
57 int footX,
58 int footY,
59 int footZ,
60 int direction,
61 int depth
62 );
63
64 MCAPI ::std::unique_ptr<::StructurePiece> generatePieceFromSmallDoor(
65 ::SHStartPiece& startPiece,
66 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
67 ::Random const& randomRef,
68 int footX,
69 int footY,
70 int footZ,
71 int direction,
72 int depth
73 );
74
75 MCAPI void generateSmallDoor(
76 ::BlockSource& region,
77 ::Random&,
78 ::BoundingBox const& chunkBB,
79 ::StrongholdPiece::SmallDoorType doorType,
80 int footX,
81 int footY,
82 int footZ
83 );
84
85 MCAPI ::StructurePiece* generateSmallDoorChildForward(
86 ::SHStartPiece& startPiece,
87 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
88 ::Random& random,
89 int xOff,
90 int yOff
91 );
92
93 MCAPI ::StructurePiece* generateSmallDoorChildLeft(
94 ::SHStartPiece& startPiece,
95 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
96 ::Random& random,
97 int yOff,
98 int zOff
99 );
100
101 MCAPI ::StructurePiece* generateSmallDoorChildRight(
102 ::SHStartPiece& startPiece,
103 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
104 ::Random& random,
105 int yOff,
106 int zOff
107 );
108 // NOLINTEND
109
110public:
111 // static functions
112 // NOLINTBEGIN
113 MCAPI static void forceAddPortalRoom(
114 ::StructurePiece& startPiece,
115 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
116 ::Random& random
117 );
118 // NOLINTEND
119
120public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCFOLD void $dtor();
124 // NOLINTEND
125};
Definition BlockSource.h:66
Definition BoundingBox.h:13
Definition Random.h:10
Definition SHStartPiece.h:16
Definition StrongholdPiece.h:16
Definition StructurePiece.h:18