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/deps/json/Value.h"
15#include "mc/resources/BaseGameVersion.h"
16#include "mc/resources/ManifestOrigin.h"
17#include "mc/resources/ManifestType.h"
18#include "mc/resources/MinEngineVersion.h"
19#include "mc/resources/PackCapability.h"
20#include "mc/resources/PackManifestFormat.h"
21#include "mc/resources/PackScope.h"
22#include "mc/resources/TemplateLockState.h"
23
24// auto generated forward declare list
25// clang-format off
28struct ModuleIdentifier;
29// clang-format on
30
32public:
33 // PackManifest inner types define
34 enum class PackRedownloadableState : int {
35 Redownloadable = 0,
36 NotRedownloadable = 1,
37 Unknown = 2,
38 };
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 56, ::ResourceLocation> mLocation;
44 ::ll::TypedStorage<8, 48, ::PackIdVersion> mIdentity;
45 ::ll::TypedStorage<8, 24, ::ContentIdentity> mContentIdentity;
46 ::ll::TypedStorage<8, 32, ::MinEngineVersion> mMinEngineVersion;
47 ::ll::TypedStorage<8, 32, ::BaseGameVersion> mRequiredBaseGameVersion;
48 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::PackCapability::TrustLevel>> mCapabilities;
49 ::ll::TypedStorage<8, 32, ::std::string> mName;
50 ::ll::TypedStorage<8, 32, ::std::string> mDescription;
51 ::ll::TypedStorage<1, 1, bool> mExpired;
52 ::ll::TypedStorage<8, 56, ::ResourceLocation> mPackIconLocation;
53 ::ll::TypedStorage<8, 24, ::std::vector<::ResourceInformation>> mModules;
54 ::ll::TypedStorage<8, 24, ::std::vector<::PackIdVersion>> mPackDependencies;
55 ::ll::TypedStorage<8, 24, ::std::vector<::ModuleIdentifier>> mModuleDependencies;
56 ::ll::TypedStorage<8, 24, ::std::vector<::LegacyPackIdVersion>> mLegacyModuleDependencies;
57 ::ll::TypedStorage<8, 16, ::Json::Value> mSettings;
58 ::ll::TypedStorage<8, 136, ::ResourceMetadata> mMetadata;
59 ::ll::TypedStorage<1, 1, ::PackType> mPackType;
60 ::ll::TypedStorage<4, 4, ::PackCategory> mPackCategory;
61 ::ll::TypedStorage<1, 1, ::PackOrigin> mPackOrigin;
62 ::ll::TypedStorage<1, 1, ::ManifestOrigin> mManifestOrigin;
63 ::ll::TypedStorage<1, 1, ::ManifestType> mManifestType;
64 ::ll::TypedStorage<1, 1, bool> mIsHidden;
65 ::ll::TypedStorage<8, 8, uint64> mSize;
66 ::ll::TypedStorage<8, 32, ::std::string> mLastModifiedDate;
67 ::ll::TypedStorage<1, 1, bool> mHasValidUUID;
68 ::ll::TypedStorage<1, 1, bool> mHasPlugins;
69 ::ll::TypedStorage<1, 1, bool> mHasClientScript;
70 ::ll::TypedStorage<1, 1, bool> mHasEducationMetadata;
71 ::ll::TypedStorage<1, 1, bool> mIsPlatformLocked;
72 ::ll::TypedStorage<1, 1, bool> mIsRandomSeedAllowed;
73 ::ll::TypedStorage<1, 1, bool> mIsTitleLocked;
74 ::ll::TypedStorage<4, 4, ::PackCapability::TrustLevel> mMaximumAllowedTrustLevel;
75 ::ll::TypedStorage<1, 1, ::TemplateLockState> mTemplateOptionLockState;
76 ::ll::TypedStorage<1, 1, ::PackScope> mScope;
77 ::ll::TypedStorage<8, 24, ::ContentIdentity> mSourceIdentity;
78 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLanguageCodesForPackKeywords;
79 ::ll::TypedStorage<4, 4, ::PackManifest::PackRedownloadableState> mPackRedownloadableState;
80 ::ll::TypedStorage<1, 1, ::PackManifestFormat> mFormatVersion;
81 ::ll::TypedStorage<1, 1, ::PackManifestFormat> mOriginalFormatVersion;
82 // NOLINTEND
83
84public:
85 // prevent constructor by default
86 PackManifest& operator=(PackManifest const&);
88
89public:
90 // virtual functions
91 // NOLINTBEGIN
92 // vIndex: 0
93 virtual ~PackManifest() /*override*/;
94
95 // vIndex: 1
96 virtual ::std::unique_ptr<::PackManifest> clone() const;
97 // NOLINTEND
98
99public:
100 // member functions
101 // NOLINTBEGIN
102 MCAPI PackManifest(::PackManifest const&);
103
104 MCAPI explicit PackManifest(::ManifestType type);
105
106 MCAPI void _serailizeLegacyModuleDependencies(::Json::Value& destination) const;
107
108 MCAPI void _serializeDependencies(::Json::Value& destination) const;
109
110 MCAPI void _serializeHeader(::Json::Value& destination) const;
111
112 MCAPI void _serializeMeta(::Json::Value& destination) const;
113
114 MCAPI void _serializeModules(::Json::Value& destination) const;
115
116 MCAPI void addModule(::ResourceInformation const& resourceInfo);
117
118 MCAPI void addPackCapability(::std::string_view capability, ::PackCapability::TrustLevel trustLevel);
119
120 MCAPI ::std::string getDescription() const;
121
122 MCAPI ::std::string getName() const;
123
124 MCAPI ::std::string getNameForTelemetry() const;
125
126 MCAPI bool hasPackCapability(::std::string_view capability) const;
127
128 MCAPI bool isRestrictedPack() const;
129
130 MCAPI bool isUsingPackNameKeyword() const;
131
132 MCAPI void setDescription(::std::string const& description);
133
134 MCAPI void setLastModifiedDate(int64 lastModifiedDate);
135
136 MCAPI void setLocalizedNameKeywords(::std::unordered_map<::std::string, ::std::string> const& localizationNameMap);
137 // NOLINTEND
138
139public:
140 // static variables
141 // NOLINTBEGIN
142 MCAPI static ::std::string const& MarioPackId();
143
144 MCAPI static ::std::unordered_map<::std::string, ::PackScope> const& STRING_TO_PACK_SCOPE();
145 // NOLINTEND
146
147public:
148 // constructor thunks
149 // NOLINTBEGIN
150 MCAPI void* $ctor(::PackManifest const&);
151
152 MCAPI void* $ctor(::ManifestType type);
153 // NOLINTEND
154
155public:
156 // destructor thunk
157 // NOLINTBEGIN
158 MCAPI void $dtor();
159 // NOLINTEND
160
161public:
162 // virtual function thunks
163 // NOLINTBEGIN
164 MCAPI ::std::unique_ptr<::PackManifest> $clone() const;
165 // NOLINTEND
166
167public:
168 // vftables
169 // NOLINTBEGIN
170 MCNAPI static void** $vftable();
171 // NOLINTEND
172};
Definition EnableNonOwnerReferences.h:7
Definition Value.h:16
Definition PackManifest.h:31
static MCAPI void ** $vftable()
Definition ResourceInformation.h:5
Definition LegacyPackIdVersion.h:10
Definition ModuleIdentifier.h:5