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 ::std::unique_ptr<::CompoundTag> buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
151
152 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&) /*override*/;
153
154 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
155
156 virtual ~PlacementPosition() /*override*/;
157 // NOLINTEND
158
159public:
160 // member functions
161 // NOLINTBEGIN
162 MCAPI PlacementPosition(bool blockFace, bool verticalHalf);
163 // NOLINTEND
164
165public:
166 // static functions
167 // NOLINTBEGIN
168 MCAPI static ::BlockTrait::PlacementPosition BlockFace();
169
170 MCAPI static ::BlockTrait::PlacementPosition VerticalHalf();
171
172 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
173
174 MCAPI static ::std::string const& getName();
175 // NOLINTEND
176
177public:
178 // constructor thunks
179 // NOLINTBEGIN
180 MCAPI void* $ctor(bool blockFace, bool verticalHalf);
181 // NOLINTEND
182
183public:
184 // destructor thunk
185 // NOLINTBEGIN
186 MCFOLD void $dtor();
187 // NOLINTEND
188
189public:
190 // virtual function thunks
191 // NOLINTBEGIN
192 MCAPI ::std::unique_ptr<::CompoundTag> $buildNetworkTag(::cereal::ReflectionCtx const&) const;
193
194 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&);
195
196 MCAPI void $applyToBlockType(::BlockType& blockType) const;
197
198
199 // NOLINTEND
200
201public:
202 // vftables
203 // NOLINTBEGIN
204 MCNAPI static void** $vftable();
205 // NOLINTEND
206};
207
208} // namespace BlockTrait
Definition Actor.h:105
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
Definition PlacementPosition.h:33
Definition ReflectionCtx.h:11
Definition ctx.h:5