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<1, 1, bool> mIsFullBlockV1;
45 ::ll::TypedStorage<8, 48, ::HashedString> mCullingLayer;
46 ::ll::TypedStorage<8, 48, ::HashedString> mCullingShapeName;
47 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BlockGeometryDescription::SharedInitializationData>>
48 mSharedInitializationData;
49 ::ll::TypedStorage<8, 24, ::std::variant<bool, ::std::set<::HashedString>>> mUVsLocked;
50 ::ll::TypedStorage<4, 52, ::BlockRendererDescription> mRenderer;
51 // NOLINTEND
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual ::std::string const& getName() const /*override*/;
57
58 virtual void initializeComponent(::BlockComponentStorage& blockComponentStorage) const /*override*/;
59
60 virtual void initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const /*override*/;
61
62 virtual void handleVersionBasedInitialization(::SemVersion const& originalJsonVersion) /*override*/;
63
64 virtual ::CompoundTag buildUnboundDataNetworkTag() const /*override*/;
65
66 virtual void initializeUnboundDataFromNetwork(::CompoundTag const& tag) /*override*/;
67
68 virtual ~BlockGeometryDescription() /*override*/;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI BlockGeometryDescription();
75
76 MCAPI BlockGeometryDescription(::BlockGeometryDescription const&);
77
78 MCAPI BlockGeometryDescription(
79 ::HashedString const& geometryName,
80 ::HashedString const& cullingName,
81 ::HashedString const& cullingShapeName,
82 ::HashedString const& cullingLayer,
83 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
84 ::BlockRendererDescription const& renderer,
85 bool isFullBlockV1
86 );
87
88 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription&&);
89
90 MCAPI ::BlockGeometryDescription& operator=(::BlockGeometryDescription const&);
91 // NOLINTEND
92
93public:
94 // static functions
95 // NOLINTBEGIN
96 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
97
98 MCAPI static ::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode>
99 getBoneVisibility(::std::map<::std::string, ::ExpressionNode> const& boneVisibilities);
100
101 MCAPI static ::std::map<::std::string, ::ExpressionNode>
102 setBoneVisibility(::std::map<::std::string, ::SharedTypes::Legacy::ExpressionNode> const& boneVisibilities);
103 // NOLINTEND
104
105public:
106 // static variables
107 // NOLINTBEGIN
108 MCAPI static ::HashedString const& CROSS_GEO_NAME();
109
110 MCAPI static ::std::string const& CULLING_LAYER_DOCUMENTATION();
111
112 MCAPI static ::HashedString const& CULLING_LAYER_LEAVES();
113
114 MCAPI static ::std::string const& CULLING_LAYER_NAME_CONSTRAINT();
115
116 MCAPI static ::HashedString const& CULLING_LAYER_UNDEFINED();
117
118 MCAPI static ::HashedString const& CULLING_SHAPE_DEFAULT();
119
120 MCAPI static ::std::string const& CULLING_SHAPE_DOCUMENTATION();
121
122 MCAPI static ::std::string const& CULLING_SHAPE_NAME_CONSTRAINT();
123
124 MCAPI static ::HashedString const& FULL_BLOCK_GEO_NAME();
125
126 MCAPI static ::HashedString const& FULL_BLOCK_GEO_NAME_V1();
127
128 MCAPI static ::std::string const& GEO_NAME_CONSTRAINT();
129
130 MCAPI static ::std::string const& NameID();
131
132 MCAPI static ::std::string const& UV_LOCKING_CONSTRAINT();
133 // NOLINTEND
134
135public:
136 // constructor thunks
137 // NOLINTBEGIN
138 MCAPI void* $ctor();
139
140 MCAPI void* $ctor(::BlockGeometryDescription const&);
141
142 MCAPI void* $ctor(
143 ::HashedString const& geometryName,
144 ::HashedString const& cullingName,
145 ::HashedString const& cullingShapeName,
146 ::HashedString const& cullingLayer,
147 ::std::variant<bool, ::std::set<::HashedString>> const& uvLock,
148 ::BlockRendererDescription const& renderer,
149 bool isFullBlockV1
150 );
151 // NOLINTEND
152
153public:
154 // destructor thunk
155 // NOLINTBEGIN
156 MCAPI void $dtor();
157 // NOLINTEND
158
159public:
160 // virtual function thunks
161 // NOLINTBEGIN
162 MCAPI ::std::string const& $getName() const;
163
164 MCAPI void $initializeComponent(::BlockComponentStorage& blockComponentStorage) const;
165
166 MCFOLD void $initializeComponentFromCode(::BlockComponentStorage& blockComponentStorage) const;
167
168 MCAPI void $handleVersionBasedInitialization(::SemVersion const& originalJsonVersion);
169
170 MCAPI ::CompoundTag $buildUnboundDataNetworkTag() const;
171
172 MCAPI void $initializeUnboundDataFromNetwork(::CompoundTag const& tag);
173
174
175 // NOLINTEND
176
177public:
178 // vftables
179 // NOLINTBEGIN
180 MCNAPI static void** $vftable();
181 // NOLINTEND
182};
Definition BlockComponentStorage.h:61
Definition CompoundTag.h:23
Definition ExpressionNode.h:34
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