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