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