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