47 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mRepositoryMutex;
48 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::LegacyStructureTemplate>>>
49 mLegacyStructureRepository;
50 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::StructureTemplate>>>
52 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::StructureAnimationData>>> mStructurePlacementQueue;
53 ::ll::TypedStorage<4, 4, uint> mStructurePlacementSaveCounter;
54 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry>> mUnknownBlockRegistry;
55 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ResourcePackManager>
const> mPackManager;
59 ::std::unordered_map<uint64, ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>>>
61 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mMetadataRegistryMutex;
62 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::ReflectionCtx>> mCerealContext;
81 MCAPI ::StructureTemplate* _createAndLoadStructure(
82 ::std::string
const& structureName,
87 MCAPI ::std::string _createLevelStorageId(::std::string
const& dimensionPrefix, ::std::string
const& saveId);
89 MCAPI
bool _findResource(
92 ::std::string& resourceStream
95 MCAPI
bool _findResource(
96 ::std::string_view structureNamespace,
100 ::std::string& resourceStream
105 MCAPI
bool _placeSegment(
110 ::std::function<::ChunksLoadedStatus(
::Tick)>
const& areChunksLoaded
113 MCAPI ::LegacyStructureTemplate* _readLegacyStructure(::std::string
const& name);
121 MCAPI ::StructureTemplate&
122 cloneStructure(
::StructureTemplate const& structureTemplate, ::std::string
const& structureName);
124 MCAPI ::StructureDeleteResult deleteStructure(::std::string
const& structureName,
::LevelStorage& levelStorage);
126 MCAPI ::StructureTemplate& getOrCreate(::std::string
const& structureName);
128 MCAPI ::std::shared_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadata>
131 MCAPI ::LegacyStructureTemplate& getOrCreateLegacy(::std::string
const& structureName);
133 MCAPI ::StructureTemplate* getStructure(::std::string
const& structureName)
const;
135 MCAPI ::std::vector<::std::string> getStructureNames(
::LevelStorage& levelStorage,
bool includeUnremovable)
const;
137 MCAPI
void importStructureFromTemplate(::std::string name,
::StructureTemplate const& temp);
147 MCAPI
void loadMetadataRegistries();
154 MCAPI
void queueLoad(::std::unique_ptr<::StructureAnimationData> structureAnimationData);
164 MCAPI ::QueueRequestResult tryPlaceStructureInWorld(
165 ::std::unique_ptr<::CommandArea> cmdArea,
172 ::std::unique_ptr<::StructureAnimationData> structureAnimationData
179 MCAPI static ::std::unique_ptr<::SharedTypes::v1_21_80::JigsawStructureMetadataRegistry>
182 MCAPI
static void _metadataPackForEachCallback(
186 ::std::string& fileData,
190 MCAPI static ::Core::PathBuffer<::Core::BasicStackString<char, 1024>>
191 getStructurePath(::std::string_view structureNamespace, ::std::string_view structureName);
197 MCAPI
static char const*& BEHAVIOR_PACK_STRUCTURES_FOLDER();
199 MCAPI
static char const*& LEVEL_STORAGE_STRUCTURE_TEMPLATE_PREFIX();