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 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI explicit NetherFortressPiece(int genDepth);
68
69 MCAPI ::std::unique_ptr<::NetherFortressPiece> findAndCreateBridgePieceFactory(
70 ::std::string const& pieceClass,
71 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
72 ::Random& random,
73 int footX,
74 int footY,
75 int footZ,
76 int direction,
77 int depth
78 );
79
80 MCAPI ::StructurePiece* generateAndAddPiece(
81 ::NBStartPiece& startPiece,
82 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
83 ::Random& random,
84 int footX,
85 int footY,
86 int footZ,
87 int direction,
88 int depth,
89 bool isCastle
90 );
91
92 MCAPI ::StructurePiece* generateChildForward(
93 ::NBStartPiece& startPiece,
94 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
95 ::Random& random,
96 int xOff,
97 int yOff,
98 bool isCastle
99 );
100
101 MCAPI ::StructurePiece* generateChildRight(
102 ::NBStartPiece& startPiece,
103 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
104 ::Random& random,
105 int yOff,
106 int zOff,
107 bool isCastle
108 );
109
110 MCAPI ::std::unique_ptr<::NetherFortressPiece> generatePiece(
111 ::NBStartPiece& startPiece,
112 ::std::vector<::PieceWeight>& currentPieces,
113 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
114 ::Random& random,
115 int footX,
116 int footY,
117 int footZ,
118 int direction,
119 int depth
120 );
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor(int genDepth);
127 // NOLINTEND
128
129public:
130 // virtual function thunks
131 // NOLINTBEGIN
132 MCAPI void $addHardcodedSpawnAreas(::LevelChunk& chunk) const;
133
134 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
135
136
137 // NOLINTEND
138
139public:
140 // vftables
141 // NOLINTBEGIN
142 MCNAPI static void** $vftable();
143 // NOLINTEND
144};
Definition BlockSource.h:73
Definition Block.h:69
Definition BoundingBox.h:13
Definition LevelChunk.h:87
Definition NBStartPiece.h:16
static MCAPI void ** $vftable()
Definition PieceWeight.h:5
Definition Random.h:10
Definition StructurePiece.h:21
Definition NetherFortressPiece.h:27