LeviLamina
Loading...
Searching...
No Matches
BlockGeometryComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Matrix.h"
7#include "mc/deps/core/string/HashedString.h"
8#include "mc/world/level/block/components/BlockGeometryDescription.h"
9
10// auto generated forward declare list
11// clang-format off
12class ExpressionNode;
14namespace ClientBlockPipeline { struct BlockSchematic; }
15// clang-format on
16
17struct BlockGeometryComponent {
18public:
19 // BlockGeometryComponent inner types declare
20 // clang-format off
23 struct DefaultRenderer;
24 // clang-format on
25
26 // BlockGeometryComponent inner types define
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<4, 64, ::Matrix> mTransformationMatrix;
32 // NOLINTEND
33 };
34
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<4, 64, ::Matrix> mTransformationMatrix;
40 // NOLINTEND
41 };
42
43 struct DefaultRenderer {};
44
45 using Renderer = ::std::variant<
49
50public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<8, 48, ::HashedString> mGeometryName;
54 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ClientBlockPipeline::BlockSchematic>> mBlockSchematic;
55 ::ll::TypedStorage<1, 1, bool> mNeedsLegacyTopRotation;
56 ::ll::TypedStorage<1, 1, bool> mUseBlockTypeLightAbsorption;
57 ::ll::TypedStorage<1, 1, bool> mIsFullBlock;
58 ::ll::TypedStorage<1, 1, bool> mIgnoreGeometryForIsSolid;
59 ::ll::TypedStorage<1, 1, bool> mIsFullBlockV1;
60 ::ll::TypedStorage<8, 48, ::HashedString> mCullingLayer;
61 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::BlockGeometryDescription::SharedInitializationData>>
62 mSharedInitializationData;
63 ::ll::TypedStorage<8, 24, ::std::variant<bool, ::std::set<::HashedString>>> mUVsLocked;
64 ::ll::TypedStorage<
65 4,
66 68,
67 ::std::variant<
71 mRenderer;
72 // NOLINTEND
73
74#ifdef LL_PLAT_S
75public:
76 // prevent constructor by default
77 BlockGeometryComponent& operator=(BlockGeometryComponent const&);
78 BlockGeometryComponent(BlockGeometryComponent const&);
79 BlockGeometryComponent();
80
81#else // LL_PLAT_C
82public:
83 // prevent constructor by default
84 BlockGeometryComponent(BlockGeometryComponent const&);
85
86#endif
87public:
88 // member functions
89 // NOLINTBEGIN
90#ifdef LL_PLAT_C
91 MCAPI BlockGeometryComponent();
92#endif
93
94 MCAPI explicit BlockGeometryComponent(::BlockGeometryDescription const& blockGeometryDescription);
95
96#ifdef LL_PLAT_C
97 MCAPI ::std::map<::std::string, ::ExpressionNode> const& getBoneVisibilities() const;
98
99 MCFOLD ::HashedString const& getCullingLayer() const;
100
101 MCFOLD ::HashedString const& getCullingName() const;
102
103 MCAPI bool hasLockedUVs() const;
104#endif
105
106 MCFOLD bool ignoreGeometryForIsSolid() const;
107
108 MCFOLD bool isFullBlock() const;
109
110#ifdef LL_PLAT_C
111 MCFOLD bool isFullBlockV1() const;
112#endif
113
114 MCAPI ::BlockGeometryComponent& operator=(::BlockGeometryComponent&&);
115
116#ifdef LL_PLAT_C
117 MCAPI ::BlockGeometryComponent& operator=(::BlockGeometryComponent const&);
118#endif
119
120 MCAPI ~BlockGeometryComponent();
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126#ifdef LL_PLAT_C
127 MCAPI void* $ctor();
128#endif
129
130 MCAPI void* $ctor(::BlockGeometryDescription const& blockGeometryDescription);
131 // NOLINTEND
132
133public:
134 // destructor thunk
135 // NOLINTBEGIN
136 MCAPI void $dtor();
137 // NOLINTEND
138};
Definition ExpressionNode.h:36
Definition BlockGeometryComponent.h:27
Definition BlockGeometryComponent.h:35
Definition BlockGeometryComponent.h:43
Definition BlockGeometryDescription.h:21
Definition BlockSchematic.h:7