LeviLamina
Loading...
Searching...
No Matches
CerealItemComponentFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/resources/JsonBetaState.h"
7
8// auto generated forward declare list
9// clang-format off
11class Experiments;
13class ItemComponent;
14class SemVersion;
15namespace Json { class Value; }
16namespace cereal { struct ReflectionCtx; }
17// clang-format on
18
20public:
21 // CerealItemComponentFactory inner types declare
22 // clang-format off
23 struct ComponentMetadata;
24 // clang-format on
25
26 // CerealItemComponentFactory inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
37 // NOLINTEND
38
39 public:
40 // prevent constructor by default
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCNAPI ::CerealItemComponentFactory::ComponentMetadata&
49
50 MCNAPI ::CerealItemComponentFactory::ComponentMetadata&
52
54 // NOLINTEND
55
56 public:
57 // destructor thunk
58 // NOLINTBEGIN
59 MCNAPI void $dtor();
60 // NOLINTEND
61 };
62
63public:
64 // member variables
65 // NOLINTBEGIN
68 // NOLINTEND
69
70public:
71 // prevent constructor by default
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCNAPI static void
81
82 MCNAPI static void addComponentMetadata(
84 ::std::string const& componentName,
86 ::std::optional<::SemVersion> releasedMinFormatVersion
87 );
88
89 MCNAPI static ::std::shared_ptr<::ItemComponent>
90 constructItemComponent(::std::string const& name, ::cereal::ReflectionCtx const& ctx);
91
92 MCNAPI static ::CerealItemComponentFactory* contextInstanceIfAvailable(::cereal::ReflectionCtx const& ctx);
93
94 MCNAPI static bool isComponentBasedItemSchema(
95 ::SemVersion const& formatVersion,
96 ::Json::Value const& itemData,
98 );
99
100 MCNAPI static bool validateCerealComponent(
101 ::std::string componentName,
102 ::SemVersion const& documentVersion,
103 ::IPackLoadContext const& packLoadContext,
105 bool forBetaParsing,
106 ::JsonBetaState canUseBeta
107 );
108 // NOLINTEND
109};
Definition CerealDocumentUpgrader.h:13
Definition CerealItemComponentFactory.h:19
static MCAPI void addComponentMetadata(::cereal::ReflectionCtx &ctx, ::std::string const &componentName, ::CerealItemComponentFactory::ComponentMetadata &&metadata, ::std::optional<::SemVersion > releasedMinFormatVersion)
static MCAPI void addAllComponentUpgrades(::CerealDocumentUpgrader &documentUpgrader, ::cereal::ReflectionCtx const &ctx)
static MCAPI ::CerealItemComponentFactory * contextInstanceIfAvailable(::cereal::ReflectionCtx const &ctx)
static MCAPI ::std::shared_ptr<::ItemComponent > constructItemComponent(::std::string const &name, ::cereal::ReflectionCtx const &ctx)
static MCAPI bool isComponentBasedItemSchema(::SemVersion const &formatVersion, ::Json::Value const &itemData, ::cereal::ReflectionCtx const &ctx)
static MCAPI bool validateCerealComponent(::std::string componentName, ::SemVersion const &documentVersion, ::IPackLoadContext const &packLoadContext, ::cereal::ReflectionCtx const &ctx, bool forBetaParsing, ::JsonBetaState canUseBeta)
Definition Experiments.h:14
Definition IPackLoadContext.h:20
Definition ItemComponent.h:16
Definition Value.h:16
Definition SemVersion.h:15
Definition CerealItemComponentFactory.h:27
MCAPI::CerealItemComponentFactory::ComponentMetadata & operator=(::CerealItemComponentFactory::ComponentMetadata const &)
MCAPI::CerealItemComponentFactory::ComponentMetadata & operator=(::CerealItemComponentFactory::ComponentMetadata &&)
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14