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
41 ComponentMetadata& operator=(ComponentMetadata const&);
43
44 public:
45 // member functions
46 // NOLINTBEGIN
48
49 MCNAPI ::CerealItemComponentFactory::ComponentMetadata&
51
53 // NOLINTEND
54
55 public:
56 // constructor thunks
57 // NOLINTBEGIN
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCNAPI void $dtor();
65 // NOLINTEND
66 };
67
68public:
69 // member variables
70 // NOLINTBEGIN
73 // NOLINTEND
74
75public:
76 // prevent constructor by default
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCNAPI static void
86
87 MCNAPI static void addComponentMetadata(
89 ::std::string const& componentName,
91 ::std::optional<::SemVersion> releasedMinFormatVersion
92 );
93
94 MCNAPI static ::std::shared_ptr<::ItemComponent>
95 constructItemComponent(::std::string const& name, ::cereal::ReflectionCtx const& ctx);
96
97 MCNAPI static ::CerealItemComponentFactory* contextInstanceIfAvailable(::cereal::ReflectionCtx const& ctx);
98
100 ::std::string const& name,
101 ::SemVersion deprecatedVersion,
103 );
104
105 MCNAPI static bool isComponentBasedItemSchema(
106 ::SemVersion const& formatVersion,
107 ::Json::Value const& itemData,
109 );
110
111 MCNAPI static bool validateCerealComponent(
112 ::std::string componentName,
113 ::SemVersion const& documentVersion,
114 ::IPackLoadContext const& packLoadContext,
116 bool forBetaParsing,
117 ::JsonBetaState canUseBeta
118 );
119 // NOLINTEND
120};
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)
static MCAPI void deprecateComponentStartingFromVersion(::std::string const &name, ::SemVersion deprecatedVersion, ::cereal::ReflectionCtx const &ctx)
Definition Experiments.h:14
Definition IPackLoadContext.h:20
Definition ItemComponent.h:16
Definition Value.h:16
Definition SemVersion.h:16
Definition CerealItemComponentFactory.h:27
MCAPI ComponentMetadata(::CerealItemComponentFactory::ComponentMetadata const &)
MCAPI void * $ctor(::CerealItemComponentFactory::ComponentMetadata const &)
MCAPI::CerealItemComponentFactory::ComponentMetadata & operator=(::CerealItemComponentFactory::ComponentMetadata &&)
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14