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 MCAPI ::CerealItemComponentFactory::ComponentMetadata&
51
52 MCAPI ~ComponentMetadata();
53 // NOLINTEND
54
55 public:
56 // constructor thunks
57 // NOLINTBEGIN
59 // NOLINTEND
60
61 public:
62 // destructor thunk
63 // NOLINTBEGIN
64 MCAPI 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 MCAPI static void
85 addAllComponentUpgrades(::CerealDocumentUpgrader& documentUpgrader, ::cereal::ReflectionCtx const& ctx);
86
87 MCAPI static void addComponentMetadata(
89 ::std::string const& componentName,
91 ::std::optional<::SemVersion> releasedMinFormatVersion
92 );
93
94 MCAPI static ::std::shared_ptr<::ItemComponent>
95 constructItemComponent(::std::string const& name, ::cereal::ReflectionCtx const& ctx);
96
97 MCAPI static ::CerealItemComponentFactory* contextInstanceIfAvailable(::cereal::ReflectionCtx const& ctx);
98
99 MCAPI static void deprecateComponentStartingFromVersion(
100 ::std::string const& name,
101 ::SemVersion deprecatedVersion,
103 );
104
105 MCAPI static bool isComponentBasedItemSchema(
106 ::SemVersion const& formatVersion,
107 ::Json::Value const& itemData,
109 );
110
111 MCAPI 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
Definition Experiments.h:14
Definition IPackLoadContext.h:17
Definition ItemComponent.h:16
Definition Value.h:16
Definition SemVersion.h:15
Definition CerealItemComponentFactory.h:27
Definition ReflectionCtx.h:11
Definition ctx.h:5
Definition Alias.h:14