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