21class CerealItemComponentFactory {
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;
56 MCAPI ::CerealItemComponentFactory::ComponentMetadata&
59 MCAPI ::CerealItemComponentFactory::ComponentMetadata&
62 MCAPI ~ComponentMetadata();
88 ::std::equal_to<void>>>
89 mRegisteredComponents;
90 ::ll::TypedStorage<8, 24, ::SemVersion> mReleasedMinFormatVersionForAnyComponent;
95 CerealItemComponentFactory& operator=(CerealItemComponentFactory
const&);
96 CerealItemComponentFactory(CerealItemComponentFactory
const&);
97 CerealItemComponentFactory();
102 MCAPI ::CerealItemComponentFactory& operator=(::CerealItemComponentFactory&&);
111 MCAPI
static void addComponentMetadata(
113 ::std::string
const& componentName,
115 ::std::optional<::SemVersion> releasedMinFormatVersion
118 MCAPI static ::std::shared_ptr<::ItemComponent>
121 MCAPI
static void deprecateComponentStartingFromVersion(
122 ::std::string
const& name,
127 MCAPI static ::std::optional<::SemVersion>
130 MCAPI
static bool isComponentBasedItemSchema(
132 ::rapidjson::GenericValue<
133 ::rapidjson::UTF8<char>,
134 ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>>
const& itemData,
141 updateReleasedMinFormatVersionForAnyComponentIfLower(::CerealItemComponentFactory& instance,
::SemVersion version);
143 MCAPI
static bool validateCerealComponent(
144 ::std::string
const& componentName,
149 ::JsonBetaState canUseBeta
Definition PackLoadContext.h:20