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/deps/shared_types/legacy/BlockDescriptor.h"
7#include "mc/world/level/block/traits/block_trait/IGetPlacementBlockCallback.h"
8#include "mc/world/level/block/traits/block_trait/ITrait.h"
9#include "mc/world/level/block/traits/block_trait/PlacementCallbackOrder.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Block;
15class BlockPos;
16class BlockType;
17class CompoundTag;
18class Vec3;
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 // NOLINTEND
79
80 public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
84 ::gsl::not_null<::Block const*> block,
85 ::Actor const& by,
86 ::BlockPos const&,
87 uchar,
88 ::Vec3 const&
89 ) const;
90
91 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
92
93
94 // NOLINTEND
95
96 public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101 };
102
104 public:
105 // member variables
106 // NOLINTBEGIN
107 ::ll::TypedStorage<4, 4, float const> mRotationOffset;
108 // NOLINTEND
109
110 public:
111 // virtual functions
112 // NOLINTBEGIN
113 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
114 ::gsl::not_null<::Block const*> block,
115 ::Actor const& by,
116 ::BlockPos const& pos,
117 uchar,
118 ::Vec3 const&
119 ) const /*override*/;
120
121 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
122 // NOLINTEND
123
124 public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
128 ::gsl::not_null<::Block const*> block,
129 ::Actor const& by,
130 ::BlockPos const& pos,
131 uchar,
132 ::Vec3 const&
133 ) const;
134
135 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
136
137
138 // NOLINTEND
139
140 public:
141 // vftables
142 // NOLINTBEGIN
143 MCNAPI static void** $vftable();
144 // NOLINTEND
145 };
146
147public:
148 // member variables
149 // NOLINTBEGIN
150 ::ll::TypedStorage<1, 3, ::BlockTrait::PlacementDirection::EnabledStates> mStates;
151 ::ll::TypedStorage<4, 4, float> mRotationOffset;
152 ::ll::TypedStorage<8, 24, ::std::vector<::SharedTypes::Legacy::BlockDescriptor>> mBlocksToCornerWith;
153 // NOLINTEND
154
155public:
156 // virtual functions
157 // NOLINTBEGIN
158 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx) /*override*/;
159
160 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
161
162 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const& ctx) const /*override*/;
163
164 virtual ::std::string const& _getName() const /*override*/;
165 // NOLINTEND
166
167public:
168 // static functions
169 // NOLINTBEGIN
170 MCAPI static void _addCornerConnection(
171 ::BlockType& blockType,
172 ::std::vector<::SharedTypes::Legacy::BlockDescriptor> const& blocksToCornerWith
173 );
174
175 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
176 // NOLINTEND
177
178public:
179 // virtual function thunks
180 // NOLINTBEGIN
181 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const& ctx);
182
183 MCAPI void $applyToBlockType(::BlockType& blockType) const;
184
185 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const& ctx) const;
186
187 MCAPI ::std::string const& $_getName() const;
188
189
190 // NOLINTEND
191
192public:
193 // vftables
194 // NOLINTBEGIN
195 MCNAPI static void** $vftable();
196 // NOLINTEND
197};
198
199} // namespace BlockTrait
Definition Actor.h:125
Definition BlockDescriptor.h:21
Definition BlockPos.h:21
Definition IGetPlacementBlockCallback.h:18
Definition ITrait.h:14
Definition PlacementDirection.h:24
static MCAPI void ** $vftable()
Definition BlockType.h:84
Definition Block.h:69
Definition CompoundTag.h:23
Definition Vec3.h:10
STL namespace.
Definition PlacementDirection.h:34
Definition ReflectionCtx.h:11
Definition ctx.h:5