3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/screens/models/ContentType.h"
7#include "mc/client/world/PackActionError.h"
8#include "mc/client/world/PackDownloadError.h"
27 using FindPackResult = ::std::variant<::World::PackActionError, ::World::PackViewAndItem>;
32 virtual ~IWorldResourcePackHandler() =
default;
34 virtual ::World::WorldPacks& loadPackContentForWorld(::LevelSummary
const& levelSummary) = 0;
36 virtual ::World::PackCollection getWorldPackCollection(
37 ::LevelSummary
const& levelSummary,
38 ::ContentType
const contentType,
42 virtual ::std::optional<::World::PackActionError> activatePack(
43 ::LevelSummary
const& levelSummary,
44 ::ContentType
const contentType,
45 ::std::string
const& packId,
50 virtual ::std::optional<::World::PackActionError> deactivatePack(
51 ::LevelSummary
const& levelSummary,
52 ::ContentType
const contentType,
53 ::std::string
const& packId,
58 virtual ::std::optional<::World::PackActionError> continuePackActivation(::LevelSummary
const& levelSummary) = 0;
60 virtual ::std::optional<::World::PackActionError> continuePackDeactivation(::LevelSummary
const& levelSummary) = 0;
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
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
76 virtual ::World::PackDownloadProgressInfo getDownloadPackProgress() = 0;
78 virtual void getDownloadingPackTitles(::std::function<
void(::std::vector<::std::string>)> packTitlesCallback) = 0;
80 virtual void cancelDownloadPack() = 0;
82 virtual void savePacksData() = 0;
84 virtual bool hasNonAddonBehaviorPacks(::LevelSummary
const& levelSummary) = 0;
86 virtual bool hasBehaviorPacks(::LevelSummary
const& levelSummary) = 0;
88 virtual bool hasLockedPacks(::LevelSummary
const& levelSummary)
const = 0;
90 virtual ::std::optional<::World::PackActionError> changePackPriority(
91 ::LevelSummary
const& levelSummary,
92 ::ContentType
const contentType,
93 ::std::string
const& packId,
98 virtual ::World::PackCheckResult
99 checkDlc(::std::string
const& levelId, ::PackIdVersion
const& packIdVersion,
bool const isForRealms) = 0;
101 virtual ::std::vector<::World::PackDetails>
102 getPackDetailsForWorld(::LevelSummary
const& levelSummary, ::std::vector<::std::string>
const& packIds) = 0;
104 virtual bool getResourcePacksDirty() = 0;
106 virtual void refreshPacksData() = 0;
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