LeviLamina
Loading...
Searching...
No Matches
PackManifest.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/resource/ContentIdentity.h"
7#include "mc/deps/core/resource/PackCategory.h"
8#include "mc/deps/core/resource/PackIdVersion.h"
9#include "mc/deps/core/resource/PackOrigin.h"
10#include "mc/deps/core/resource/PackType.h"
11#include "mc/deps/core/resource/ResourceLocation.h"
12#include "mc/deps/core/resource/ResourceMetadata.h"
13#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
14#include "mc/resources/BaseGameVersion.h"
15#include "mc/resources/ManifestOrigin.h"
16#include "mc/resources/ManifestType.h"
17#include "mc/resources/MinEngineVersion.h"
18#include "mc/resources/PackCapability.h"
19#include "mc/resources/PackManifestFormat.h"
20#include "mc/resources/PackScope.h"
21#include "mc/resources/TemplateLockState.h"
22
23// auto generated forward declare list
24// clang-format off
27struct ModuleIdentifier;
28namespace Json { class Value; }
29namespace SharedTypes::v3_0_0::PackManifestDefinition { struct DropdownSetting; }
30namespace SharedTypes::v3_0_0::PackManifestDefinition { struct LabelSetting; }
31namespace SharedTypes::v3_0_0::PackManifestDefinition { struct SliderSetting; }
32namespace SharedTypes::v3_0_0::PackManifestDefinition { struct ToggleSetting; }
33// clang-format on
34
36public:
37 // PackManifest inner types define
38 enum class PackRedownloadableState : int {
39 Redownloadable = 0,
40 NotRedownloadable = 1,
41 Unknown = 2,
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<1, 1, ::ManifestType> mManifestType;
48 ::ll::TypedStorage<1, 1, ::ManifestOrigin> mManifestOrigin;
49 ::ll::TypedStorage<8, 56, ::ResourceLocation> mLocation;
50 ::ll::TypedStorage<8, 56, ::ResourceLocation> mPackIconLocation;
51 ::ll::TypedStorage<8, 24, ::ContentIdentity> mContentIdentity;
52 ::ll::TypedStorage<8, 24, ::ContentIdentity> mSourceIdentity;
53 ::ll::TypedStorage<4, 4, ::PackCategory> mPackCategory;
54 ::ll::TypedStorage<1, 1, ::PackOrigin> mPackOrigin;
55 ::ll::TypedStorage<1, 1, bool> mIsTitleLocked;
56 ::ll::TypedStorage<1, 1, bool> mExpired;
57 ::ll::TypedStorage<8, 8, uint64> mSize;
58 ::ll::TypedStorage<8, 32, ::std::string> mLastModifiedDate;
59 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLanguageCodesForPackKeywords;
60 ::ll::TypedStorage<1, 1, bool> mFailsGameVersionMatch;
61 ::ll::TypedStorage<1, 1, ::PackManifestFormat> mFormatVersion;
62 ::ll::TypedStorage<1, 1, ::PackManifestFormat> mOriginalFormatVersion;
63 ::ll::TypedStorage<8, 32, ::std::string> mName;
64 ::ll::TypedStorage<8, 32, ::std::string> mDescription;
65 ::ll::TypedStorage<8, 48, ::PackIdVersion> mIdentity;
66 ::ll::TypedStorage<1, 1, ::PackScope> mPackScope;
67 ::ll::TypedStorage<1, 1, ::PackType> mPackType;
68 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mRequiredBaseGameVersion;
69 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
70 ::ll::TypedStorage<1, 1, ::TemplateLockState> mTemplateOptionLockState;
71 ::ll::TypedStorage<4, 4, ::PackManifest::PackRedownloadableState> mPackReDownloadableState;
72 ::ll::TypedStorage<4, 4, ::PackCapability::TrustLevel> mMaximumAllowedTrustLevel;
73 ::ll::TypedStorage<1, 1, bool> mIsHidden;
74 ::ll::TypedStorage<1, 1, bool> mIsPlatformLocked;
75 ::ll::TypedStorage<1, 1, bool> mIsRandomSeedAllowed;
76 ::ll::TypedStorage<1, 1, bool> mHasClientScript;
77 ::ll::TypedStorage<1, 1, bool> mHasEducationMetadata;
78 ::ll::TypedStorage<1, 1, bool> mHasPlugins;
79 ::ll::TypedStorage<1, 1, bool> mHasValidUUID;
80 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceInformation>> mModules;
81 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyPackIdVersion>> mLegacyModuleDependencies;
82 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mPackDependencies;
83 ::ll::TypedStorage<8, 24, ::std::vector<::ModuleIdentifier>> mModuleDependencies;
84 ::ll::TypedStorage<
85 8,
86 32,
87 ::std::optional<::std::vector<::std::variant<
92 mPackSettingsDef;
93 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::PackCapability::TrustLevel>> mCapabilities;
94 ::ll::TypedStorage<8, 136, ::ResourceMetadata> mMetadata;
95 // NOLINTEND
96
97public:
98 // prevent constructor by default
99 PackManifest& operator=(PackManifest const&);
100 PackManifest();
101
102public:
103 // virtual functions
104 // NOLINTBEGIN
105 // vIndex: 0
106 virtual ~PackManifest() /*override*/;
107
108 // vIndex: 1
109 virtual ::std::unique_ptr<::PackManifest> clone() const;
110 // NOLINTEND
111
112public:
113 // member functions
114 // NOLINTBEGIN
115 MCAPI PackManifest(::PackManifest const&);
116
117 MCAPI explicit PackManifest(::ManifestType type);
118
119 MCAPI void _serializeDependencies(::Json::Value& destination) const;
120
121 MCAPI void _serializeHeader(::Json::Value& destination) const;
122
123 MCAPI void _serializeModules(::Json::Value& destination) const;
124
125 MCAPI void addModule(::ResourceInformation const& resourceInfo);
126
127 MCAPI void addModuleDependency(::ModuleIdentifier const& moduleId);
128
129 MCAPI void addPackCapability(::std::string_view capability, ::PackCapability::TrustLevel trustLevel);
130
131 MCAPI void addPackDependency(::PackIdVersion const& packId);
132
133 MCAPI ::std::string getDescription() const;
134
135 MCAPI ::std::string getName() const;
136
137 MCAPI ::std::string getNameForTelemetry() const;
138
139 MCAPI ::std::string getNameWithVersionForTelemetry() const;
140
141 MCAPI ::std::optional<::std::vector<::std::string>> getPackSettingsLocKeys() const;
142
143 MCAPI bool hasPackCapability(::std::string_view capability) const;
144
145 MCAPI void serialize(::PackManifestFormat formatVersion, ::Json::Value& destination) const;
146
147 MCAPI void setDescription(::std::string const& description);
148
149 MCAPI void setIdentity(::PackIdVersion const& identity);
150
151 MCAPI void setLastModifiedDate(int64 lastModifiedDate);
152
153 MCAPI void setLocalizedNameKeywords(::std::unordered_map<::std::string, ::std::string> const& localizationNameMap);
154
155 MCAPI void setMetadata(::ResourceMetadata const& metadata);
156
157 MCAPI void setMinEngineVersion(::MinEngineVersion const& engineVersion);
158
159 MCAPI void setName(::std::string const& name);
160
161 MCAPI void setPackSettingsDef(
162 ::std::vector<::std::variant<
167 );
168 // NOLINTEND
169
170public:
171 // static functions
172 // NOLINTBEGIN
173 MCAPI static ::PackScope StringToPackScope(::std::string const& str);
174 // NOLINTEND
175
176public:
177 // static variables
178 // NOLINTBEGIN
179 MCAPI static ::std::string const& MarioPackId();
180 // NOLINTEND
181
182public:
183 // constructor thunks
184 // NOLINTBEGIN
185 MCAPI void* $ctor(::PackManifest const&);
186
187 MCAPI void* $ctor(::ManifestType type);
188 // NOLINTEND
189
190public:
191 // destructor thunk
192 // NOLINTBEGIN
193 MCAPI void $dtor();
194 // NOLINTEND
195
196public:
197 // virtual function thunks
198 // NOLINTBEGIN
199 MCAPI ::std::unique_ptr<::PackManifest> $clone() const;
200 // NOLINTEND
201
202public:
203 // vftables
204 // NOLINTBEGIN
205 MCNAPI static void** $vftable();
206 // NOLINTEND
207};
Definition EnableNonOwnerReferences.h:7
Definition Value.h:16
Definition MinEngineVersion.h:10
Definition PackManifest.h:35
static MCAPI void ** $vftable()
Definition ResourceInformation.h:11
Definition ResourceMetadata.h:5
Definition LegacyPackIdVersion.h:10
Definition ModuleIdentifier.h:5
Definition PackIdVersion.h:10
Definition serialize.h:11