3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/debug/log/LogArea.h"
7#include "mc/util/json_util/JsonSchemaObjectNode.h"
8#include "mc/world/item/ItemColor.h"
9#include "mc/world/level/block/BannerBlockType.h"
18namespace Core {
class Path; }
19namespace Core {
class Result; }
20namespace Json {
class Value; }
50MCNAPI
void LogMissingChildSchemaOption(
52 ::Json::Value
const& node,
53 ::std::string
const& missingName,
54 ::std::string
const& foundNodesStr,
55 ::std::string
const& optionsStr
58MCNAPI
void buildActorGoalSchema(
60 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_120::AvoidBlockGoalDefinition>>&
65MCNAPI
void buildActorGoalSchema(
67 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_120::AvoidMobTypeGoalDefinition>>&
72MCNAPI
void buildActorGoalSchema(
74 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_120::DigGoalDefinition>>& root,
78MCNAPI
void buildActorGoalSchema(
80 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_120::DrinkMilkGoalDefinition>>&
85MCNAPI
void buildActorGoalSchema(
87 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_100::EatMobGoalDefinition>>& root,
91MCNAPI
void buildActorGoalSchema(
92 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
93 ::JsonUtil::EmptyClass,
94 ::SharedTypes::v1_21_110::StayNearNoteblockGoalDefinition>>& root,
98MCNAPI
void buildActorGoalSchema(
100 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_100::ChargeAttackGoalDefinition>>&
102 ::std::string
const& name
105MCNAPI
void buildActorGoalSchema(
106 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
107 ::JsonUtil::EmptyClass,
108 ::SharedTypes::v1_21_100::CircleAroundAnchorGoalDefinition>>& root,
109 ::std::string
const& name
112MCNAPI
void buildActorGoalSchema(
113 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
114 ::JsonUtil::EmptyClass,
115 ::SharedTypes::v1_21_100::ControlledByPlayerGoalDefinition>>& root,
116 ::std::string
const& name
119MCNAPI
void buildActorGoalSchema(
120 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
121 ::JsonUtil::EmptyClass,
122 ::SharedTypes::v1_21_100::DragonFlamingGoalDefinition>>& root,
123 ::std::string
const& name
126MCNAPI
void buildActorGoalSchema(
127 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
128 ::JsonUtil::EmptyClass,
129 ::SharedTypes::v1_21_130::ExploreOutskirtsGoalDefinition>>& root,
130 ::std::string
const& name
133MCNAPI
void buildActorGoalSchema(
134 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
135 ::JsonUtil::EmptyClass,
136 ::SharedTypes::v1_21_130::InvestigateSuspiciousLocationGoalDefinition>>& root,
137 ::std::string
const& name
140MCNAPI
void buildActorGoalSchema(
142 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::RoarGoalDefinition>>& root,
143 ::std::string
const& name
146MCNAPI
void buildActorGoalSchema(
148 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SlimeAttackGoalDefinition>>&
150 ::std::string
const& name
153MCNAPI
void buildActorGoalSchema(
155 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SlimeFloatGoalDefinition>>&
157 ::std::string
const& name
160MCNAPI
void buildActorGoalSchema(
161 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
162 ::JsonUtil::EmptyClass,
163 ::SharedTypes::v1_21_110::SlimeKeepOnJumpingGoalDefinition>>& root,
164 ::std::string
const& name
167MCNAPI
void buildActorGoalSchema(
168 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
169 ::JsonUtil::EmptyClass,
170 ::SharedTypes::v1_21_110::SlimeRandomDirectionGoalDefinition>>& root,
171 ::std::string
const& name
174MCNAPI
void buildActorGoalSchema(
176 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SniffGoalDefinition>>& root,
177 ::std::string
const& name
180MCNAPI
void buildActorGoalSchema(
182 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SonicBoomGoalDefinition>>&
184 ::std::string
const& name
187MCNAPI
void buildActorGoalSchema(
189 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SwimIdleGoalDefinition>>&
191 ::std::string
const& name
194MCNAPI
void buildActorGoalSchema(
195 ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<
196 ::JsonUtil::EmptyClass,
197 ::SharedTypes::v1_21_110::SwimUpForBreathGoalDefinition>>& root,
198 ::std::string
const& name
201MCNAPI
void buildActorGoalSchema(
203 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SwimWanderGoalDefinition>>&
205 ::std::string
const& name
208MCNAPI
void buildActorGoalSchema(
210 ::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::SharedTypes::v1_21_110::SwoopAttackGoalDefinition>>&
212 ::std::string
const& name
215MCNAPI_C ::Core::Result deserializeFromFile(::Json::Value& json, ::Core::Path
const& path);
217MCNAPI
void eraseSchema(::HashedString
const& name, ::SemVersion
const& version);
219MCNAPI ::Json::Value& getMemberByCaseInsensitiveName(::Json::Value& node, ::std::string_view memberName);
221MCNAPI ::Json::Value
const&
222getMemberByCaseInsensitiveNameConst(::Json::Value
const& node, ::std::string_view memberName);
224MCNAPI
bool parseBannerBlockType(::BannerBlockType& outType, ::Json::Value
const& root);
227parseItem(::std::string& outItemName, ::std::string& outItemNamespace,
int& inoutItemAux, ::std::string_view inString);
229MCNAPI
bool parseItemColor(::ItemColor& outColor, ::Json::Value
const& root);
231MCNAPI
bool parseRange(::Json::Value
const& root,
int& outMin,
int& outMax);
233MCNAPI_C
bool parseRange(::Json::Value
const& root,
float& outMin,
float& outMax);
235MCNAPI
bool parseVec2(::Vec2& outVec, ::Json::Value
const& root);
237MCNAPI
bool parseVec3(::Vec3& outVec, ::Json::Value
const& root);
239MCNAPI_C
bool parseVec4(::Vec4& outVec, ::Json::Value
const& root);
241MCNAPI_C ::Json::Value patchJson(::Json::Value
const& base, ::Json::Value
const& patch,
char terminator);
243MCNAPI
void setDefaultPrettyName(::std::string& destPrettyName, ::HashedString
const& sourceName);
245MCNAPI
void unregisterSchema(::HashedString
const& name, ::SemVersion
const& version);
250MCNAPI ::HashedString
const& ACTOR_DEFINITION_TRIGGER_TYPE_NAME();
252MCNAPI ::HashedString
const& ACTOR_FILTER_GROUP_TYPE_NAME();
254MCNAPI ::HashedString
const& ARRAY_TYPE_NAME();
256MCNAPI ::HashedString
const& BOOL_TYPE_NAME();
258MCNAPI ::HashedString
const& ENTITIES_TYPE_NAME();
260MCNAPI ::HashedString
const& ENUM_TYPE_NAME();
262MCNAPI ::HashedString
const& FLOAT_RANGE_TYPE_NAME();
264MCNAPI ::HashedString
const& FLOAT_TYPE_NAME();
266MCNAPI ::HashedString
const& INT_RANGE_TYPE_NAME();
268MCNAPI ::HashedString
const& INT_TYPE_NAME();
270MCNAPI ::HashedString
const& MOLANG_TYPE_NAME();
272MCNAPI ::HashedString
const& OBJECT_TYPE_NAME();
274MCNAPI ::HashedString
const& STRING_TYPE_NAME();
276MCNAPI ::HashedString
const& VEC2_TYPE_NAME();
278MCNAPI ::HashedString
const& VEC3_TYPE_NAME();
280MCNAPI ::HashedString
const& VEC4_TYPE_NAME();
282MCNAPI ::HashedString
const& VERSION_TYPE_NAME();
Definition HashedString.h:5
Definition EmptyClass.h:7
Definition SemVersion.h:15
Definition ChargeAttackGoalDefinition.h:16
Definition CircleAroundAnchorGoalDefinition.h:16
Definition ControlledByPlayerGoalDefinition.h:15
Definition DragonFlamingGoalDefinition.h:15
Definition EatMobGoalDefinition.h:15
Definition RoarGoalDefinition.h:15
Definition SlimeAttackGoalDefinition.h:15
Definition SlimeFloatGoalDefinition.h:15
Definition SlimeKeepOnJumpingGoalDefinition.h:15
Definition SlimeRandomDirectionGoalDefinition.h:15
Definition SniffGoalDefinition.h:16
Definition SonicBoomGoalDefinition.h:15
Definition StayNearNoteblockGoalDefinition.h:15
Definition SwimIdleGoalDefinition.h:15
Definition SwimUpForBreathGoalDefinition.h:15
Definition SwimWanderGoalDefinition.h:15
Definition SwoopAttackGoalDefinition.h:16
Definition AvoidBlockGoalDefinition.h:19
Definition AvoidMobTypeGoalDefinition.h:19
Definition DigGoalDefinition.h:16
Definition DrinkMilkGoalDefinition.h:16
Definition ExploreOutskirtsGoalDefinition.h:16
Definition InvestigateSuspiciousLocationGoalDefinition.h:15