LeviLamina
Loading...
Searching...
No Matches
OceanRuinPieces.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/util/Rotation.h"
8#include "mc/world/level/biome/OceanTempCategory.h"
9#include "mc/world/level/levelgen/structure/StructurePieceType.h"
10#include "mc/world/level/levelgen/structure/TemplateStructurePiece.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class BlockSource;
16class BoundingBox;
17class Random;
19class StructurePiece;
21// clang-format on
22
24public:
25 // OceanRuinPieces inner types declare
26 // clang-format off
27 class OceanRuinPiece;
28 // clang-format on
29
30 // OceanRuinPieces inner types define
32 public:
33 // member variables
34 // NOLINTBEGIN
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
47 OceanRuinPiece& operator=(OceanRuinPiece const&);
50
51 public:
52 // virtual functions
53 // NOLINTBEGIN
54 // vIndex: 2
55 virtual ::StructurePieceType getType() const /*override*/;
56
57 // vIndex: 4
58 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
59
60 // vIndex: 13
61 virtual void _handleDataMarker(
62 ::std::string const& markerId,
63 ::BlockPos const& position,
64 ::BlockSource& region,
65 ::Random& random,
66 ::BoundingBox const& chunkBB
67 ) /*override*/;
68
69 // vIndex: 0
70 virtual ~OceanRuinPiece() /*override*/;
71 // NOLINTEND
72
73 public:
74 // member functions
75 // NOLINTBEGIN
76 MCAPI OceanRuinPiece(
77 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
78 ::std::string templateName,
79 ::BlockPos const& origin,
80 ::Rotation rotation,
81 float integrity,
82 bool isLarge,
83 ::OceanTempCategory type
84 );
85
86 MCAPI int _getHeight(::BlockPos& pos, ::BlockSource& region, ::BlockPos const& corner);
87
88 MCAPI void _loadTemplate();
89 // NOLINTEND
90
91 public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor(
95 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
96 ::std::string templateName,
97 ::BlockPos const& origin,
98 ::Rotation rotation,
99 float integrity,
100 bool isLarge,
101 ::OceanTempCategory type
102 );
103 // NOLINTEND
104
105 public:
106 // destructor thunk
107 // NOLINTBEGIN
108 MCAPI void $dtor();
109 // NOLINTEND
110
111 public:
112 // virtual function thunks
113 // NOLINTBEGIN
114 MCAPI ::StructurePieceType $getType() const;
115
116 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
117
118 MCAPI void $_handleDataMarker(
119 ::std::string const& markerId,
120 ::BlockPos const& position,
121 ::BlockSource& region,
122 ::Random& random,
123 ::BoundingBox const& chunkBB
124 );
125 // NOLINTEND
126
127 public:
128 // vftables
129 // NOLINTBEGIN
130 MCAPI static void** $vftable();
131 // NOLINTEND
132 };
133
134public:
135 // static functions
136 // NOLINTBEGIN
137 MCAPI static void _addClusterRuins(
138 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
139 ::Random& random,
140 ::Rotation const& rotation,
141 ::BlockPos const& parentPos,
142 ::OceanRuinConfiguration const& configuration,
143 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces
144 );
145
146 MCAPI static void _addPiece(
147 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
148 ::BlockPos const& position,
149 ::Rotation const& rotation,
150 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
151 ::Random& random,
152 ::OceanRuinConfiguration const& configuration,
153 bool isLarge,
154 float baseIntegrity
155 );
156
157 MCAPI static ::std::vector<::BlockPos> _allPositions(::Random& random, int cornerX, int cornerY, int cornerZ);
158
159 MCAPI static void addPieces(
160 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
161 ::BlockPos const& position,
162 ::Rotation const& rotation,
163 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
164 ::Random& random,
165 ::OceanRuinConfiguration const& configuration
166 );
167 // NOLINTEND
168
169public:
170 // static variables
171 // NOLINTBEGIN
172 MCAPI static ::std::string_view& BIG_RUIN_LOOT();
173
174 MCAPI static ::std::string_view& RUIN_LOOT();
175
176 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN1_BRICK();
177
178 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN8_BRICK();
179
180 MCAPI static ::std::string_view& STRUCTURE_RUIN_2_BRICK();
181
182 MCAPI static ::std::string_view& STRUCTURE_RUIN_3_BRICK();
183
184 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsBrick();
185
186 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsCracked();
187
188 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsMossy();
189
190 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigWarmRuins();
191
192 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsBrick();
193
194 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsCracked();
195
196 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsMossy();
197
198 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> warmRuins();
199 // NOLINTEND
200};
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition BoundingBox.h:18
Definition OceanRuinPieces.h:31
Definition OceanRuinPieces.h:23
Definition Random.h:16
Definition StructureManager.h:40
Definition StructurePiece.h:18
Definition TemplateStructurePiece.h:18
Definition OceanRuinConfiguration.h:5
Definition Alias.h:14