LeviLamina
Loading...
Searching...
No Matches
IResourcePackRepository.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/controllers/PackCategory.h"
7#include "mc/deps/core/file/PathBuffer.h"
8#include "mc/deps/core/resource/PackOrigin.h"
9#include "mc/deps/core/resource/PackType.h"
10#include "mc/deps/core/threading/Async.h"
11#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
12#include "mc/deps/core/utility/NonOwnerPointer.h"
13
14// auto generated forward declare list
15// clang-format off
16class ContentIdentity;
19class PackInstance;
25class ResourcePack;
28struct PackIdVersion;
29struct PackInstanceId;
30namespace Core { class Path; }
31namespace mce { class UUID; }
32// clang-format on
33
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~IResourcePackRepository() /*override*/ = default;
39
40 virtual void getResourcePacksByPackId(
41 ::std::vector<::PackInstanceId> const& packInstanceIds,
42 ::std::vector<::PackInstance>& result
43 ) const = 0;
44
45 virtual ::std::shared_ptr<::ResourcePack> getResourcePackForPackId(::PackIdVersion const& idAndVersion) const = 0;
46
47 virtual ::ResourcePack* getResourcePackOfDifferentVersionForPackId(::PackIdVersion const& idAndVersion) const = 0;
48
49 virtual ::ResourcePack*
50 getResourcePackForPackIdInPath(::PackIdVersion const& idAndVersion, ::Core::Path const& fullPath) const = 0;
51
52 virtual ::ResourcePack* getResourcePackByUUID(::mce::UUID const& id) const = 0;
53
54 virtual ::ResourcePack* getResourcePackForPackIdOwned(::PackIdVersion const& idAndVersion) const = 0;
55
56 virtual ::std::shared_ptr<::ResourcePack>
57 getResourcePackSatisfiesPackId(::PackIdVersion const& idAndVersion, bool requireOwnership) const = 0;
58
59 virtual ::ResourcePack* getResourcePackContainingModule(::PackIdVersion const& idAndVersion) const = 0;
60
61 virtual ::Bedrock::Threading::Async<::std::shared_ptr<::ResourcePack>>
62 getResourcePackInPath(::Core::Path const& path) const = 0;
63
64 virtual bool isResourcePackLoaded(::PackIdVersion const& identity, ::PackOrigin const& location) = 0;
65
66 virtual ::PackSourceReport const* getPackLoadingReport() const = 0;
67
68 virtual ::std::shared_ptr<::ResourcePack> getEditorPack() const = 0;
69
70 virtual ::std::shared_ptr<::ResourcePack> getVanillaPack() const = 0;
71
72 virtual bool setServicePacks(::std::vector<::PackIdVersion> servicePackIds) = 0;
73
74 virtual void addServicePacksToStack(::ResourcePackStack& stack) const = 0;
75
76 virtual void
77 addCachedResourcePacks(::std::unordered_map<::ContentIdentity, ::std::string> const* tempCacheKeys) = 0;
78
79 virtual void addWorldResourcePacks(::Core::Path const& levelPath) = 0;
80
81 virtual void addPremiumWorldTemplateResourcePacks(
82 ::Core::Path const& worldTemplatePath,
83 ::ContentIdentity const& premiumWorldIdentity
84 ) = 0;
85
86 virtual void addWorldPackSource(::Core::Path const& levelPath) = 0;
87
88 virtual void addPremiumWorldTemplatePackSource(
89 ::Core::Path const& worldTemplatePath,
90 ::ContentIdentity const& premiumWorldIdentity
91 ) = 0;
92
93 virtual void addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID) = 0;
94
95 virtual void removePacksLoadedFromCache() = 0;
96
97 virtual void removePacksLoadedFromWorld() = 0;
98
99 virtual ::Core::PathBuffer<::std::string> const getResourcePacksPath() const = 0;
100
101 virtual ::Core::PathBuffer<::std::string> const getBehaviorPacksPath() const = 0;
102
103 virtual ::Core::PathBuffer<::std::string> const getSkinPacksPath() const = 0;
104
105 virtual ::Core::PathBuffer<::std::string> const getCustomSkinDirectoryPath() const = 0;
106
107 virtual ::Core::PathBuffer<::std::string> const getDevelopmentResourcePacksPath() const = 0;
108
109 virtual ::Core::PathBuffer<::std::string> const getDevelopmentBehaviorPacksPath() const = 0;
110
111 virtual ::Core::PathBuffer<::std::string> const getDevelopmentSkinPacksPath() const = 0;
112
113 virtual ::Core::PathBuffer<::std::string> const getTreatmentPacksPath() const = 0;
114
115 virtual void refreshPacks() = 0;
116
117 virtual ::Bedrock::Threading::Async<void> refreshPacksAsync() = 0;
118
119 virtual void requestReloadUserPacks() = 0;
120
121 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> getKeyProvider() const = 0;
122
123 virtual ::PackManifestFactory& getPackManifestFactory() = 0;
124
125 virtual ::PackSettingsFactory& getPackSettingsFactory() const = 0;
126
127 virtual ::PackSourceFactory& getPackSourceFactory() = 0;
128
129 virtual ::std::vector<::ResourcePack*> getPacksByResourceLocation(::PackOrigin type) const = 0;
130
131 virtual ::std::vector<::ResourcePack*> getPacksByType(::PackType type) const = 0;
132
133 virtual ::std::vector<::gsl::not_null<::std::shared_ptr<::ResourcePack>>>
134 getPacksByCategory(::PackCategory category) const = 0;
135
136 virtual void forEachPack(::std::function<void(::ResourcePack const&)> const& callback) const = 0;
137
138 virtual ::std::vector<::ResourceLocation> const& getInvalidPacks(::PackType type) const = 0;
139
140 virtual ::std::vector<::ResourceLocation> getInvalidPacks(::InvalidPacksFilterGroup const& packTypes) const = 0;
141
142 virtual void deletePack(::ResourceLocation const& packLocation) = 0;
143
144 virtual void deletePackFiles(::ResourceLocation const& packLocation) = 0;
145
146 virtual void postDeletePack(::ResourceLocation const& packLocation) = 0;
147
148 virtual void untrackInvalidPack(::ResourceLocation const& packLocation) = 0;
149
150 virtual bool isInitialized() const = 0;
151
152 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentSourceRepository> getContentSourceRepository() = 0;
153 // NOLINTEND
154
155public:
156 // virtual function thunks
157 // NOLINTBEGIN
158
159 // NOLINTEND
160};
Definition EnableNonOwnerReferences.h:7
Definition ContentIdentity.h:8
Definition Path.h:12
Definition IContentKeyProvider.h:13
Definition IContentSourceRepository.h:13
Definition IResourcePackRepository.h:34
Definition PackInstance.h:28
Definition PackManifestFactory.h:21
Definition PackSettingsFactory.h:24
Definition PackSourceFactory.h:34
Definition PackSourceReport.h:11
Definition ResourceLocation.h:15
Definition ResourcePackStack.h:24
Definition ResourcePack.h:28
Definition UUID.h:7
Definition InvalidPacksFilterGroup.h:8
Definition PackIdVersion.h:10
Definition PackInstanceId.h:8