LeviLamina
Loading...
Searching...
No Matches
PlacementDirection.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/traits/block_trait/IGetPlacementBlockCallback.h"
7#include "mc/world/level/block/traits/block_trait/ITrait.h"
8#include "mc/world/level/block/traits/block_trait/PlacementCallbackOrder.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Block;
14class BlockPos;
15class BlockType;
16class CompoundTag;
17class Vec3;
18namespace SharedTypes::Legacy { struct BlockDescriptor; }
19namespace cereal { struct ReflectionCtx; }
20// clang-format on
21
22namespace BlockTrait {
23
25public:
26 // PlacementDirection inner types declare
27 // clang-format off
28 struct EnabledStates;
31 // clang-format on
32
33 // PlacementDirection inner types define
35 public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<1, 1, bool> mCardinalDirection;
39 ::ll::TypedStorage<1, 1, bool> mFacingDirection;
40 ::ll::TypedStorage<1, 1, bool> mCornerAndCardinalDirection;
41 // NOLINTEND
42
43 public:
44 // member functions
45 // NOLINTBEGIN
46 MCAPI ::std::unique_ptr<::CompoundTag> buildNetworkTag() const;
47 // NOLINTEND
48
49 public:
50 // static functions
51 // NOLINTBEGIN
52 MCAPI static void fromStringVector(
54 ::std::vector<::std::string> const& states
55 );
56 // NOLINTEND
57 };
58
60 public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<4, 4, float const> mRotationOffset;
64 // NOLINTEND
65
66 public:
67 // virtual functions
68 // NOLINTBEGIN
69 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
70 ::gsl::not_null<::Block const*> block,
71 ::Actor const& by,
72 ::BlockPos const&,
73 uchar,
74 ::Vec3 const&
75 ) const /*override*/;
76
77 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
78
79 virtual ~UpdateCardinalGetPlacementBlockCallback() /*override*/ = default;
80 // NOLINTEND
81
82 public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
86 ::gsl::not_null<::Block const*> block,
87 ::Actor const& by,
88 ::BlockPos const&,
89 uchar,
90 ::Vec3 const&
91 ) const;
92
93 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
94
95
96 // NOLINTEND
97
98 public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103 };
104
106 public:
107 // member variables
108 // NOLINTBEGIN
109 ::ll::TypedStorage<4, 4, float const> mRotationOffset;
110 // NOLINTEND
111
112 public:
113 // virtual functions
114 // NOLINTBEGIN
115 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
116 ::gsl::not_null<::Block const*> block,
117 ::Actor const& by,
118 ::BlockPos const& pos,
119 uchar,
120 ::Vec3 const&
121 ) const /*override*/;
122
123 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
124
125 virtual ~UpdateFacingGetPlacementBlockCallback() /*override*/ = default;
126 // NOLINTEND
127
128 public:
129 // virtual function thunks
130 // NOLINTBEGIN
131 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
132 ::gsl::not_null<::Block const*> block,
133 ::Actor const& by,
134 ::BlockPos const& pos,
135 uchar,
136 ::Vec3 const&
137 ) const;
138
139 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
140
141
142 // NOLINTEND
143
144 public:
145 // vftables
146 // NOLINTBEGIN
147 MCNAPI static void** $vftable();
148 // NOLINTEND
149 };
150
151public:
152 // member variables
153 // NOLINTBEGIN
154 ::ll::TypedStorage<1, 3, ::BlockTrait::PlacementDirection::EnabledStates> mStates;
155 ::ll::TypedStorage<4, 4, float> mRotationOffset;
156 ::ll::TypedStorage<8, 24, ::std::vector<::SharedTypes::Legacy::BlockDescriptor>> mBlocksToCornerWith;
157 // NOLINTEND
158
159public:
160 // virtual functions
161 // NOLINTBEGIN
162 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
163
164 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
165
166 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const& ctx) const /*override*/;
167
168 virtual ::std::string const& _getName() const /*override*/;
169
170 virtual ~PlacementDirection() /*override*/;
171 // NOLINTEND
172
173public:
174 // static functions
175 // NOLINTBEGIN
176 MCAPI static ::BlockTrait::PlacementDirection CardinalDirection(float _yRotationOffset);
177
178 MCAPI static ::BlockTrait::PlacementDirection FacingDirection(float _yRotationOffset);
179
180 MCAPI static void _addCornerConnection(
181 ::BlockType& blockType,
182 ::std::vector<::SharedTypes::Legacy::BlockDescriptor> const& blocksToCornerWith
183 );
184
185 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
186
187 MCFOLD static ::std::string const& getName();
188 // NOLINTEND
189
190public:
191 // destructor thunk
192 // NOLINTBEGIN
193 MCAPI void $dtor();
194 // NOLINTEND
195
196public:
197 // virtual function thunks
198 // NOLINTBEGIN
199 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
200
201 MCAPI void $applyToBlockType(::BlockType& blockType) const;
202
203 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
204
205 MCFOLD ::std::string const& $_getName() const;
206
207
208 // NOLINTEND
209
210public:
211 // vftables
212 // NOLINTBEGIN
213 MCNAPI static void** $vftable();
214 // NOLINTEND
215};
216
217} // namespace BlockTrait
Definition Actor.h:106
Definition BlockDescriptor.h:20
Definition BlockPos.h:19
Definition IGetPlacementBlockCallback.h:18
Definition ITrait.h:14
Definition PlacementDirection.h:24
static MCAPI void ** $vftable()
Definition BlockType.h:84
Definition Block.h:43
Definition CompoundTag.h:23
Definition Vec3.h:10
STL namespace.
Definition PlacementDirection.h:34
Definition BlockDescriptor.h:12
Definition ReflectionCtx.h:11
Definition ctx.h:5