62 ::ll::TypedStorage<8, 8, ::ResourcePackRepository&> mRepository;
67 RepositoryLoaderImpl& operator=(RepositoryLoaderImpl
const&);
68 RepositoryLoaderImpl(RepositoryLoaderImpl
const&);
69 RepositoryLoaderImpl();
74 virtual ::std::shared_ptr<::RepositoryLoading::AllRefreshTaskData>
79 virtual ::std::shared_ptr<::RepositoryPacks const> getPacks()
const ;
85 MCNAPI ::std::shared_ptr<::RepositoryLoading::AllRefreshTaskData>
90 MCNAPI ::std::shared_ptr<::RepositoryPacks const>
$getPacks()
const;
99 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
100 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::RepositoryPacks>>> mAllResourcePacks;
101 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::InvalidPacks>>> mInvalidPacks;
102 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::IRepositoryFactory>>> mFactory;
103 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::RepositorySources>>> mSources;
104 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSourceReport>> mPackSourceReport;
105 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::RepositoryLoading::VanillaPacks>>> mVanillaPacks;
106 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mServicePacks;
107 ::ll::TypedStorage<8, 8, ::PackManifestFactory&> mManifestFactory;
108 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider>> mContentAccessibility;
109 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IMinecraftEventing>> mMinecraftEventing;
110 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentWorldPath;
111 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentPremiumWorldTemplatePath;
112 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContentIdentity, ::std::string>> mTempCacheContentKeys;
113 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSettingsFactory>> mPackSettingsFactory;
114 ::ll::TypedStorage<8, 8, ::PackSourceFactory&> mPackSourceFactory;
115 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline>> mCommands;
116 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
117 ::ll::TypedStorage<8, 24, ::ContentIdentity> mCurrentPremiumWorldTemplateIdentity;
118 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ResourcePackRepositoryRefreshQueue>>> mRefresher;
122 LLAPI
void addCustomResourcePackPath(std::filesystem::path
const& path, PackType type);
126 ResourcePackRepository& operator=(ResourcePackRepository
const&);
127 ResourcePackRepository(ResourcePackRepository
const&);
128 ResourcePackRepository();
134 virtual ~ResourcePackRepository() ;
136 virtual ~ResourcePackRepository() =
default;
139 virtual void getResourcePacksByPackId(
140 ::std::vector<::PackInstanceId>
const& packInstanceIds,
141 ::std::vector<::PackInstance>& result
144 virtual ::std::shared_ptr<::ResourcePack> getResourcePackForPackId(
::PackIdVersion const& idAndVersion)
const
147 virtual ::ResourcePack* getResourcePackOfDifferentVersionForPackId(
::PackIdVersion const& idAndVersion)
const
150 virtual ::ResourcePack*
154 virtual ::std::vector<::ResourcePack*> getResourcePacksByUUID(
::mce::UUID const&
id)
const ;
156 virtual ::ResourcePack* getResourcePackForPackIdOwned(
::PackIdVersion const& idAndVersion)
const ;
158 virtual ::std::shared_ptr<::ResourcePack> getResourcePackSatisfiesPackId(
160 bool requireOwnership,
161 ::ResourcePackSelectionPolicy selectionPolicy
164 virtual ::ResourcePack* getResourcePackContainingModule(
::PackIdVersion const& idAndVersion)
const ;
166 virtual ::Bedrock::Threading::Async<::std::shared_ptr<::ResourcePack>>
169 virtual bool isResourcePackLoaded(
::PackIdVersion const& identity, ::PackOrigin
const& location) ;
171 virtual ::PackSourceReport
const* getPackLoadingReport() const ;
177 virtual
bool setServicePacks(::
std::vector<::
PackIdVersion> servicePackIds) ;
185 addCachedResourcePacks(::
std::unordered_map<::
ContentIdentity, ::
std::
string> const* tempCacheKeys) ;
187 virtual
void addWorldResourcePacks(::Core::
Path const& levelPath) ;
189 virtual
void addPremiumWorldTemplateResourcePacks(
190 ::Core::
Path const& worldTemplatePath,
194 virtual
void addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID) ;
196 virtual
void addWorldPackSource(::Core::
Path const& levelPath) ;
198 virtual
void addPremiumWorldTemplatePackSource(
199 ::Core::
Path const& worldTemplatePath,
203 virtual
void removePacksLoadedFromCache() ;
205 virtual
void removePacksLoadedFromWorld() ;
207 virtual ::Core::PathBuffer<::
std::
string> const getResourcePacksPath() const ;
209 virtual ::Core::PathBuffer<::
std::
string> const getBehaviorPacksPath() const ;
211 virtual ::Core::PathBuffer<::
std::
string> const getSkinPacksPath() const ;
213 virtual ::Core::PathBuffer<::
std::
string> const getCustomSkinDirectoryPath() const ;
215 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentResourcePacksPath() const ;
217 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentBehaviorPacksPath() const ;
219 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentSkinPacksPath() const ;
221 virtual ::Core::PathBuffer<::
std::
string> const getTreatmentPacksPath() const ;
223 virtual ::Core::PathBuffer<::
std::
string> const getSystemBehaviorPacksPath() const ;
225 virtual ::Core::PathBuffer<::
std::
string> const getSystemResourcePacksPath() const ;
227 virtual
void refreshPacks() ;
229 virtual ::Bedrock::Threading::Async<
void> refreshPacksAsync() ;
231 virtual
void requestReloadUserPacks() ;
233 virtual ::Bedrock::NotNullNonOwnerPtr<::
IContentKeyProvider const> getKeyProvider() const ;
241 virtual ::
std::vector<::
ResourcePack*> getPacksByResourceLocation(::PackOrigin type) const ;
243 virtual ::
std::vector<::
ResourcePack*> getPacksByType(::PackType type) const ;
246 getPacksByCategory(::PackCategory category) const ;
248 virtual
void forEachPack(::
std::function<
void(::
ResourcePack const&)> const& callback) const ;
250 virtual ::
std::vector<::
InvalidPack> const& getInvalidPacks() const ;
252 virtual ::
std::vector<::
InvalidPack> getInvalidPacks(::PackType type) const ;
256 virtual ::
std::vector<::
InvalidPack> getInvalidPacks(::PackOrigin origin) const ;
259 deletePacks(::gsl::span<::
ResourceLocation const> packLocations, ::
std::string_view deletionReason) ;
261 virtual
void deletePack(::
ResourceLocation const& packLocation, ::
std::string_view deletionReason) ;
264 deletePackFiles(::
ResourceLocation const& packLocation, ::
std::string_view deletionReason) ;
270 virtual
bool isInitialized() const ;
280 MCAPI ResourcePackRepository(
284 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
285 ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline> commands,
302 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
303 ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline> commands,
323 ::std::vector<::PackInstanceId>
const& packInstanceIds,
324 ::std::vector<::PackInstance>& result
331 MCNAPI ::ResourcePack*
340 bool requireOwnership,
341 ::ResourcePackSelectionPolicy selectionPolicy
346 MCNAPI ::Bedrock::Threading::Async<::std::shared_ptr<::ResourcePack>>
411 MCNAPI ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const>
$getKeyProvider()
const;
423 MCNAPI ::std::vector<::gsl::not_null<::std::shared_ptr<::ResourcePack>>>
436 MCNAPI
void $deletePacks(::gsl::span<::ResourceLocation const> packLocations, ::std::string_view deletionReason);
448 MCNAPI ::ResourcePackStack
$createStack(::std::vector<::PackInstanceId>
const& identities);