48    using StructureProcessorPtr = ::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>;
 
   50    using StructureProcessorList =
 
   51        ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>>;
 
   61        virtual ::std::vector<::JigsawBlockInfo> 
const& getJigsawMarkers() 
const = 0;
 
   64        virtual ::BlockPos getSize(::Rotation) 
const = 0;
 
   67        virtual bool isLegacyStructure() 
const = 0;
 
 
   97                ::std::reference_wrapper<::StructureTemplate>,
 
   98                ::std::reference_wrapper<::LegacyStructureTemplate>>>
 
  100        ::ll::TypedStorage<8, 24, ::std::vector<::JigsawBlockInfo>> mJigsawMarkers;
 
  111        virtual ::std::vector<::JigsawBlockInfo> 
const& getJigsawMarkers() 
const ;
 
  114        virtual ::BlockPos getSize(::Rotation rotation) 
const ;
 
  117        virtual bool isLegacyStructure() 
const ;
 
  127            ::Bedrock::NotNullNonOwnerPtr<::StructureManager>                    manager,
 
  128            ::std::string 
const&                                                 location,
 
  129            ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules
 
  136        MCAPI static ::std::vector<::JigsawBlockInfo> _findJigsawBlocks(
 
  137            ::std::vector<::JigsawStructureBlockInfo>&                           jigsawMarkers,
 
  138            ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules
 
  146            ::Bedrock::NotNullNonOwnerPtr<::StructureManager>                    manager,
 
  147            ::std::string 
const&                                                 location,
 
  148            ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules
 
  155        MCFOLD ::std::vector<::JigsawBlockInfo> 
const& $getJigsawMarkers() 
const;
 
  157        MCAPI ::BlockPos $getSize(::Rotation rotation) 
const;
 
  159        MCAPI 
bool $isLegacyStructure() 
const;
 
 
  172    ::ll::TypedStorage<8, 16, ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>> mMetadata;
 
  173    ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex>                                         mMetadataMutex;
 
  174    ::ll::TypedStorage<4, 4, ::brstd::once_flag>                                                   mTemplateOnceFlag;
 
  175    ::ll::TypedStorage<8, 56, ::std::optional<::StructurePoolElement::LazyTemplate>>               mTemplate;
 
  176    ::ll::TypedStorage<8, 8, uint64>                                                               mMetadataKey;
 
  177    ::ll::TypedStorage<8, 32, ::std::string>                                                       mLocation;
 
  178    ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::StructureManager>>                   mManager;
 
  179    ::ll::TypedStorage<8, 32, ::StructurePoolElementSettings>                                      mSettings;
 
  183        ::gsl::not_null<::std::shared_ptr<
 
  184            ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> 
const>>>
 
  186    ::ll::TypedStorage<1, 1, bool> mValid;
 
  197    virtual ::BlockPos getSize(::Rotation rotation) 
const;
 
  200    virtual ::std::vector<::JigsawBlockInfo> getJigsawMarkers(
::BlockPos position, ::Rotation rotation) 
const;
 
  203    virtual ::std::vector<::JigsawBlockInfo>
 
  207    virtual ::BoundingBox getBoundingBox(
::BlockPos position, ::Rotation rotation) 
const;
 
  210    virtual void setProjection(::Projection projection);
 
  213    virtual ::Projection getProjection() 
const;
 
  216    virtual ::PostProcessSettings getPostProcessSettings() 
const;
 
  225        ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
 
  237        ::br::worldgen::JigsawReplacement jigsaw,
 
  238        ::br::worldgen::LiquidSettings    liquidSettings
 
  253    virtual void handleDataMarker(
 
  256        ::std::string                                                                   markerData,
 
  257        ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
 
  261    virtual bool isValid() 
const;
 
  267    virtual ::StructurePoolElementType type() 
const;
 
  270    virtual ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> createMetadata() 
const;
 
  277        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  278        ::std::string 
const&                              location,
 
  283        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  284        ::std::string 
const&                              location,
 
  285        ::gsl::not_null<::std::shared_ptr<
 
  286            ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> 
const>>
 
  288        ::Projection projection
 
  292        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  293        ::std::string 
const&                              location,
 
  294        ::Projection                                      projection,
 
  295        ::PostProcessSettings                             postProcessSettings
 
  299        ::Bedrock::NotNullNonOwnerPtr<::StructureManager>                    manager,
 
  300        ::std::string 
const&                                                 location,
 
  301        ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> 
const*    blockRules,
 
  302        ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules,
 
  303        ::std::vector<::std::unique_ptr<::StructurePoolActorRule>> 
const*    actorRules,
 
  304        ::Projection                                                         projection,
 
  305        ::PostProcessSettings                                                postProcessSettings
 
  308    MCAPI ::SharedTypes::v1_21_80::JigsawStructureMetadata 
const& _getMetadata() 
const;
 
  310    MCAPI uint64 _getMetadataKey() 
const;
 
  317    single(::std::string_view location);
 
  321        ::std::string_view location,
 
  322        ::gsl::not_null<::std::shared_ptr<
 
  323            ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> 
const>>
 
  329        ::std::string_view                                                   location,
 
  330        ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> 
const*    blockRules,
 
  331        ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules,
 
  332        ::std::vector<::std::unique_ptr<::StructurePoolActorRule>> 
const*    actorRules
 
  340        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  341        ::std::string 
const&                              location,
 
  346        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  347        ::std::string 
const&                              location,
 
  348        ::gsl::not_null<::std::shared_ptr<
 
  349            ::std::vector<::gsl::not_null<::std::shared_ptr<::br::worldgen::StructureProcessor const>>> 
const>>
 
  351        ::Projection projection
 
  355        ::Bedrock::NotNullNonOwnerPtr<::StructureManager> manager,
 
  356        ::std::string 
const&                              location,
 
  357        ::Projection                                      projection,
 
  358        ::PostProcessSettings                             postProcessSettings
 
  362        ::Bedrock::NotNullNonOwnerPtr<::StructureManager>                    manager,
 
  363        ::std::string 
const&                                                 location,
 
  364        ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> 
const*    blockRules,
 
  365        ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> 
const* blockTagRules,
 
  366        ::std::vector<::std::unique_ptr<::StructurePoolActorRule>> 
const*    actorRules,
 
  367        ::Projection                                                         projection,
 
  368        ::PostProcessSettings                                                postProcessSettings
 
  381    MCAPI ::BlockPos $getSize(::Rotation rotation) 
const;
 
  383    MCAPI ::std::vector<::JigsawBlockInfo> $getJigsawMarkers(
::BlockPos position, ::Rotation rotation) 
const;
 
  385    MCAPI ::std::vector<::JigsawBlockInfo>
 
  388    MCAPI ::BoundingBox $getBoundingBox(
::BlockPos position, ::Rotation rotation) 
const;
 
  390    MCAPI 
void $setProjection(::Projection projection);
 
  392    MCAPI ::Projection $getProjection() 
const;
 
  394    MCAPI ::PostProcessSettings $getPostProcessSettings() 
const;
 
  402        ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace,
 
  413        ::br::worldgen::JigsawReplacement jigsaw,
 
  414        ::br::worldgen::LiquidSettings    liquidSettings
 
  422    MCAPI 
void $handleJigsawBlock(
 
  428    MCAPI 
void $handleDataMarker(
 
  431        ::std::string                                                                   markerData,
 
  432        ::std::unordered_map<
::BlockPos, ::std::optional<::ActorDefinitionIdentifier>>& entitiesToPlace
 
  435    MCAPI 
bool $isValid() 
const;
 
  437    MCFOLD ::StructurePoolElementType $type() 
const;
 
  439    MCAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata> $createMetadata() 
const;