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