LeviLamina
Loading...
Searching...
No Matches
BlockComponentDescription.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/json_util/JsonSchemaObjectNode.h"
7
8// auto generated forward declare list
9// clang-format off
12class CompoundTag;
13class EntityContext;
14class SemVersion;
16namespace JsonUtil { class EmptyClass; }
17namespace cereal { struct ReflectionCtx; }
18// clang-format on
19
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<1, 1, bool> mInitializedFromCode;
25 // NOLINTEND
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
31
32 virtual ::std::string const& getName() const;
33
34 virtual void initializeComponent(::EntityContext& entity) const;
35
36 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
37
38 virtual void initializeComponentFromCode(::EntityContext& entity) const;
39
40 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
41
42 virtual void buildSchema(
44 componentSchema,
45 ::BlockComponentFactory const& factory
46 ) const;
47
48 virtual bool isNetworkComponent() const;
49
50 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
51
52 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
53
54 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
55 // NOLINTEND
56
57public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCFOLD void $dtor();
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCFOLD ::std::string const& $getName() const;
67
68 MCFOLD void $initializeComponent(::EntityContext& entity) const;
69
70 MCFOLD void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
71
72 MCFOLD void $initializeComponentFromCode(::EntityContext& entity) const;
73
74 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
75
76 MCFOLD void $buildSchema(
78 componentSchema,
79 ::BlockComponentFactory const& factory
80 ) const;
81
82 MCFOLD bool $isNetworkComponent() const;
83
84 MCFOLD ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
85
86 MCFOLD void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
87
88 MCFOLD void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
89
90
91 // NOLINTEND
92
93public:
94 // vftables
95 // NOLINTBEGIN
96 MCNAPI static void** $vftable();
97 // NOLINTEND
98};
Definition BlockComponentFactory.h:24
Definition BlockComponentStorage.h:58
Definition CompoundTag.h:23
Definition EntityContext.h:16
Definition EmptyClass.h:7
Definition JsonSchemaObjectNode.h:8
Definition SemVersion.h:15
Definition BlockComponentDescription.h:20
static MCAPI void ** $vftable()
Definition BlockComponentGroupDescription.h:13
Definition ReflectionCtx.h:11
Definition ctx.h:5