LeviLamina
Loading...
Searching...
No Matches
CerealHelpers.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class BlockPos;
8namespace CerealHelpers { class FileReferenceLoadContext; }
9namespace CerealHelpers { class FileReferenceLoader; }
10namespace CerealHelpers { struct FileReference; }
11namespace CerealHelpers { struct Member; }
12namespace Core { class Path; }
13namespace Core { class Result; }
14namespace Json { class Value; }
15namespace SharedTypes::v1_21_20 { struct FilterGroupData; }
16namespace SharedTypes::v1_21_20 { struct FilterTestData; }
17namespace cereal { class StrictJsonLoader; }
18namespace cereal { struct ReflectionCtx; }
19// clang-format on
20
21namespace CerealHelpers {
22// functions
23// NOLINTBEGIN
24MCNAPI_C bool _beginFromFileReference(
25 ::CerealHelpers::FileReference const& fileReference,
26 ::CerealHelpers::FileReferenceLoadContext const& context,
27 ::std::string& outJsonFileData
28);
29
30MCNAPI_C ::Core::Result _beginLoadFromJsonFile(
31 ::CerealHelpers::FileReferenceLoader& fileReferenceLoader,
32 ::Core::Path const& path,
33 ::std::string& outJsonFileData
34);
35
36MCNAPI_C void _endFromFileReference(
37 ::std::optional<::std::vector<::std::string>>&& errors,
38 ::CerealHelpers::FileReferenceLoadContext const& context
39);
40
41MCNAPI_C ::Core::Result _endLoadFromJsonFile(
42 ::cereal::StrictJsonLoader& jsonLoader,
43 ::CerealHelpers::FileReferenceLoader& fileReferenceLoader,
44 ::Core::Path const& path
45);
46
47MCNAPI void bindBoundingBox(::cereal::ReflectionCtx& ctx);
48
49MCNAPI void bindHelpers(::cereal::ReflectionCtx& ctx);
50
51MCNAPI void bindIntRange(::cereal::ReflectionCtx& ctx);
52
53MCNAPI void bindMceUUID(::cereal::ReflectionCtx& ctx);
54
55MCNAPI ::std::array<int, 3> blockPosAsArray(::BlockPos const& instance);
56
57MCNAPI bool checkBrightnessSchema(
58 ::rapidjson::
59 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
60 uchar min,
61 uchar max
62);
63
64MCNAPI bool checkColor255RGBSchema(
65 ::rapidjson::
66 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
67);
68
69MCNAPI bool checkDefinitionTriggerSchema(
70 ::rapidjson::
71 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
72);
73
74MCNAPI bool checkEnumSchema(
75 ::rapidjson::
76 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
77 ::gsl::span<::std::string const> values
78);
79
80MCNAPI bool checkExpressionNodeSchema(
81 ::rapidjson::
82 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
83);
84
85MCNAPI bool checkFloatSchema(
86 ::rapidjson::
87 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
88 ::std::optional<float> const& min,
89 ::std::optional<float> const& max
90);
91
92MCNAPI bool checkItemDescriptorSchema(
93 ::rapidjson::
94 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
95);
96
97MCNAPI bool checkMembers(
98 ::rapidjson::
99 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
100 ::std::initializer_list<::CerealHelpers::Member> members
101);
102
103MCNAPI bool checkVec3Schema(
104 ::rapidjson::
105 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
106);
107
108MCNAPI void initialize(::cereal::ReflectionCtx& ctx);
109
110MCNAPI ::std::vector<::std::string>
111parseFilterGroupData(::SharedTypes::v1_21_20::FilterGroupData& data, ::Json::Value const& json);
112
113MCNAPI ::std::vector<::std::string>
114parseFilterTestData(::SharedTypes::v1_21_20::FilterTestData& data, ::Json::Value const& json);
115// NOLINTEND
116
117// static variables
118// NOLINTBEGIN
119MCNAPI ::std::add_lvalue_reference_t<char const[]> REGEX_MATERIAL_NAME();
120
121MCNAPI ::std::add_lvalue_reference_t<char const[]> REGEX_NAMESPACE_NAME();
122
123MCNAPI_C ::std::add_lvalue_reference_t<char const[]> REGEX_NO_MINECRAFT_NAMESPACE_NAME();
124// NOLINTEND
125
126} // namespace CerealHelpers
Definition BlockPos.h:19
Definition FileReferenceLoadContext.h:10
Definition FileReferenceLoader.h:13
Definition Path.h:10
Definition Result.h:11
Definition Value.h:16
Definition StrictJsonLoader.h:10
Definition FileReference.h:12
Definition Member.h:7
Definition FilterGroupData.h:16
Definition FilterTestData.h:12
Definition ReflectionCtx.h:11