LeviLamina
Loading...
Searching...
No Matches
IWorldResourcePackHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/models/ContentType.h"
7#include "mc/client/world/PackActionError.h"
8#include "mc/client/world/PackDownloadError.h"
9
10// auto generated forward declare list
11// clang-format off
12struct LevelSummary;
13struct PackIdVersion;
14namespace World { struct PackCheckResult; }
15namespace World { struct PackCollection; }
16namespace World { struct PackDetails; }
17namespace World { struct PackDownloadProgressInfo; }
18namespace World { struct PackViewAndItem; }
19namespace World { struct WorldPacks; }
20// clang-format on
21
22namespace World {
23
25public:
26 // IWorldResourcePackHandler inner types define
27 using FindPackResult = ::std::variant<::World::PackActionError, ::World::PackViewAndItem>;
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~IWorldResourcePackHandler() = default;
33
34 virtual ::World::WorldPacks& loadPackContentForWorld(::LevelSummary const& levelSummary) = 0;
35
36 virtual ::World::PackCollection getWorldPackCollection(
37 ::LevelSummary const& levelSummary,
38 ::ContentType const contentType,
39 bool const isEduMode
40 ) = 0;
41
42 virtual ::std::optional<::World::PackActionError> activatePack(
43 ::LevelSummary const& levelSummary,
44 ::ContentType const contentType,
45 ::std::string const& packId,
46 bool const isEduMode,
47 bool const force
48 ) = 0;
49
50 virtual ::std::optional<::World::PackActionError> deactivatePack(
51 ::LevelSummary const& levelSummary,
52 ::ContentType const contentType,
53 ::std::string const& packId,
54 bool const isEduMode,
55 bool const force
56 ) = 0;
57
58 virtual ::std::optional<::World::PackActionError> continuePackActivation(::LevelSummary const& levelSummary) = 0;
59
60 virtual ::std::optional<::World::PackActionError> continuePackDeactivation(::LevelSummary const& levelSummary) = 0;
61
62 virtual void downloadPacks(
63 ::LevelSummary const& levelSummary,
64 ::std::vector<::std::string> const& packIds,
65 ::std::function<void()> onCompleteCallback,
66 ::std::function<void(::World::PackDownloadError)> onErrorCallback
67 ) = 0;
68
69 virtual void getPackSizes(
70 ::LevelSummary const& levelSummary,
71 ::std::vector<::std::string> const& packIds,
72 ::std::function<void(uint64)> onCompleteCallback,
73 ::std::function<void(::World::PackActionError)> onErrorCallback
74 ) = 0;
75
76 virtual ::World::PackDownloadProgressInfo getDownloadPackProgress() = 0;
77
78 virtual void getDownloadingPackTitles(::std::function<void(::std::vector<::std::string>)> packTitlesCallback) = 0;
79
80 virtual void cancelDownloadPack() = 0;
81
82 virtual void savePacksData() = 0;
83
84 virtual bool hasNonAddonBehaviorPacks(::LevelSummary const& levelSummary) = 0;
85
86 virtual bool hasBehaviorPacks(::LevelSummary const& levelSummary) = 0;
87
88 virtual bool hasLockedPacks(::LevelSummary const& levelSummary) const = 0;
89
90 virtual ::std::optional<::World::PackActionError> changePackPriority(
91 ::LevelSummary const& levelSummary,
92 ::ContentType const contentType,
93 ::std::string const& packId,
94 int const fromIndex,
95 int const toIndex
96 ) = 0;
97
98 virtual ::World::PackCheckResult
99 checkDlc(::std::string const& levelId, ::PackIdVersion const& packIdVersion, bool const isForRealms) = 0;
100
101 virtual ::std::vector<::World::PackDetails>
102 getPackDetailsForWorld(::LevelSummary const& levelSummary, ::std::vector<::std::string> const& packIds) = 0;
103
104 virtual bool getResourcePacksDirty() = 0;
105
106 virtual void refreshPacksData() = 0;
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112
113 // NOLINTEND
114};
115
116} // namespace World
Definition IWorldResourcePackHandler.h:7
Definition LevelSummary.h:30
Definition PackIdVersion.h:10
Definition PackCheckResult.h:7
Definition PackCollection.h:7
Definition PackDetails.h:7
Definition PackDownloadProgressInfo.h:7
Definition PackViewAndItem.h:7
Definition WorldPacks.h:7