44 using StructureProcessorPtr = ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>;
46 using StructureProcessorList =
47 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
57 virtual ::std::vector<::JigsawBlockInfo>
const& getJigsawMarkers()
const = 0;
60 virtual ::BlockPos getSize(::Rotation)
const = 0;
63 virtual bool isLegacyStructure()
const = 0;
81 MCAPI
static void** $vftable();
103 virtual ::std::vector<::JigsawBlockInfo>
const& getJigsawMarkers()
const ;
106 virtual ::BlockPos getSize(::Rotation rotation)
const ;
109 virtual bool isLegacyStructure()
const ;
119 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
120 ::std::string
const& location,
121 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
128 MCAPI static ::std::vector<::JigsawBlockInfo> _findJigsawBlocks(
129 ::std::vector<::JigsawStructureBlockInfo>& jigsawMarkers,
130 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
138 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
139 ::std::string
const& location,
140 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
153 MCFOLD ::std::vector<::JigsawBlockInfo>
const& $getJigsawMarkers()
const;
155 MCAPI ::BlockPos $getSize(::Rotation rotation)
const;
157 MCAPI
bool $isLegacyStructure()
const;
163 MCAPI
static void** $vftable();
170 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SharedTypes::v1_21_50::JigsawStructureMetadata>> mMetadata;
171 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMetadataMutex;
172 ::ll::TypedStorage<8, 8, ::std::once_flag> mTemplateOnceFlag;
173 ::ll::TypedStorage<8, 56, ::std::optional<::StructurePoolElement::LazyTemplate>> mTemplate;
174 ::ll::TypedStorage<8, 8, uint64> mMetadataKey;
175 ::ll::TypedStorage<8, 32, ::std::string> mLocation;
176 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mManager;
177 ::ll::TypedStorage<8, 32, ::StructurePoolElementSettings> mSettings;
181 ::gsl::not_null<::std::shared_ptr<
182 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>>
184 ::ll::TypedStorage<1, 1, bool> mValid;
191 virtual ::BlockPos getSize(::Rotation rotation)
const;
194 virtual ::std::vector<::JigsawBlockInfo> getJigsawMarkers(
::BlockPos position, ::Rotation rotation)
const;
197 virtual ::std::vector<::JigsawBlockInfo>
201 virtual ::BoundingBox getBoundingBox(
::BlockPos position, ::Rotation rotation)
const;
204 virtual void setProjection(::Projection projection);
207 virtual ::Projection getProjection()
const;
210 virtual ::PostProcessSettings getPostProcessSettings()
const;
219 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
231 ::br::worldgen::JigsawReplacement jigsaw
246 virtual void handleDataMarker(
249 ::std::string markerData,
250 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
254 virtual bool isValid()
const;
260 virtual ::StructurePoolElementType type()
const;
267 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
268 ::std::string
const& location,
273 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
274 ::std::string
const& location,
275 ::gsl::not_null<::std::shared_ptr<
276 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
278 ::Projection projection
282 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
283 ::std::string
const& location,
284 ::Projection projection,
285 ::PostProcessSettings postProcessSettings
289 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
290 ::std::string
const& location,
291 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
292 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
293 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules,
294 ::Projection projection,
295 ::PostProcessSettings postProcessSettings
298 MCAPI ::std::unique_ptr<::SharedTypes::v1_21_50::JigsawStructureMetadata> _createMetadata()
const;
300 MCAPI ::SharedTypes::v1_21_50::JigsawStructureMetadata
const& _getMetadata()
const;
302 MCAPI uint64 _getMetadataKey()
const;
304 MCAPI ::StructurePoolElement::LazyTemplate
const& _getTemplate()
const;
311 single(::std::string_view location);
315 ::std::string_view location,
316 ::gsl::not_null<::std::shared_ptr<
317 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
323 ::std::string_view location,
324 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
325 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
326 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules
334 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
335 ::std::string
const& location,
340 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
341 ::std::string
const& location,
342 ::gsl::not_null<::std::shared_ptr<
343 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
345 ::Projection projection
349 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
350 ::std::string
const& location,
351 ::Projection projection,
352 ::PostProcessSettings postProcessSettings
356 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
357 ::std::string
const& location,
358 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
359 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
360 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules,
361 ::Projection projection,
362 ::PostProcessSettings postProcessSettings
375 MCAPI ::BlockPos $getSize(::Rotation rotation)
const;
377 MCAPI ::std::vector<::JigsawBlockInfo> $getJigsawMarkers(
::BlockPos position, ::Rotation rotation)
const;
379 MCAPI ::std::vector<::JigsawBlockInfo>
382 MCAPI ::BoundingBox $getBoundingBox(
::BlockPos position, ::Rotation rotation)
const;
384 MCFOLD
void $setProjection(::Projection projection);
386 MCAPI ::Projection $getProjection()
const;
388 MCAPI ::PostProcessSettings $getPostProcessSettings()
const;
396 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
407 ::br::worldgen::JigsawReplacement jigsaw
419 MCAPI
void $handleDataMarker(
422 ::std::string markerData,
423 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
426 MCAPI
bool $isValid()
const;
428 MCFOLD ::StructurePoolElementType $type()
const;
434 MCAPI
static void** $vftable();