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;
18namespace Json { class Value; }
19namespace cereal { struct ReflectionCtx; }
20// clang-format on
21
22class ComponentItemDataLoader {
23public:
24 // ComponentItemDataLoader inner types define
25 using Validator = ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::cereal::ReflectionCtx const>> mCtx;
31 ::ll::TypedStorage<8, 280, ::CerealComponentItemDataLoader> mLoader;
32 ::ll::TypedStorage<8, 8, ::PackLoadContext&> mPackLoadContext;
33 ::ll::TypedStorage<1, 1, bool> mIsServer;
34 ::ll::TypedStorage<8, 64, ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)>> mValidatorFn;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 ComponentItemDataLoader& operator=(ComponentItemDataLoader const&);
40 ComponentItemDataLoader(ComponentItemDataLoader const&);
41 ComponentItemDataLoader();
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI ComponentItemDataLoader(
47 ::SemVersion const& documentVersion,
48 ::PackLoadContext& packLoadContext,
49 bool isServer,
51 ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)> validatorFn
52 );
53
54 MCAPI ::Puv::LoadResult<::ComponentItemData_v1_26_0> _parseCereal(::Json::Value const& input) const;
55
56 MCAPI ::std::optional<::LegacyEventItemComponentData> _parseEvents(::Json::Value const& input) const;
57
58 MCAPI ::std::pair<::ComponentItemData_Legacy, bool> _parseLegacyComponents(::Json::Value input) const;
59
60 MCAPI ::Puv::LoadResult<::ComponentItemDataAll_Latest> load(::Json::Value const& input) const;
61
62 MCAPI ~ComponentItemDataLoader();
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCAPI void* $ctor(
69 ::SemVersion const& documentVersion,
70 ::PackLoadContext& packLoadContext,
71 bool isServer,
73 ::std::function<void(::Puv::LoadResult<::ComponentItemDataAll_Latest>&)> validatorFn
74 );
75 // NOLINTEND
76
77public:
78 // destructor thunk
79 // NOLINTBEGIN
80 MCAPI void $dtor();
81 // NOLINTEND
82};
Definition Value.h:16
Definition PackLoadContext.h:20
Definition LoadResult.h:8
Definition SemVersion.h:15
Definition ComponentItemDataAll_Latest.h:10
Definition ComponentItemData_Legacy.h:17
Definition ComponentItemData_v1_26_0.h:17
Definition LegacyEventItemComponentData.h:10
Definition ReflectionCtx.h:11
Definition ctx.h:5