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/deps/shared_types/v1_26_20/block/components/GeometryComponent.h"
8#include "mc/world/level/block/components/BlockComponentDescription.h"
9#include "mc/world/level/block/components/BlockRendererDescription.h"
10#include "mc/world/level/block/components/NetworkedBlockComponentDescription.h"
11
12// auto generated forward declare list
13// clang-format off
15class CompoundTag;
16class ExpressionNode;
17class SemVersion;
18namespace SharedTypes::Legacy { struct ExpressionNode; }
19namespace cereal { struct ReflectionCtx; }
20// clang-format on
21
22struct BlockGeometryDescription : public ::NetworkedBlockComponentDescription<::BlockGeometryDescription> {
23public:
24 // BlockGeometryDescription inner types declare
25 // clang-format off
27 // clang-format on
28
29 // BlockGeometryDescription inner types define
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 48, ::HashedString> mCullingName;
35 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::ExpressionNode>> mBoneVisibilities;
36 // NOLINTEND
37 };
38
39public:
40 // member variables
41 // NOLINTBEGIN
42 ::ll::TypedStorage<8, 48, ::HashedString> mGeometryName;
43 ::ll::TypedStorage<1, 1, bool> mNeedsLegacyTopRotation;
44 ::ll::TypedStorage<1, 1, bool> mUseBlockTypeLightAbsorption;
45 ::ll::TypedStorage<1, 1, bool> mIgnoreGeometryForIsSolid;
46 ::ll::TypedStorage<1, 1, bool> mIsFullBlockV1;
47 ::ll::TypedStorage<8, 48, ::HashedString> mCullingLayer;
48 ::ll::TypedStorage<8, 48, ::HashedString> mCullingShapeName;
49 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BlockGeometryDescription::SharedInitializationData>>
50 mSharedInitializationData;
51 ::ll::TypedStorage<8, 24, ::std::variant<bool, ::std::set<::HashedString>>> mUVsLocked;
52 ::ll::TypedStorage<4, 52, ::BlockRendererDescription> mRenderer;
53 ::ll::TypedStorage<
54 8,
55 16,
56 ::std::shared_ptr<::SharedTypes::v1_26_20::BlockDefinition::GeometryComponent::NWayVisualRotationStateMapping>>
57 mNWayVisualRotation;
58 // NOLINTEND
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ::std::string const& getName() const /*override*/;
64
65 virtual void initializeComponent(::BlockComponentStorage&) const /*override*/;
66
67 virtual void initializeComponent(::BlockComponentDescription::InitializationContext& context) const /*override*/;
68
69 virtual void initializeComponentFromCode(::BlockComponentStorage&) const /*override*/;
70
71 virtual void initializeComponentFromCode(::BlockComponentDescription::InitializationContext& context) const
72 /*override*/;
73
74 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
75
76 virtual ::CompoundTag buildUnboundDataNetworkTag() const /*override*/;
77
78 virtual void initializeUnboundDataFromNetwork(::CompoundTag const& tag) /*override*/;
79
80 virtual ~BlockGeometryDescription() /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI BlockGeometryDescription();
87
88 MCAPI BlockGeometryDescription(::BlockGeometryDescription const&);
89
90 MCAPI BlockGeometryDescription(
91 ::HashedString const& geometryName,
92 ::HashedString const& cullingName,
93 ::HashedString const& cullingShapeName,
94 ::HashedString const& cullingLayer,
95 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
96 ::BlockRendererDescription const& renderer,
97 bool isFullBlockV1
98 );
99
100 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription&&);
101
102 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription const&);
103 // NOLINTEND
104
105public:
106 // static functions
107 // NOLINTBEGIN
108 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
109
110 MCAPI static ::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode>
111 getBoneVisibility(::std::map<::std::string, ::ExpressionNode> const& boneVisibilities);
112
113 MCAPI static ::std::map<::std::string, ::ExpressionNode>
114 setBoneVisibility(::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode> const& boneVisibilities);
115 // NOLINTEND
116
117public:
118 // static variables
119 // NOLINTBEGIN
120 MCAPI static ::HashedString const& CROSS_GEO_NAME();
121
122 MCAPI static ::std::string const& CULLING_LAYER_DOCUMENTATION();
123
124 MCAPI static ::HashedString const& CULLING_LAYER_LEAVES();
125
126 MCAPI static ::std::string const& CULLING_LAYER_NAME_CONSTRAINT();
127
128 MCAPI static ::HashedString const& CULLING_LAYER_UNDEFINED();
129
130 MCAPI static ::HashedString const& CULLING_SHAPE_DEFAULT();
131
132 MCAPI static ::std::string const& CULLING_SHAPE_DOCUMENTATION();
133
134 MCAPI static ::std::string const& CULLING_SHAPE_NAME_CONSTRAINT();
135
136 MCAPI static ::HashedString const& FULL_BLOCK_GEO_NAME();
137
138 MCAPI static ::HashedString const& FULL_BLOCK_GEO_NAME_V1();
139
140 MCAPI static ::std::string const& GEO_NAME_CONSTRAINT();
141
142 MCAPI static ::std::string const& NameID();
143
144 MCAPI static ::std::string const& UV_LOCKING_CONSTRAINT();
145 // NOLINTEND
146
147public:
148 // constructor thunks
149 // NOLINTBEGIN
150 MCAPI void* $ctor();
151
152 MCAPI void* $ctor(::BlockGeometryDescription const&);
153
154 MCAPI void* $ctor(
155 ::HashedString const& geometryName,
156 ::HashedString const& cullingName,
157 ::HashedString const& cullingShapeName,
158 ::HashedString const& cullingLayer,
159 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
160 ::BlockRendererDescription const& renderer,
161 bool isFullBlockV1
162 );
163 // NOLINTEND
164
165public:
166 // destructor thunk
167 // NOLINTBEGIN
168 MCAPI void $dtor();
169 // NOLINTEND
170
171public:
172 // virtual function thunks
173 // NOLINTBEGIN
174 MCAPI ::std::string const& $getName() const;
175
176 MCFOLD void $initializeComponent(::BlockComponentStorage&) const;
177
178 MCAPI void $initializeComponent(::BlockComponentDescription::InitializationContext& context) const;
179
180 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage&) const;
181
182#ifdef LL_PLAT_S
183 MCAPI void $initializeComponentFromCode(::BlockComponentDescription::InitializationContext& context) const;
184#else // LL_PLAT_C
185 MCFOLD void $initializeComponentFromCode(::BlockComponentDescription::InitializationContext& context) const;
186#endif
187
188 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
189
190 MCAPI ::CompoundTag $buildUnboundDataNetworkTag() const;
191
192 MCAPI void $initializeUnboundDataFromNetwork(::CompoundTag const& tag);
193
194
195 // NOLINTEND
196
197public:
198 // vftables
199 // NOLINTBEGIN
200 MCNAPI static void** $vftable();
201 // NOLINTEND
202};
Definition BlockComponentStorage.h:67
Definition CompoundTag.h:18
Definition ExpressionNode.h:35
Definition HashedString.h:5
Definition NetworkedBlockComponentDescription.h:6
Definition SemVersion.h:15
STL namespace.
Definition BlockComponentDescription.h:28
Definition BlockComponentDescription.h:20
Definition BlockGeometryDescription.h:30
static MCAPI void ** $vftable()
Definition BlockRendererDescription.h:10
Definition ExpressionNode.h:12
Definition ReflectionCtx.h:11
Definition context.h:5
Definition ctx.h:5