56 ::ll::TypedStorage<1, 1, bool> mDiscoveredOnDisk;
57 ::ll::TypedStorage<8, 56, ::ResourceLocation> mResourceLocation;
58 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mPastHashes;
59 ::ll::TypedStorage<8, 48, ::PackIdVersion> mIdentity;
68 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager>> mFilePathManager;
69 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::ResourcePack>>> mAllResourcePacks;
70 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompositePackSource>> mPackSource;
71 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompositePackSource>> mCachePackSource;
72 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompositePackSource>> mWorldPackSource;
73 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompositePackSource>> mPremiumWorldTemplatePackSource;
74 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompositePackSource>> mTempWorldTemplatePackSource;
75 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSourceReport>> mPackSourceReport;
76 ::ll::TypedStorage<8, 8, ::ResourcePack*> mEditorPack;
77 ::ll::TypedStorage<8, 8, ::ResourcePack*> mVanillaPack;
78 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mServicePacks;
79 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidPackLocation;
80 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidBehaviorPackLocation;
81 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidResourcePackLocation;
82 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceLocation>> mInvalidTemplatePackLocation;
83 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
84 ::ll::TypedStorage<8, 8, ::PackManifestFactory&> mManifestFactory;
85 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IContentAccessibilityProvider>> mContentAccessibility;
86 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentWorldPath;
87 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mCurrentPremiumWorldTemplatePath;
88 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ContentIdentity, ::std::string>> mTempCacheContentKeys;
89 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::PackSettingsFactory>> mPackSettingsFactory;
90 ::ll::TypedStorage<8, 8, ::PackSourceFactory&> mPackSourceFactory;
91 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline>> mCommands;
92 ::ll::TypedStorage<8, 16, ::std::map<
void*, ::std::function<void(
::ResourcePack*)>>> mRemoveResourcePackCallback;
93 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mInitTaskGroup;
94 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mInitializeMutex;
95 ::ll::TypedStorage<1, 1, bool> mCancelInitialization;
96 ::ll::TypedStorage<1, 1, bool> mInitialized;
97 ::ll::TypedStorage<1, 1, bool> mReloadUserPacksRequested;
98 ::ll::TypedStorage<1, 1, bool> mRefreshPacksRequested;
99 ::ll::TypedStorage<8, 24, ::ContentIdentity> mCurrentPremiumWorldTemplateIdentity;
103 LLAPI
void addCustomResourcePackPath(std::filesystem::path
const& path, PackType type);
118 virtual void getResourcePacksByPackId(
119 ::std::vector<::PackInstanceId>
const& packInstanceIds,
120 ::std::vector<::PackInstance>& result
124 virtual ::ResourcePack* getResourcePackForPackId(
::PackIdVersion const& idAndVersion)
const ;
127 virtual ::ResourcePack* getResourcePackOfDifferentVersionForPackId(
::PackIdVersion const& idAndVersion)
const
131 virtual ::ResourcePack*
136 virtual ::ResourcePack* getResourcePackByUUID(
::mce::UUID const&
id)
const ;
139 virtual ::ResourcePack* getResourcePackForPackIdOwned(
::PackIdVersion const& idAndVersion)
const ;
142 virtual ::ResourcePack*
143 getResourcePackSatisfiesPackId(
::PackIdVersion const& idAndVersion,
bool requireOwnership)
const ;
146 virtual ::ResourcePack* getResourcePackContainingModule(
::PackIdVersion const& idAndVersion)
const ;
149 virtual ::ResourcePack* getResourcePackInPath(
::Core::Path const& path)
const ;
152 virtual bool isResourcePackLoaded(
::PackIdVersion const& identity, ::PackOrigin
const& location) ;
155 virtual ::PackSourceReport
const* getPackLoadingReport() const ;
164 virtual
bool setServicePacks(::
std::vector<::
PackIdVersion> servicePackIds) ;
167 virtual
bool hasServicePacks(::
std::vector<::
PackIdVersion> const& servicePacksIds) const ;
177 addCachedResourcePacks(::
std::unordered_map<::
ContentIdentity, ::
std::
string> const* tempCacheKeys) ;
180 virtual
void addWorldResourcePacks(::Core::
Path const& levelPath) ;
183 virtual
void addPremiumWorldTemplateResourcePacks(
184 ::Core::
Path const& worldTemplatePath,
189 virtual
void addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID) ;
192 virtual
void addWorldPackSource(::Core::
Path const& levelPath) ;
195 virtual
void addPremiumWorldTemplatePackSource(
196 ::Core::
Path const& worldTemplatePath,
201 virtual
void removePacksLoadedFromCache() ;
204 virtual
void removePacksLoadedFromWorld() ;
207 virtual ::Core::PathBuffer<::
std::
string> const getResourcePacksPath() const ;
210 virtual ::Core::PathBuffer<::
std::
string> const getBehaviorPacksPath() const ;
213 virtual ::Core::PathBuffer<::
std::
string> const getSkinPacksPath() const ;
216 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentResourcePacksPath() const ;
219 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentBehaviorPacksPath() const ;
222 virtual ::Core::PathBuffer<::
std::
string> const getDevelopmentSkinPacksPath() const ;
225 virtual ::Core::PathBuffer<::
std::
string> const getTreatmentPacksPath() const ;
228 virtual
void refreshPacks() ;
231 virtual ::
std::shared_ptr<::Bedrock::Threading::IAsyncResult<
void>> refreshPacksAsync() ;
234 virtual
void requestReloadUserPacks() ;
237 virtual ::Bedrock::NotNullNonOwnerPtr<::
IContentKeyProvider const> getKeyProvider() const ;
252 virtual ::
std::vector<::
ResourcePack*> getPacksByResourceLocation(::PackOrigin type) const ;
255 virtual ::
std::vector<::
ResourcePack*> getPacksByType(::PackType type) const ;
258 virtual ::
std::vector<::
ResourcePack*> getPacksByCategory(::PackCategory category) const ;
261 virtual
void forEachPack(::
std::function<
void(::
ResourcePack const&)> const& callback) const ;
264 virtual
void addInvalidPack(::
ResourceLocation const& packLocation, ::PackType type) ;
287 registerResourcePackRemovedCallback(
void* ptr, ::
std::function<
void(::
ResourcePack*)> callback) ;
290 virtual
void unregisterResourcePackRemovedCallback(
void* ptr) ;
293 virtual
bool isInitialized() const ;
303 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
304 ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline> commands,
309 MCAPI
bool _addResourcePackIfNotAlreadyAdded(::
Pack& pack);
311 MCAPI
void _findVanillaPacks();
313 MCAPI
void _initialize();
315 MCAPI
void _initializeCachedPackSource();
317 MCAPI
void _initializePackSource();
319 MCAPI
void _initializeWorldPackSource();
321 MCAPI
void _loadPacks();
323 MCAPI
bool _packExists(::mce::UUID const& packId, ::
SemVersion const& version, ::PackOrigin origin) const;
325 MCAPI
void _reloadUserPacks();
327 MCAPI
bool _removePack(::
ResourceLocation const& packLocation,
bool unregisterDeleteCallback);
329 MCAPI
void _triggerRemoveResourcePackCallback(::
ResourcePack* resourcePack);
331 MCAPI
void _validateDependencies();
341 ::PackCommand::IPackCommandPipeline* commands
348 MCAPI static ::
std::set<::mce::UUID>& CHEMISTRY_PACK_UUIDS();
358 ::Bedrock::NotNullNonOwnerPtr<::Core::FilePathManager> const& pathManager,
359 ::Bedrock::NonOwnerPointer<::PackCommand::IPackCommandPipeline> commands,
374 MCAPI
void $getResourcePacksByPackId(
384 $getResourcePackForPackIdInPath(::
PackIdVersion const& idAndVersion, ::Core::
Path const& fullPath) const;
386 MCAPI ::
ResourcePack* $getResourcePackByUUID(::mce::UUID const&
id) const;
391 $getResourcePackSatisfiesPackId(::
PackIdVersion const& idAndVersion,
bool requireOwnership) const;
395 MCAPI ::
ResourcePack* $getResourcePackInPath(::Core::
Path const& path) const;
397 MCAPI
bool $isResourcePackLoaded(::
PackIdVersion const& identity, ::PackOrigin const& location);
407 MCAPI
bool $hasServicePacks(::
std::vector<::
PackIdVersion> const& servicePacksIds) const;
413 MCAPI
void $addCachedResourcePacks(::
std::unordered_map<::
ContentIdentity, ::
std::
string> const* tempCacheKeys);
415 MCAPI
void $addWorldResourcePacks(::Core::
Path const& levelPath);
417 MCAPI
void $addPremiumWorldTemplateResourcePacks(
418 ::Core::
Path const& worldTemplatePath,
422 MCAPI
void $addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID);
424 MCAPI
void $addWorldPackSource(::Core::
Path const& levelPath);
426 MCAPI
void $addPremiumWorldTemplatePackSource(
427 ::Core::
Path const& worldTemplatePath,
431 MCAPI
void $removePacksLoadedFromCache();
433 MCAPI
void $removePacksLoadedFromWorld();
435 MCAPI ::Core::PathBuffer<::
std::
string> const $getResourcePacksPath() const;
437 MCAPI ::Core::PathBuffer<::
std::
string> const $getBehaviorPacksPath() const;
439 MCAPI ::Core::PathBuffer<::
std::
string> const $getSkinPacksPath() const;
441 MCAPI ::Core::PathBuffer<::
std::
string> const $getDevelopmentResourcePacksPath() const;
443 MCAPI ::Core::PathBuffer<::
std::
string> const $getDevelopmentBehaviorPacksPath() const;
445 MCAPI ::Core::PathBuffer<::
std::
string> const $getDevelopmentSkinPacksPath() const;
447 MCAPI ::Core::PathBuffer<::
std::
string> const $getTreatmentPacksPath() const;
449 MCAPI
void $refreshPacks();
451 MCAPI ::
std::shared_ptr<::Bedrock::Threading::IAsyncResult<
void>> $refreshPacksAsync();
453 MCAPI
void $requestReloadUserPacks();
465 MCAPI ::
std::vector<::
ResourcePack*> $getPacksByResourceLocation(::PackOrigin type) const;
467 MCAPI ::
std::vector<::
ResourcePack*> $getPacksByType(::PackType type) const;
469 MCAPI ::
std::vector<::
ResourcePack*> $getPacksByCategory(::PackCategory category) const;
471 MCAPI
void $forEachPack(::
std::function<
void(::
ResourcePack const&)> const& callback) const;
473 MCAPI
void $addInvalidPack(::
ResourceLocation const& packLocation, ::PackType type);
487 MCAPI
void $registerResourcePackRemovedCallback(
void* ptr, ::
std::function<
void(::
ResourcePack*)> callback);
489 MCAPI
void $unregisterResourcePackRemovedCallback(
void* ptr);
491 MCAPI
bool $isInitialized() const;