29 struct ComponentMetadata {
32 using Ctor = ::std::unique_ptr<::ItemComponent> (*)();
39 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ItemComponent> (*)()> makeUnique;
40 ::ll::TypedStorage<8, 24, ::std::vector<::PackLoadRequirement>> requirements;
41 ::ll::TypedStorage<8, 32, ::std::optional<::SemVersion>> releasedMinFormatVersion;
42 ::ll::TypedStorage<8, 32, ::std::optional<::SemVersion>> deprecatedVersion;
43 ::ll::TypedStorage<8, 24, ::CerealSchemaUpgradeSet> versionUpgrades;
49 ComponentMetadata& operator=(ComponentMetadata
const&);
57 MCAPI ::CerealItemComponentFactory::ComponentMetadata&
60 MCAPI ~ComponentMetadata();
79 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::CerealItemComponentFactory::ComponentMetadata>>
80 mRegisteredComponents;
81 ::ll::TypedStorage<8, 24, ::SemVersion> mReleasedMinFormatVersionForAnyComponent;
90 MCAPI
static void addComponentMetadata(
92 ::std::string
const& componentName,
94 ::std::optional<::SemVersion> releasedMinFormatVersion
97 MCAPI static ::std::shared_ptr<::ItemComponent>
102 MCAPI
static void deprecateComponentStartingFromVersion(
103 ::std::string
const& name,
108 MCAPI
static bool isComponentBasedItemSchema(
116 MCAPI
static bool validateCerealComponent(
117 ::std::string
const& componentName,
122 ::JsonBetaState canUseBeta
Definition IPackLoadContext.h:20