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