LeviLamina
Loading...
Searching...
No Matches
ComponentItemDataLoader.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/puv/LoadResult.h"
8#include "mc/world/item/components/CerealComponentItemDataLoader.h"
9
10// auto generated forward declare list
11// clang-format off
12class PackLoadContext;
13class SemVersion;
16namespace Json { class Value; }
17namespace SharedTypes::Legacy { struct ComponentItemData; }
18namespace cereal { struct ReflectionCtx; }
19// clang-format on
20
21class ComponentItemDataLoader {
22public:
23 // ComponentItemDataLoader inner types define
24 using Validator = ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)>;
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx const>> mCtx;
30 ::ll::TypedStorage<8, 280, ::CerealComponentItemDataLoader> mLoader;
31 ::ll::TypedStorage<8, 8, ::PackLoadContext const&> mPackLoadContext;
32 ::ll::TypedStorage<1, 1, bool> mIsServer;
33 ::ll::TypedStorage<8, 64, ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)>> mValidatorFn;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 ComponentItemDataLoader& operator=(ComponentItemDataLoader const&);
39 ComponentItemDataLoader(ComponentItemDataLoader const&);
40 ComponentItemDataLoader();
41
42public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI ComponentItemDataLoader(
46 ::SemVersion const& documentVersion,
47 ::PackLoadContext const& packLoadContext,
48 bool isServer,
50 ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)> validatorFn
51 );
52
53 MCAPI ::Puv::LoadResult<::ComponentItemData_v1_26_0> _parseCereal(::Json::Value const& input) const;
54
55 MCAPI ::std::pair<::SharedTypes::Legacy::ComponentItemData, bool> _parseLegacyComponents(::Json::Value input) const;
56
57 MCAPI ::Puv::LoadResult<::ComponentItemDataAll_Latest> load(::Json::Value const& input) const;
58
59 MCAPI ~ComponentItemDataLoader();
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static bool validateResult(
67 ::std::string const& itemFullName,
68 ::SemVersion const& documentVersion
69 );
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(
76 ::SemVersion const& documentVersion,
77 ::PackLoadContext const& packLoadContext,
78 bool isServer,
80 ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)> validatorFn
81 );
82 // NOLINTEND
83
84public:
85 // destructor thunk
86 // NOLINTBEGIN
87 MCAPI void $dtor();
88 // NOLINTEND
89};
Definition Value.h:16
Definition PackLoadContext.h:20
Definition LoadResult.h:8
Definition SemVersion.h:15
Definition ComponentItemDataAll_Latest.h:10
Definition ComponentItemData_v1_26_0.h:17
Definition ComponentItemData.h:17
Definition ReflectionCtx.h:11
Definition ctx.h:5