LeviLamina
Loading...
Searching...
No Matches
PlacementPosition.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 cereal { struct ReflectionCtx; }
19// clang-format on
20
21namespace BlockTrait {
22
23class PlacementPosition : public ::BlockTrait::ITrait {
24public:
25 // PlacementPosition inner types declare
26 // clang-format off
27 struct EnabledStates;
30 // clang-format on
31
32 // PlacementPosition inner types define
34 public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<1, 1, bool> mBlockFace;
38 ::ll::TypedStorage<1, 1, bool> mVerticalHalf;
39 // NOLINTEND
40
41 public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI ::std::unique_ptr<::CompoundTag> buildNetworkTag() const;
45 // NOLINTEND
46
47 public:
48 // static functions
49 // NOLINTBEGIN
50 MCAPI static void fromStringVector(
52 ::std::vector<::std::string> const& states
53 );
54 // NOLINTEND
55 };
56
58 public:
59 // virtual functions
60 // NOLINTBEGIN
61 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
62 ::gsl::not_null<::Block const*> block,
63 ::Actor const&,
64 ::BlockPos const&,
65 uchar face,
66 ::Vec3 const&
67 ) const /*override*/;
68
69 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
70
71 virtual ~UpdateBlockFaceGetPlacementBlockCallback() /*override*/ = default;
72 // NOLINTEND
73
74 public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
78 ::gsl::not_null<::Block const*> block,
79 ::Actor const&,
80 ::BlockPos const&,
81 uchar face,
82 ::Vec3 const&
83 ) const;
84
85 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
86
87
88 // NOLINTEND
89
90 public:
91 // vftables
92 // NOLINTBEGIN
93 MCNAPI static void** $vftable();
94 // NOLINTEND
95 };
96
98 public:
99 // virtual functions
100 // NOLINTBEGIN
101 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
102 ::gsl::not_null<::Block const*> block,
103 ::Actor const&,
104 ::BlockPos const&,
105 uchar face,
106 ::Vec3 const& clickPos
107 ) const /*override*/;
108
109 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
110
111 virtual ~UpdateVerticalHalfGetPlacementBlockCallback() /*override*/ = default;
112 // NOLINTEND
113
114 public:
115 // virtual function thunks
116 // NOLINTBEGIN
117 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
118 ::gsl::not_null<::Block const*> block,
119 ::Actor const&,
120 ::BlockPos const&,
121 uchar face,
122 ::Vec3 const& clickPos
123 ) const;
124
125 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
126
127
128 // NOLINTEND
129
130 public:
131 // vftables
132 // NOLINTBEGIN
133 MCNAPI static void** $vftable();
134 // NOLINTEND
135 };
136
137public:
138 // member variables
139 // NOLINTBEGIN
140 ::ll::TypedStorage<1, 2, ::BlockTrait::PlacementPosition::EnabledStates> mStates;
141 // NOLINTEND
142
143public:
144 // prevent constructor by default
145 PlacementPosition();
146
147public:
148 // virtual functions
149 // NOLINTBEGIN
150 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&) /*override*/;
151
152 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
153
154 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
155
156 virtual ::std::string const& _getName() const /*override*/;
157
158 virtual ~PlacementPosition() /*override*/;
159 // NOLINTEND
160
161public:
162 // member functions
163 // NOLINTBEGIN
164 MCAPI PlacementPosition(bool blockFace, bool verticalHalf);
165 // NOLINTEND
166
167public:
168 // static functions
169 // NOLINTBEGIN
170 MCAPI static ::BlockTrait::PlacementPosition BlockFace();
171
172 MCAPI static ::BlockTrait::PlacementPosition VerticalHalf();
173
174 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
175
176 MCFOLD static ::std::string const& getName();
177 // NOLINTEND
178
179public:
180 // constructor thunks
181 // NOLINTBEGIN
182 MCAPI void* $ctor(bool blockFace, bool verticalHalf);
183 // NOLINTEND
184
185public:
186 // destructor thunk
187 // NOLINTBEGIN
188 MCFOLD void $dtor();
189 // NOLINTEND
190
191public:
192 // virtual function thunks
193 // NOLINTBEGIN
194 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&);
195
196 MCAPI void $applyToBlockType(::BlockType& blockType) const;
197
198 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
199
200 MCFOLD ::std::string const& $_getName() const;
201
202
203 // NOLINTEND
204
205public:
206 // vftables
207 // NOLINTBEGIN
208 MCNAPI static void** $vftable();
209 // NOLINTEND
210};
211
212} // namespace BlockTrait
Definition Actor.h:106
Definition BlockPos.h:19
Definition IGetPlacementBlockCallback.h:18
Definition ITrait.h:14
static MCAPI void ** $vftable()
Definition BlockType.h:84
Definition Block.h:43
Definition CompoundTag.h:23
Definition Vec3.h:10
STL namespace.
Definition PlacementPosition.h:33
Definition ReflectionCtx.h:11
Definition ctx.h:5