46 using StructureProcessorPtr = ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>;
48 using StructureProcessorList =
49 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
59 virtual ::std::vector<::JigsawBlockInfo>
const& getJigsawMarkers()
const = 0;
62 virtual ::BlockPos getSize(::Rotation)
const = 0;
65 virtual bool isLegacyStructure()
const = 0;
105 virtual ::std::vector<::JigsawBlockInfo>
const& getJigsawMarkers()
const ;
108 virtual ::BlockPos getSize(::Rotation rotation)
const ;
111 virtual bool isLegacyStructure()
const ;
121 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
122 ::std::string
const& location,
123 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
131 ::std::vector<::JigsawStructureBlockInfo>& jigsawMarkers,
132 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
140 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
141 ::std::string
const& location,
142 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules
151 MCNAPI ::BlockPos
$getSize(::Rotation rotation)
const;
166 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>> mMetadata;
167 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMetadataMutex;
168 ::ll::TypedStorage<4, 4, ::brstd::once_flag> mTemplateOnceFlag;
169 ::ll::TypedStorage<8, 56, ::std::optional<::StructurePoolElement::LazyTemplate>> mTemplate;
170 ::ll::TypedStorage<8, 8, uint64> mMetadataKey;
171 ::ll::TypedStorage<8, 32, ::std::string> mLocation;
172 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>> mManager;
173 ::ll::TypedStorage<8, 32, ::StructurePoolElementSettings> mSettings;
177 ::gsl::not_null<::std::shared_ptr<
178 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>>
180 ::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,
232 ::br::worldgen::LiquidSettings liquidSettings
247 virtual void handleDataMarker(
250 ::std::string markerData,
251 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
255 virtual bool isValid()
const;
261 virtual ::StructurePoolElementType type()
const;
268 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
269 ::std::string
const& location,
274 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
275 ::std::string
const& location,
276 ::gsl::not_null<::std::shared_ptr<
277 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
279 ::Projection projection
283 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
284 ::std::string
const& location,
285 ::Projection projection,
286 ::PostProcessSettings postProcessSettings
290 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
291 ::std::string
const& location,
292 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
293 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
294 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules,
295 ::Projection projection,
296 ::PostProcessSettings postProcessSettings
299 MCAPI ::SharedTypes::v1_21_80::JigsawStructureMetadata
const& _getMetadata()
const;
301 MCAPI uint64 _getMetadataKey()
const;
303 MCAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> createMetadata()
const;
310 single(::std::string_view location);
314 ::std::string_view location,
315 ::gsl::not_null<::std::shared_ptr<
316 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
322 ::std::string_view location,
323 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
324 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
325 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules
333 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
334 ::std::string
const& location,
339 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
340 ::std::string
const& location,
341 ::gsl::not_null<::std::shared_ptr<
342 ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>
const>>
344 ::Projection projection
348 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
349 ::std::string
const& location,
350 ::Projection projection,
351 ::PostProcessSettings postProcessSettings
355 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
356 ::std::string
const& location,
357 ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>>
const* blockRules,
358 ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>>
const* blockTagRules,
359 ::std::vector<::std::unique_ptr<::StructurePoolActorRule>>
const* actorRules,
360 ::Projection projection,
361 ::PostProcessSettings postProcessSettings
374 MCAPI ::BlockPos $getSize(::Rotation rotation)
const;
376 MCAPI ::std::vector<::JigsawBlockInfo> $getJigsawMarkers(
::BlockPos position, ::Rotation rotation)
const;
378 MCAPI ::std::vector<::JigsawBlockInfo>
381 MCAPI ::BoundingBox $getBoundingBox(
::BlockPos position, ::Rotation rotation)
const;
383 MCAPI
void $setProjection(::Projection projection);
385 MCAPI ::Projection $getProjection()
const;
387 MCAPI ::PostProcessSettings $getPostProcessSettings()
const;
395 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
406 ::br::worldgen::JigsawReplacement jigsaw,
407 ::br::worldgen::LiquidSettings liquidSettings
415 MCAPI
void $handleJigsawBlock(
421 MCAPI
void $handleDataMarker(
424 ::std::string markerData,
425 ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
428 MCAPI
bool $isValid()
const;
430 MCFOLD ::StructurePoolElementType $type()
const;