Skip to content
LeviMC
English
AutoLightDark
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
24#ifdef LL_PLAT_C
25MCNAPI bool _beginFromFileReference(
26 ::CerealHelpers::FileReference const& fileReference,
27 ::CerealHelpers::FileReferenceLoadContext const& context,
28 ::std::string& outJsonFileData
29);
30
31MCNAPI ::Core::Result _beginLoadFromJsonFile(
32 ::CerealHelpers::FileReferenceLoader& fileReferenceLoader,
33 ::Core::Path const& path,
34 ::std::string& outJsonFileData
35);
36
37MCNAPI void _endFromFileReference(
38 ::std::optional<::std::vector<::std::string>>&& errors,
39 ::CerealHelpers::FileReferenceLoadContext const& context
40);
41
42MCNAPI ::Core::Result _endLoadFromJsonFile(
43 ::cereal::StrictJsonLoader& jsonLoader,
44 ::CerealHelpers::FileReferenceLoader& fileReferenceLoader,
45 ::Core::Path const& path
46);
47#endif
48
49MCNAPI void bindBoundingBox(::cereal::ReflectionCtx& ctx);
50
51MCNAPI void bindHelpers(::cereal::ReflectionCtx& ctx);
52
53MCNAPI void blockPosFromArray(::BlockPos& instance, ::std::array<int, 3> const& arr);
54
55MCNAPI bool checkColor255RGBSchema(
56 ::rapidjson::
57 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
58);
59
60MCNAPI bool checkEnumSchema(
61 ::rapidjson::
62 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
63 ::gsl::span<::std::string const> values
64);
65
66MCNAPI bool checkExpressionNodeSchema(
67 ::rapidjson::
68 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
69);
70
71MCNAPI bool checkItemDescriptorSchema(
72 ::rapidjson::
73 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
74);
75
76MCNAPI bool checkMembers(
77 ::rapidjson::
78 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value,
79 ::std::initializer_list<::CerealHelpers::Member> members
80);
81
82MCNAPI bool checkVec3Schema(
83 ::rapidjson::
84 GenericValue<::rapidjson::UTF8<char>, ::rapidjson::MemoryPoolAllocator<::rapidjson::CrtAllocator>> const& value
85);
86
87MCNAPI void initialize(::cereal::ReflectionCtx& ctx);
88
89MCNAPI ::std::vector<::std::string>
90legacyParseFilterGroupData(::SharedTypes::v1_21_20::FilterGroupData& data, ::Json::Value const& json);
91
92MCNAPI ::std::vector<::std::string>
93legacyParseFilterTestData(::SharedTypes::v1_21_20::FilterTestData& data, ::Json::Value const& json);
94// NOLINTEND
95
96// static variables
97// NOLINTBEGIN
98#ifdef LL_PLAT_C
99MCNAPI ::std::add_lvalue_reference_t<char const[]> REGEX_NAMESPACE_NAME();
100#endif
101// NOLINTEND
102
103} // namespace CerealHelpers
Definition BlockPos.h:14
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