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*/;
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 bool hasServicePacks(::std::vector<::PackIdVersion> const& servicePacksIds) const = 0;
75
76 virtual ::std::vector<::PackIdVersion> const& getServicePacks() const = 0;
77
78 virtual void addServicePacksToStack(::ResourcePackStack& stack) const = 0;
79
80 virtual void
81 addCachedResourcePacks(::std::unordered_map<::ContentIdentity, ::std::string> const* tempCacheKeys) = 0;
82
83 virtual void addWorldResourcePacks(::Core::Path const& levelPath) = 0;
84
85 virtual void addPremiumWorldTemplateResourcePacks(
86 ::Core::Path const& worldTemplatePath,
87 ::ContentIdentity const& premiumWorldIdentity
88 ) = 0;
89
90 virtual void addWorldPackSource(::Core::Path const& levelPath) = 0;
91
92 virtual void addPremiumWorldTemplatePackSource(
93 ::Core::Path const& worldTemplatePath,
94 ::ContentIdentity const& premiumWorldIdentity
95 ) = 0;
96
97 virtual void addTempWorldTemplateResourcePacks(::mce::UUID const& worldTemplateUUID) = 0;
98
99 virtual void removePacksLoadedFromCache() = 0;
100
101 virtual void removePacksLoadedFromWorld() = 0;
102
103 virtual ::Core::PathBuffer<::std::string> const getResourcePacksPath() const = 0;
104
105 virtual ::Core::PathBuffer<::std::string> const getBehaviorPacksPath() const = 0;
106
107 virtual ::Core::PathBuffer<::std::string> const getSkinPacksPath() const = 0;
108
109 virtual ::Core::PathBuffer<::std::string> const getCustomSkinDirectoryPath() const = 0;
110
111 virtual ::Core::PathBuffer<::std::string> const getDevelopmentResourcePacksPath() const = 0;
112
113 virtual ::Core::PathBuffer<::std::string> const getDevelopmentBehaviorPacksPath() const = 0;
114
115 virtual ::Core::PathBuffer<::std::string> const getDevelopmentSkinPacksPath() const = 0;
116
117 virtual ::Core::PathBuffer<::std::string> const getTreatmentPacksPath() const = 0;
118
119 virtual void refreshPacks() = 0;
120
121 virtual ::Bedrock::Threading::Async<void> refreshPacksAsync() = 0;
122
123 virtual void requestReloadUserPacks() = 0;
124
125 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentKeyProvider const> getKeyProvider() const = 0;
126
127 virtual ::PackManifestFactory& getPackManifestFactory() = 0;
128
129 virtual ::PackSettingsFactory& getPackSettingsFactory() const = 0;
130
131 virtual ::PackSourceFactory& getPackSourceFactory() = 0;
132
133 virtual ::std::vector<::ResourcePack*> getPacksByResourceLocation(::PackOrigin type) const = 0;
134
135 virtual ::std::vector<::ResourcePack*> getPacksByType(::PackType type) const = 0;
136
137 virtual ::std::vector<::gsl::not_null<::std::shared_ptr<::ResourcePack>>>
138 getPacksByCategory(::PackCategory category) const = 0;
139
140 virtual void forEachPack(::std::function<void(::ResourcePack const&)> const& callback) const = 0;
141
142 virtual ::std::vector<::ResourceLocation> const& getInvalidPacks(::PackType type) const = 0;
143
144 virtual ::std::vector<::ResourceLocation> getInvalidPacks(::InvalidPacksFilterGroup const& packTypes) const = 0;
145
146 virtual void deletePack(::ResourceLocation const& packLocation) = 0;
147
148 virtual void deletePackFiles(::ResourceLocation const& packLocation) = 0;
149
150 virtual void postDeletePack(::ResourceLocation const& packLocation) = 0;
151
152 virtual void untrackInvalidPack(::ResourceLocation const& packLocation) = 0;
153
154 virtual bool isInitialized() const = 0;
155
156 virtual ::Bedrock::NotNullNonOwnerPtr<::IContentSourceRepository> getContentSourceRepository() = 0;
157 // NOLINTEND
158
159public:
160 // destructor thunk
161 // NOLINTBEGIN
162 MCNAPI void $dtor();
163 // NOLINTEND
164
165public:
166 // virtual function thunks
167 // NOLINTBEGIN
168
169 // NOLINTEND
170};
Definition EnableNonOwnerReferences.h:7
Definition ContentIdentity.h:8
Definition Path.h:17
Definition IContentKeyProvider.h:13
Definition IContentSourceRepository.h:13
Definition IResourcePackRepository.h:34
Definition PackInstance.h:17
Definition PackManifestFactory.h:20
Definition PackSettingsFactory.h:24
Definition PackSourceFactory.h:33
Definition PackSourceReport.h:11
Definition ResourceLocation.h:15
Definition ResourcePackStack.h:25
Definition ResourcePack.h:21
Definition UUID.h:7
Definition InvalidPacksFilterGroup.h:5
Definition PackIdVersion.h:10
Definition PackInstanceId.h:8