39 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mRepositoryMutex;
40 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::LegacyStructureTemplate>>>
41 mLegacyStructureRepository;
42 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::StructureTemplate>>>
44 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::StructureAnimationData>>> mStructurePlacementQueue;
45 ::ll::TypedStorage<4, 4, uint> mStructurePlacementSaveCounter;
46 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry>> mUnknownBlockRegistry;
47 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ResourcePackManager>
const> mPackManager;
51 ::std::unordered_map<uint64, ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>>>
53 ::ll::TypedStorage<8, 80, ::std::mutex> mMetadataRegistryMutex;
54 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::ReflectionCtx>> mCerealContext;
64 virtual ~StructureManager() =
default;
66 virtual ::LegacyStructureTemplate& getOrCreateLegacy(::std::string
const& structureName) ;
68 virtual ::StructureTemplate& getOrCreate(::std::string
const& structureName) ;
70 virtual ::StructureTemplate* getStructure(::std::string
const& structureName)
const ;
74 virtual ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>
84 ::std::string
const& structureName,
92 MCNAPI ::LegacyStructureTemplate* _readLegacyStructure(::std::string
const& name);
95 MCNAPI ::StructureTemplate&
98 MCAPI ::StructureDeleteResult deleteStructure(::std::string
const& structureName,
::LevelStorage& levelStorage);
102 MCAPI ::std::vector<::std::string> getStructureNames(
::LevelStorage& levelStorage,
bool includeUnremovable)
const;
105 MCNAPI ::StructureTemplate* importStructure(::std::string
const& structureName,
::Core::Path const& filePath);
129 ::std::unique_ptr<::CommandArea> cmdArea,
136 ::std::unique_ptr<::StructureAnimationData> structureAnimationData
150 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
153 MCNAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
172 MCAPI ::StructureTemplate& $getOrCreate(::std::string
const& structureName);
174 MCNAPI ::StructureTemplate*
$getStructure(::std::string
const& structureName)
const;
178 MCNAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>
MCAPI::QueueRequestResult tryPlaceStructureInWorld(::std::unique_ptr<::CommandArea > cmdArea, ::ServerLevel &level, ::Dimension &dimension, ::BoundingBox const &bounds, ::BlockPos const &loadPosition, ::StructureSettings const &settings, ::StructureTemplate const &structureTemplate, ::std::unique_ptr<::StructureAnimationData > structureAnimationData)