LeviLamina
Loading...
Searching...
No Matches
StairBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/optional_ref.h"
7#include "mc/world/level/ShapeType.h"
8#include "mc/world/level/block/BlockLegacy.h"
9#include "mc/world/level/block/BlockSupportType.h"
10
11// auto generated forward declare list
12// clang-format off
13class AABB;
14class Actor;
15class BaseGameVersion;
16class Block;
17class BlockPos;
18class BlockSource;
19class EntityContext;
20class Experiments;
22class HitResult;
24class Player;
25class Vec3;
27// clang-format on
28
29class StairBlock : public ::BlockLegacy {
30public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 8, ::BlockLegacy const&> mBase;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 StairBlock& operator=(StairBlock const&);
39 StairBlock(StairBlock const&);
40 StairBlock();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 // vIndex: 4
46 virtual ::HitResult clip(
47 ::Block const& block,
48 ::BlockSource const&,
49 ::BlockPos const& pos,
50 ::Vec3 const& A,
51 ::Vec3 const& B,
52 ::ShapeType,
54 ) const /*override*/;
55
56 // vIndex: 9
57 virtual ::AABB const&
58 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
59 /*override*/;
60
61 // vIndex: 8
62 virtual void addAABBs(
63 ::Block const& block,
64 ::IConstBlockSource const& region,
65 ::BlockPos const& pos,
66 ::AABB const* intersectTestBox,
67 ::std::vector<::AABB>& inoutBoxes
68 ) const /*override*/;
69
70 // vIndex: 7
71 virtual bool addCollisionShapes(
72 ::Block const& block,
73 ::IConstBlockSource const& region,
74 ::BlockPos const& pos,
75 ::AABB const* intersectTestBox,
76 ::std::vector<::AABB>& inoutBoxes,
78 ) const /*override*/;
79
80 // vIndex: 13
81 virtual bool
82 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
83 /*override*/;
84
85 // vIndex: 22
86 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
87
88 // vIndex: 122
89 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
90
91 // vIndex: 123
92 virtual void animateTick(::BlockAnimateTickData const& tickData) const /*override*/;
93
94 // vIndex: 94
95 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
96
97 // vIndex: 84
98 virtual void
99 destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const
100 /*override*/;
101
102 // vIndex: 77
103 virtual bool mayPick() const /*override*/;
104
105 // vIndex: 76
106 virtual bool mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const /*override*/;
107
108 // vIndex: 79
109 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
110
111 // vIndex: 131
112 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
113
114 // vIndex: 133
115 virtual void onStandOn(::EntityContext& entity, ::BlockPos const& pos) const /*override*/;
116
117 // vIndex: 132
118 virtual void onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const /*override*/;
119
120 // vIndex: 91
121 virtual ::Block const&
122 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
123 /*override*/;
124
125 // vIndex: 35
126 virtual bool isStairBlock() const /*override*/;
127
128 // vIndex: 117
129 virtual int getVariant(::Block const& block) const /*override*/;
130
131 // vIndex: 24
132 virtual bool canConnect(::Block const&, uchar toOther, ::Block const& thisBlock) const /*override*/;
133
134 // vIndex: 18
135 virtual bool liquidCanFlowIntoFromDirection(
136 uchar flowIntoFacing,
137 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
138 ::BlockPos const& pos
139 ) const /*override*/;
140
141 // vIndex: 83
142 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
143
144 // vIndex: 130
145 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
146
147 // vIndex: 0
148 virtual ~StairBlock() /*override*/;
149 // NOLINTEND
150
151public:
152 // member functions
153 // NOLINTBEGIN
154 MCAPI bool setInnerPieceShape(
155 ::Block const& block,
156 ::IConstBlockSource const& region,
157 ::BlockPos const& pos,
158 ::AABB& shape,
159 bool shrink
160 ) const;
161
162 MCAPI bool setStepShape(
163 ::Block const& block,
164 ::IConstBlockSource const& region,
165 ::BlockPos const& pos,
166 ::AABB& shape,
167 bool shrink
168 ) const;
169 // NOLINTEND
170
171public:
172 // static variables
173 // NOLINTBEGIN
174 MCAPI static ::std::add_lvalue_reference_t<int[][2]> DEAD_SPACES();
175 // NOLINTEND
176
177public:
178 // destructor thunk
179 // NOLINTBEGIN
180 MCFOLD void $dtor();
181 // NOLINTEND
182
183public:
184 // virtual function thunks
185 // NOLINTBEGIN
186 MCAPI ::HitResult $clip(
187 ::Block const& block,
188 ::BlockSource const&,
189 ::BlockPos const& pos,
190 ::Vec3 const& A,
191 ::Vec3 const& B,
192 ::ShapeType,
194 ) const;
195
196 MCFOLD ::AABB const&
197 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
198
199 MCAPI void $addAABBs(
200 ::Block const& block,
201 ::IConstBlockSource const& region,
202 ::BlockPos const& pos,
203 ::AABB const* intersectTestBox,
204 ::std::vector<::AABB>& inoutBoxes
205 ) const;
206
207 MCFOLD bool $addCollisionShapes(
208 ::Block const& block,
209 ::IConstBlockSource const& region,
210 ::BlockPos const& pos,
211 ::AABB const* intersectTestBox,
212 ::std::vector<::AABB>& inoutBoxes,
214 ) const;
215
216 MCAPI bool
217 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
218
219 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
220
221 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
222
223 MCAPI void $animateTick(::BlockAnimateTickData const& tickData) const;
224
225 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
226
227 MCAPI void
228 $destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const;
229
230 MCAPI bool $mayPick() const;
231
232 MCAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
233
234 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
235
236 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
237
238 MCAPI void $onStandOn(::EntityContext& entity, ::BlockPos const& pos) const;
239
240 MCAPI void $onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const;
241
242 MCAPI ::Block const& $getPlacementBlock(
243 ::Actor const& by,
244 ::BlockPos const& pos,
245 uchar face,
246 ::Vec3 const& clickPos,
247 int itemValue
248 ) const;
249
250 MCFOLD bool $isStairBlock() const;
251
252 MCFOLD int $getVariant(::Block const& block) const;
253
254 MCAPI bool $canConnect(::Block const&, uchar toOther, ::Block const& thisBlock) const;
255
256 MCAPI bool $liquidCanFlowIntoFromDirection(
257 uchar flowIntoFacing,
258 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
259 ::BlockPos const& pos
260 ) const;
261
262 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
263
264 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
265 // NOLINTEND
266
267public:
268 // vftables
269 // NOLINTBEGIN
270 MCNAPI static void** $vftable();
271 // NOLINTEND
272};
Definition AABB.h:18
Definition Actor.h:103
Definition BaseGameVersion.h:8
Definition BlockLegacy.h:86
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition EntityContext.h:16
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:19
Definition IConstBlockSource.h:24
Definition Player.h:120
Definition StairBlock.h:29
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5