60 ::ll::TypedStorage<8, 8, ::ResourcePackRepository&> mRepository;
65 RepositoryLoaderImpl& operator=(RepositoryLoaderImpl
const&);
66 RepositoryLoaderImpl(RepositoryLoaderImpl
const&);
67 RepositoryLoaderImpl();
72 virtual ::std::shared_ptr<::RepositoryLoading::AllRefreshTaskData>
77 virtual ::std::shared_ptr<::RepositoryPacks const> getPacks()
const ;
83 MCNAPI ::std::shared_ptr<::RepositoryLoading::AllRefreshTaskData>
88 MCNAPI ::std::shared_ptr<::RepositoryPacks const>
$getPacks()
const;
103 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
104 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::RepositoryPacks>>> mAllResourcePacks;
105 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::InvalidPacks>>> mInvalidPacks;
106 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IRepositoryFactory>>> mFactory;
107 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::RepositorySources>>> mSources;
108 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSourceReport>> mPackSourceReport;
109 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::RepositoryLoading::VanillaPacks>>> mVanillaPacks;
110 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mServicePacks;
111 ::ll::TypedStorage<8, 8, ::PackManifestFactory&> mManifestFactory;
112 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider>> mContentAccessibility;
113 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentWorldPath;
114 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentPremiumWorldTemplatePath;
115 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContentIdentity, ::std::string>> mTempCacheContentKeys;
116 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSettingsFactory>> mPackSettingsFactory;
117 ::ll::TypedStorage<8, 8, ::PackSourceFactory&> mPackSourceFactory;
118 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline>> mCommands;
119 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
120 ::ll::TypedStorage<8, 24, ::ContentIdentity> mCurrentPremiumWorldTemplateIdentity;
121 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ResourcePackRepositoryRefreshQueue>>> mRefresher;
125 LLAPI
void addCustomResourcePackPath(std::filesystem::path
const& path, PackType type);
129 ResourcePackRepository& operator=(ResourcePackRepository
const&);
130 ResourcePackRepository(ResourcePackRepository
const&);
131 ResourcePackRepository();
136 virtual ~ResourcePackRepository() ;
138 virtual void getResourcePacksByPackId(
139 ::std::vector<::PackInstanceId>
const& packInstanceIds,
140 ::std::vector<::PackInstance>& result
143 virtual ::std::shared_ptr<::ResourcePack> getResourcePackForPackId(
::PackIdVersion const& idAndVersion)
const
146 virtual ::ResourcePack* getResourcePackOfDifferentVersionForPackId(
::PackIdVersion const& idAndVersion)
const
149 virtual ::ResourcePack*
153 virtual ::ResourcePack* getResourcePackByUUID(
::mce::UUID const&
id)
const ;
155 virtual ::ResourcePack* getResourcePackForPackIdOwned(
::PackIdVersion const& idAndVersion)
const ;
157 virtual ::std::shared_ptr<::ResourcePack>
158 getResourcePackSatisfiesPackId(
::PackIdVersion const& idAndVersion,
bool requireOwnership)
const ;
160 virtual ::ResourcePack* getResourcePackContainingModule(
::PackIdVersion const& idAndVersion)
const ;
162 virtual ::Bedrock::Threading::Async<::std::shared_ptr<::ResourcePack>>
165 virtual bool isResourcePackLoaded(
::PackIdVersion const& identity, ::PackOrigin
const& location) ;
167 virtual ::PackSourceReport
const* getPackLoadingReport() const ;
173 virtual
bool setServicePacks(::
std::vector<::
PackIdVersion> servicePackIds) ;
178 addCachedResourcePacks(::
std::unordered_map<::
ContentIdentity, ::
std::
string> const* tempCacheKeys) ;
180 virtual
void addWorldResourcePacks(::Core::
Path const& levelPath) ;
182 virtual
void addPremiumWorldTemplateResourcePacks(
183 ::Core::
Path const& worldTemplatePath,
187 virtual
void addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID) ;
189 virtual
void addWorldPackSource(::Core::
Path const& levelPath) ;
191 virtual
void addPremiumWorldTemplatePackSource(
192 ::Core::
Path const& worldTemplatePath,
196 virtual
void removePacksLoadedFromCache() ;
198 virtual
void removePacksLoadedFromWorld() ;
200 virtual ::Core::PathBuffer<::
std::
string> const getResourcePacksPath() const ;
202 virtual ::Core::PathBuffer<::
std::
string> const getBehaviorPacksPath() const ;
204 virtual ::Core::PathBuffer<::
std::
string> const getSkinPacksPath() const ;
206 virtual ::Core::PathBuffer<::
std::
string> const getCustomSkinDirectoryPath() const ;
208 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentResourcePacksPath() const ;
210 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentBehaviorPacksPath() const ;
212 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentSkinPacksPath() const ;
214 virtual ::Core::PathBuffer<::
std::
string> const getTreatmentPacksPath() const ;
216 virtual
void refreshPacks() ;
218 virtual ::Bedrock::Threading::Async<
void> refreshPacksAsync() ;
220 virtual
void requestReloadUserPacks() ;
222 virtual ::Bedrock::NotNullNonOwnerPtr<::
IContentKeyProvider const> getKeyProvider() const ;
230 virtual ::
std::vector<::
ResourcePack*> getPacksByResourceLocation(::PackOrigin type) const ;
232 virtual ::
std::vector<::
ResourcePack*> getPacksByType(::PackType type) const ;
235 getPacksByCategory(::PackCategory category) const ;
237 virtual
void forEachPack(::
std::function<
void(::
ResourcePack const&)> const& callback) const ;
252 virtual
bool isInitialized() const ;
262 MCAPI ResourcePackRepository(
266 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
267 ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline> commands,
273 MCAPI
void _removePacksIf(::brstd::function_ref<
bool(::
ResourcePack const&)> callback);
276 MCAPI
void cancelInitialization();
285 MCAPI static ::Core::PathBuffer<::std::string> getCustomSkinDirectoryPath(
::Core::FilePathManager const& paths);
287 MCAPI static ::Core::PathBuffer<::std::string>
290 MCAPI static ::Core::PathBuffer<::std::string>
293 MCAPI static ::Core::PathBuffer<::std::string> getDevelopmentSkinPacksPath(
::Core::FilePathManager const& paths);
304 ::gsl::not_null<::std::shared_ptr<::RepositoryPacks>> repositoryPacks,
306 ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider>
const& contentAccessibility,
307 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>
const& pathManager,
311 ::std::unique_ptr<::IRepositoryFactory> factory
324 MCAPI
void $getResourcePacksByPackId(
325 ::std::vector<::PackInstanceId>
const& packInstanceIds,
326 ::std::vector<::PackInstance>& result
329 MCAPI ::std::shared_ptr<::ResourcePack> $getResourcePackForPackId(
::PackIdVersion const& idAndVersion)
const;
331 MCAPI ::ResourcePack* $getResourcePackOfDifferentVersionForPackId(
::PackIdVersion const& idAndVersion)
const;
333 MCAPI ::ResourcePack*
336 MCAPI ::ResourcePack* $getResourcePackByUUID(
::mce::UUID const&
id)
const;
338 MCAPI ::ResourcePack* $getResourcePackForPackIdOwned(
::PackIdVersion const& idAndVersion)
const;
340 MCAPI ::std::shared_ptr<::ResourcePack>
341 $getResourcePackSatisfiesPackId(
::PackIdVersion const& idAndVersion,
bool requireOwnership)
const;
343 MCAPI ::ResourcePack* $getResourcePackContainingModule(
::PackIdVersion const& idAndVersion)
const;
345 MCAPI ::Bedrock::Threading::Async<::std::shared_ptr<::ResourcePack>>
348 MCAPI
bool $isResourcePackLoaded(
::PackIdVersion const& identity, ::PackOrigin
const& location);
350 MCFOLD ::PackSourceReport
const* $getPackLoadingReport()
const;
352 MCAPI ::std::shared_ptr<::ResourcePack> $getEditorPack()
const;
354 MCAPI ::std::shared_ptr<::ResourcePack> $getVanillaPack()
const;
356 MCAPI
bool $setServicePacks(::std::vector<::PackIdVersion> servicePackIds);
360 MCAPI
void $addCachedResourcePacks(::std::unordered_map<::ContentIdentity, ::std::string>
const* tempCacheKeys);
362 MCAPI
void $addWorldResourcePacks(
::Core::Path const& levelPath);
364 MCAPI
void $addPremiumWorldTemplateResourcePacks(
369 MCAPI
void $addTempWorldTemplateResourcePacks(
::mce::UUID const& worldTemplateUUID);
371 MCAPI
void $addWorldPackSource(
::Core::Path const& levelPath);
373 MCAPI
void $addPremiumWorldTemplatePackSource(
378 MCAPI
void $removePacksLoadedFromCache();
380 MCAPI
void $removePacksLoadedFromWorld();
382 MCAPI ::Core::PathBuffer<::std::string>
const $getResourcePacksPath()
const;
384 MCAPI ::Core::PathBuffer<::std::string>
const $getBehaviorPacksPath()
const;
386 MCAPI ::Core::PathBuffer<::std::string>
const $getSkinPacksPath()
const;
388 MCAPI ::Core::PathBuffer<::std::string>
const $getCustomSkinDirectoryPath()
const;
390 MCAPI ::Core::PathBuffer<::std::string>
const $getDevelopmentResourcePacksPath()
const;
392 MCAPI ::Core::PathBuffer<::std::string>
const $getDevelopmentBehaviorPacksPath()
const;
394 MCAPI ::Core::PathBuffer<::std::string>
const $getDevelopmentSkinPacksPath()
const;
396 MCAPI ::Core::PathBuffer<::std::string>
const $getTreatmentPacksPath()
const;
398 MCAPI
void $refreshPacks();
400 MCAPI ::Bedrock::Threading::Async<void> $refreshPacksAsync();
402 MCAPI
void $requestReloadUserPacks();
404 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> $getKeyProvider()
const;
406 MCFOLD ::PackManifestFactory& $getPackManifestFactory();
408 MCFOLD ::PackSettingsFactory& $getPackSettingsFactory()
const;
410 MCFOLD ::PackSourceFactory& $getPackSourceFactory();
412 MCAPI ::std::vector<::ResourcePack*> $getPacksByResourceLocation(::PackOrigin type)
const;
414 MCAPI ::std::vector<::ResourcePack*> $getPacksByType(::PackType type)
const;
416 MCAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::ResourcePack>>>
417 $getPacksByCategory(::PackCategory category)
const;
419 MCAPI
void $forEachPack(::std::function<
void(
::ResourcePack const&)>
const& callback)
const;
421 MCAPI ::std::vector<::ResourceLocation>
const& $getInvalidPacks(::PackType type)
const;
433 MCAPI
bool $isInitialized()
const;
435 MCAPI ::ResourcePackStack $createStack(::std::vector<::PackInstanceId>
const& identities);
437 MCAPI ::Bedrock::NotNullNonOwnerPtr<::IContentSourceRepository> $getContentSourceRepository();