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&
69 ) /*override*/;
70 // NOLINTEND
71
72 public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI OceanRuinPiece(
76 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
77 ::std::string templateName,
78 ::BlockPos const& origin,
79 ::Rotation rotation,
80 float integrity,
81 bool isLarge,
82 ::OceanTempCategory type
83 );
84
85 MCAPI int _getHeight(::BlockPos& pos, ::BlockSource& region, ::BlockPos const& corner);
86
87 MCAPI void _loadTemplate();
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 // virtual function thunks
108 // NOLINTBEGIN
109 MCAPI ::StructurePieceType $getType() const;
110
111 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
112
113 MCAPI void $_handleDataMarker(
114 ::std::string const& markerId,
115 ::BlockPos const& position,
116 ::BlockSource& region,
117 ::Random& random,
118 ::BoundingBox const&
119 );
120
121
122 // NOLINTEND
123
124 public:
125 // vftables
126 // NOLINTBEGIN
127 MCNAPI static void** $vftable();
128 // NOLINTEND
129 };
130
131public:
132 // static functions
133 // NOLINTBEGIN
134 MCAPI static void _addClusterRuins(
135 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
136 ::Random& random,
137 ::Rotation const& rotation,
138 ::BlockPos const& parentPos,
139 ::OceanRuinConfiguration const& configuration,
140 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces
141 );
142
143 MCAPI static void _addPiece(
144 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
145 ::BlockPos const& position,
146 ::Rotation const& rotation,
147 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
148 ::Random& random,
149 ::OceanRuinConfiguration const& configuration,
150 bool isLarge,
151 float baseIntegrity
152 );
153
154 MCAPI static ::std::vector<::BlockPos> _allPositions(::Random& random, int cornerX, int cornerY, int cornerZ);
155
156 MCAPI static void addPieces(
157 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
158 ::BlockPos const& position,
159 ::Rotation const& rotation,
160 ::std::vector<::std::unique_ptr<::StructurePiece>>& pieces,
161 ::Random& random,
162 ::OceanRuinConfiguration const& configuration
163 );
164 // NOLINTEND
165
166public:
167 // static variables
168 // NOLINTBEGIN
169 MCAPI static ::std::string_view& BIG_RUIN_LOOT();
170
171 MCAPI static ::std::string_view& RUIN_LOOT();
172
173 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN1_BRICK();
174
175 MCAPI static ::std::string_view& STRUCTURE_BIG_RUIN8_BRICK();
176
177 MCAPI static ::std::string_view& STRUCTURE_RUIN_2_BRICK();
178
179 MCAPI static ::std::string_view& STRUCTURE_RUIN_3_BRICK();
180
181 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsBrick();
182
183 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsCracked();
184
185 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigRuinsMossy();
186
187 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> bigWarmRuins();
188
189 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsBrick();
190
191 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsCracked();
192
193 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> ruinsMossy();
194
195 MCAPI static ::std::add_lvalue_reference_t<::std::string_view[]> warmRuins();
196 // NOLINTEND
197};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition BoundingBox.h:13
Definition OceanRuinPieces.h:33
static MCAPI void ** $vftable()
Definition OceanRuinPieces.h:25
Definition Random.h:10
Definition StructureManager.h:46
Definition StructurePiece.h:21
Definition StructurePoolBlockRule.h:16
Definition OceanRuinConfiguration.h:8