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