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
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 // NOLINTEND
71
72 public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
76 ::gsl::not_null<::Block const*> block,
77 ::Actor const&,
78 ::BlockPos const&,
79 uchar face,
80 ::Vec3 const&
81 ) const;
82
83 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
84
85
86 // NOLINTEND
87
88 public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93 };
94
96 public:
97 // virtual functions
98 // NOLINTBEGIN
99 virtual ::gsl::not_null<::Block const*> getPlacementBlock(
100 ::gsl::not_null<::Block const*> block,
101 ::Actor const&,
102 ::BlockPos const&,
103 uchar face,
104 ::Vec3 const& clickPos
105 ) const /*override*/;
106
107 virtual ::BlockTrait::PlacementCallbackOrder getCallbackOrder() const /*override*/;
108 // NOLINTEND
109
110 public:
111 // virtual function thunks
112 // NOLINTBEGIN
113 MCAPI ::gsl::not_null<::Block const*> $getPlacementBlock(
114 ::gsl::not_null<::Block const*> block,
115 ::Actor const&,
116 ::BlockPos const&,
117 uchar face,
118 ::Vec3 const& clickPos
119 ) const;
120
121 MCFOLD ::BlockTrait::PlacementCallbackOrder $getCallbackOrder() const;
122
123
124 // NOLINTEND
125
126 public:
127 // vftables
128 // NOLINTBEGIN
129 MCNAPI static void** $vftable();
130 // NOLINTEND
131 };
132
133public:
134 // member variables
135 // NOLINTBEGIN
136 ::ll::TypedStorage<1, 2, ::BlockTrait::PlacementPosition::EnabledStates> mStates;
137 // NOLINTEND
138
139public:
140 // virtual functions
141 // NOLINTBEGIN
142 virtual void initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&) /*override*/;
143
144 virtual void applyToBlockType(::BlockType& blockType) const /*override*/;
145
146 virtual ::std::unique_ptr<::CompoundTag> _buildNetworkTag(::cereal::ReflectionCtx const&) const /*override*/;
147
148 virtual ::std::string const& _getName() const /*override*/;
149 // NOLINTEND
150
151public:
152 // static functions
153 // NOLINTBEGIN
154 MCAPI static void bindType(::cereal::ReflectionCtx& ctx);
155 // NOLINTEND
156
157public:
158 // virtual function thunks
159 // NOLINTBEGIN
160 MCAPI void $initializeFromNetwork(::CompoundTag const& tag, ::cereal::ReflectionCtx const&);
161
162 MCAPI void $applyToBlockType(::BlockType& blockType) const;
163
164 MCAPI ::std::unique_ptr<::CompoundTag> $_buildNetworkTag(::cereal::ReflectionCtx const&) const;
165
166 MCAPI ::std::string const& $_getName() const;
167
168
169 // NOLINTEND
170
171public:
172 // vftables
173 // NOLINTBEGIN
174 MCNAPI static void** $vftable();
175 // NOLINTEND
176};
177
178} // namespace BlockTrait
Definition Actor.h:125
Definition BlockPos.h:21
Definition IGetPlacementBlockCallback.h:18
Definition ITrait.h:14
Definition PlacementPosition.h:23
static MCAPI void ** $vftable()
Definition BlockType.h:84
Definition Block.h:69
Definition CompoundTag.h:23
Definition Vec3.h:10
STL namespace.
Definition PlacementPosition.h:33
Definition ReflectionCtx.h:11
Definition ctx.h:5