LeviLamina
Loading...
Searching...
No Matches
BlockGeometryDescription.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/world/level/block/components/BlockRendererDescription.h"
8#include "mc/world/level/block/components/NetworkedBlockComponentDescription.h"
9
10// auto generated forward declare list
11// clang-format off
13class CompoundTag;
14class ExpressionNode;
15class SemVersion;
16namespace SharedTypes::Legacy { struct ExpressionNode; }
17namespace cereal { struct ReflectionCtx; }
18// clang-format on
19
20struct BlockGeometryDescription : public ::NetworkedBlockComponentDescription<::BlockGeometryDescription> {
21public:
22 // BlockGeometryDescription inner types declare
23 // clang-format off
25 // clang-format on
26
27 // BlockGeometryDescription inner types define
29 public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 48, ::HashedString> mCullingName;
33 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::ExpressionNode>> mBoneVisibilities;
34 // NOLINTEND
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 48, ::HashedString> mGeometryName;
41 ::ll::TypedStorage<1, 1, bool> mNeedsLegacyTopRotation;
42 ::ll::TypedStorage<1, 1, bool> mUseBlockTypeLightAbsorption;
43 ::ll::TypedStorage<1, 1, bool> mIgnoreGeometryForIsSolid;
44 ::ll::TypedStorage<8, 48, ::HashedString> mCullingLayer;
45 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BlockGeometryDescription::SharedInitializationData>>
46 mSharedInitializationData;
47 ::ll::TypedStorage<8, 24, ::std::variant<bool, ::std::set<::HashedString>>> mUVsLocked;
48 ::ll::TypedStorage<4, 52, ::BlockRendererDescription> mRenderer;
49 // NOLINTEND
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 virtual ::std::string const& getName() const /*override*/;
55
56 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
57
58 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
59
60 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
61
62 virtual ::CompoundTag buildUnboundDataNetworkTag() const /*override*/;
63
64 virtual void initializeUnboundDataFromNetwork(::CompoundTag const& tag) /*override*/;
65
66 virtual ~BlockGeometryDescription() /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI BlockGeometryDescription();
73
74 MCAPI BlockGeometryDescription(::BlockGeometryDescription const&);
75
76 MCAPI BlockGeometryDescription(
77 ::HashedString const& geometryName,
78 ::HashedString const& cullingName,
79 ::HashedString const& cullingLayer,
80 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
81 ::BlockRendererDescription const& renderer
82 );
83
84 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription&&);
85
86 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription const&);
87 // NOLINTEND
88
89public:
90 // static functions
91 // NOLINTBEGIN
92 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
93
94 MCAPI static ::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode>
95 getBoneVisibility(::std::map<::std::string, ::ExpressionNode> const& boneVisibilities);
96
97 MCAPI static ::std::map<::std::string, ::ExpressionNode>
98 setBoneVisibility(::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode> const& boneVisibilities);
99 // NOLINTEND
100
101public:
102 // static variables
103 // NOLINTBEGIN
104 MCAPI static ::HashedString const& CROSS_GEO_NAME();
105
106 MCAPI static ::std::string const& CULLING_LAYER_DOCUMENTATION();
107
108 MCAPI static ::HashedString const& CULLING_LAYER_LEAVES();
109
110 MCAPI static ::std::string const& CULLING_LAYER_NAME_CONSTRAINT();
111
112 MCAPI static ::HashedString const& CULLING_LAYER_UNDEFINED();
113
114 MCAPI static ::HashedString const& FULL_BLOCK_GEO_NAME();
115
116 MCAPI static ::std::string const& GEO_NAME_CONSTRAINT();
117
118 MCAPI static ::std::string const& NameID();
119
120 MCAPI static ::std::string const& UV_LOCKING_CONSTRAINT();
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCAPI void* $ctor();
127
128 MCAPI void* $ctor(::BlockGeometryDescription const&);
129
130 MCAPI void* $ctor(
131 ::HashedString const& geometryName,
132 ::HashedString const& cullingName,
133 ::HashedString const& cullingLayer,
134 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
135 ::BlockRendererDescription const& renderer
136 );
137 // NOLINTEND
138
139public:
140 // destructor thunk
141 // NOLINTBEGIN
142 MCAPI void $dtor();
143 // NOLINTEND
144
145public:
146 // virtual function thunks
147 // NOLINTBEGIN
148 MCAPI ::std::string const& $getName() const;
149
150 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
151
152 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
153
154 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
155
156 MCAPI ::CompoundTag $buildUnboundDataNetworkTag() const;
157
158 MCAPI void $initializeUnboundDataFromNetwork(::CompoundTag const& tag);
159
160
161 // NOLINTEND
162
163public:
164 // vftables
165 // NOLINTBEGIN
166 MCNAPI static void** $vftable();
167 // NOLINTEND
168};
Definition BlockComponentStorage.h:58
Definition CompoundTag.h:23
Definition ExpressionNode.h:33
Definition HashedString.h:5
Definition NetworkedBlockComponentDescription.h:6
Definition SemVersion.h:15
STL namespace.
Definition BlockGeometryDescription.h:28
static MCAPI void ** $vftable()
Definition BlockRendererDescription.h:10
Definition ExpressionNode.h:12
Definition ReflectionCtx.h:11
Definition ctx.h:5