LeviLamina
Loading...
Searching...
No Matches
NetherFortressPiece.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 Block;
11class BlockSource;
12class BoundingBox;
13class LevelChunk;
14class NBStartPiece;
15class PieceWeight;
16class Random;
17// clang-format on
18
19class NetherFortressPiece : public ::StructurePiece {
20public:
21 // NetherFortressPiece inner types declare
22 // clang-format off
23 struct LocalRegistry;
24 // clang-format on
25
26 // NetherFortressPiece inner types define
27 struct LocalRegistry {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::Block const&> mGlowstone;
32 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrick;
33 ::ll::TypedStorage<8, 8, ::Block const&> mNetherBrickFence;
34 ::ll::TypedStorage<8, 8, ::Block const&> mNetherWart;
35 ::ll::TypedStorage<8, 8, ::Block const&> mSoulSand;
36 ::ll::TypedStorage<8, 8, ::Block const&> mAirBlock;
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
41 LocalRegistry& operator=(LocalRegistry const&);
42 LocalRegistry(LocalRegistry const&);
43 LocalRegistry();
44 };
45
46public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<8, 48, ::NetherFortressPiece::LocalRegistry const> mLocalRegistry;
50 // NOLINTEND
51
52public:
53 // prevent constructor by default
54 NetherFortressPiece();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual void addHardcodedSpawnAreas(::LevelChunk& chunk) const /*override*/;
60
61 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
62
63 virtual ~NetherFortressPiece() /*override*/;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI explicit NetherFortressPiece(int genDepth);
70
71 MCAPI ::std::unique_ptr<::NetherFortressPiece> findAndCreateBridgePieceFactory(
72 ::std::string const& pieceClass,
73 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
74 ::Random& random,
75 int footX,
76 int footY,
77 int footZ,
78 int direction,
79 int depth
80 );
81
82 MCAPI ::StructurePiece* generateAndAddPiece(
83 ::NBStartPiece& startPiece,
84 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
85 ::Random& random,
86 int footX,
87 int footY,
88 int footZ,
89 int direction,
90 int depth,
91 bool isCastle
92 );
93
94 MCAPI ::StructurePiece* generateChildForward(
95 ::NBStartPiece& startPiece,
96 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
97 ::Random& random,
98 int xOff,
99 int yOff,
100 bool isCastle
101 );
102
103 MCAPI ::StructurePiece* generateChildLeft(
104 ::NBStartPiece& startPiece,
105 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
106 ::Random& random,
107 int yOff,
108 int zOff,
109 bool isCastle
110 );
111
112 MCAPI ::StructurePiece* generateChildRight(
113 ::NBStartPiece& startPiece,
114 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
115 ::Random& random,
116 int yOff,
117 int zOff,
118 bool isCastle
119 );
120
121 MCAPI ::std::unique_ptr<::NetherFortressPiece> generatePiece(
122 ::NBStartPiece& startPiece,
123 ::std::vector<::PieceWeight>& currentPieces,
124 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
125 ::Random& random,
126 int footX,
127 int footY,
128 int footZ,
129 int direction,
130 int depth
131 );
132 // NOLINTEND
133
134public:
135 // constructor thunks
136 // NOLINTBEGIN
137 MCAPI void* $ctor(int genDepth);
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCFOLD void $dtor();
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
150
151 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
152
153
154 // NOLINTEND
155
156public:
157 // vftables
158 // NOLINTBEGIN
159 MCNAPI static void** $vftable();
160 // NOLINTEND
161};
Definition BlockSource.h:68
Definition Block.h:43
Definition BoundingBox.h:13
Definition LevelChunk.h:79
Definition NBStartPiece.h:16
static MCAPI void ** $vftable()
Definition PieceWeight.h:5
Definition Random.h:10
Definition StructurePiece.h:18
Definition NetherFortressPiece.h:27