LeviLamina
Loading...
Searching...
No Matches
ItemComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/components/IItemComponentLegacyFactoryData.h"
7
8// auto generated forward declare list
9// clang-format off
11class ComponentItem;
12class CompoundTag;
13class SemVersion;
14namespace cereal { struct ReflectionCtx; }
15// clang-format on
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 8, ::ComponentItem*> mOwner;
22 // NOLINTEND
23
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual ~ItemComponent() /*override*/ = default;
28
29 virtual bool checkComponentDataForContentErrors() const;
30
31 virtual void writeSettings();
32
33 virtual bool isNetworkComponent() const;
34
35 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
36
37 virtual bool initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
38
39 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
40
41 virtual void _initializeComponent(::ComponentItem& owner);
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI void initializeComponent(::ComponentItem* owner);
48
49 MCAPI bool initializeComponentFromNetwork(
50 ::CompoundTag const& tag,
52 ::ComponentItem* owner
53 );
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
59 MCAPI static void bindItemComponentType(::cereal::ReflectionCtx& ctx);
60
61 MCFOLD static void registerVersionUpgrades(::CerealSchemaUpgradeSet& schemaUpgrades);
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCFOLD bool $checkComponentDataForContentErrors() const;
68
69 MCFOLD void $writeSettings();
70
71 MCFOLD bool $isNetworkComponent() const;
72
73 MCFOLD ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
74
75 MCFOLD bool $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
76
77 MCFOLD void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
78
79 MCFOLD void $_initializeComponent(::ComponentItem& owner);
80
81
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCAPI static void** $vftable();
88 // NOLINTEND
89};
Definition CerealSchemaUpgradeSet.h:10
Definition ComponentItem.h:55
Definition CompoundTag.h:23
Definition ItemComponent.h:17
Definition SemVersion.h:15
Definition IItemComponentLegacyFactoryData.h:5
Definition ReflectionCtx.h:11
Definition ctx.h:5