LeviLamina
Loading...
Searching...
No Matches
BlockCustomComponentsComponentDescription.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/components/BlockComponentDescription.h"
7
8// auto generated forward declare list
9// clang-format off
12class CompoundTag;
13class SemVersion;
15namespace cereal { class DynamicValue; }
16namespace cereal { struct ReflectionCtx; }
17// clang-format on
18
20public:
21 // BlockCustomComponentsComponentDescription inner types declare
22 // clang-format off
23 struct ComponentOverrides;
24 // clang-format on
25
26 // BlockCustomComponentsComponentDescription inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, bool> overridePlayerInteract;
32 ::ll::TypedStorage<1, 1, bool> overridePlayerPlacing;
33 // NOLINTEND
34 };
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 24, ::std::vector<::BlockCustomComponentData>> mCustomComponentData;
40 ::ll::TypedStorage<
41 8,
42 64,
43 ::std::unordered_map<::std::string, ::BlockCustomComponentsComponentDescription::ComponentOverrides>>
44 mComponentOverrides;
45 ::ll::TypedStorage<1, 1, bool> mIsCustomComponentsV1;
46 ::ll::TypedStorage<1, 1, bool> mHasPlayerInteractEvent;
47 ::ll::TypedStorage<1, 1, bool> mHasPlayerPlacingEvent;
48 // NOLINTEND
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual ::std::string const& getName() const /*override*/;
54
55 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
56
57 virtual bool isNetworkComponent() const /*override*/;
58
59 virtual ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
60
61 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI void addCustomComponent(
68 ::std::string_view compName,
69 ::cereal::DynamicValue compData,
70 bool overridePlayerInteract,
71 bool overridePlayerPlacing
72 );
73 // NOLINTEND
74
75public:
76 // static functions
77 // NOLINTBEGIN
78 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
79
80 MCFOLD static ::SemVersion getV2ReleaseVersion();
81
82 MCAPI static void registerVersionUpgrades(::CerealSchemaUpgradeSet& schemaUpgrades);
83 // NOLINTEND
84
85public:
86 // static variables
87 // NOLINTBEGIN
88 MCAPI static ::std::string const& NameID();
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCAPI ::std::string const& $getName() const;
95
96 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
97
98 MCFOLD bool $isNetworkComponent() const;
99
100 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const&) const;
101
102 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
103
104
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
Definition BlockComponentStorage.h:63
Definition BlockCustomComponentsComponentDescription.h:19
Definition CerealSchemaUpgradeSet.h:10
Definition CompoundTag.h:23
Definition SemVersion.h:15
Definition DynamicValue.h:10
STL namespace.
Definition BlockComponentDescription.h:20
Definition BlockCustomComponentData.h:10
Definition BlockCustomComponentsComponentDescription.h:27
Definition ReflectionCtx.h:11
Definition ctx.h:5