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 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 4
40 virtual ::HitResult
41 clip(::Block const&, ::BlockSource const&, ::BlockPos const&, ::Vec3 const&, ::Vec3 const&, ::ShapeType, ::optional_ref<::GetCollisionShapeInterface const>)
42 const /*override*/;
43
44 // vIndex: 9
45 virtual ::AABB const&
46 getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const
47 /*override*/;
48
49 // vIndex: 8
50 virtual void addAABBs(
51 ::Block const& block,
52 ::IConstBlockSource const& region,
53 ::BlockPos const& pos,
54 ::AABB const* intersectTestBox,
55 ::std::vector<::AABB>& inoutBoxes
56 ) const /*override*/;
57
58 // vIndex: 7
59 virtual bool addCollisionShapes(
60 ::Block const& block,
61 ::IConstBlockSource const& region,
62 ::BlockPos const& pos,
63 ::AABB const* intersectTestBox,
64 ::std::vector<::AABB>& inoutBoxes,
66 ) const /*override*/;
67
68 // vIndex: 13
69 virtual bool
70 getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const
71 /*override*/;
72
73 // vIndex: 23
74 virtual bool canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const /*override*/;
75
76 // vIndex: 123
77 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
78
79 // vIndex: 124
80 virtual void animateTick(::BlockAnimateTickData const& tickData) const /*override*/;
81
82 // vIndex: 95
83 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
84
85 // vIndex: 85
86 virtual void
87 destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const
88 /*override*/;
89
90 // vIndex: 78
91 virtual bool mayPick() const /*override*/;
92
93 // vIndex: 77
94 virtual bool mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const /*override*/;
95
96 // vIndex: 80
97 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
98
99 // vIndex: 132
100 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
101
102 // vIndex: 134
103 virtual void onStandOn(::EntityContext& entity, ::BlockPos const& pos) const /*override*/;
104
105 // vIndex: 139
106 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
107
108 // vIndex: 133
109 virtual void onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const /*override*/;
110
111 // vIndex: 92
112 virtual ::Block const&
113 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
114 /*override*/;
115
116 // vIndex: 36
117 virtual bool isStairBlock() const /*override*/;
118
119 // vIndex: 118
120 virtual int getVariant(::Block const& block) const /*override*/;
121
122 // vIndex: 25
123 virtual bool canConnect(::Block const&, uchar toOther, ::Block const& thisBlock) const /*override*/;
124
125 // vIndex: 19
126 virtual bool liquidCanFlowIntoFromDirection(
127 uchar flowIntoFacing,
128 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
129 ::BlockPos const& pos
130 ) const /*override*/;
131
132 // vIndex: 84
133 virtual bool breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const /*override*/;
134
135 // vIndex: 131
136 virtual void _addHardCodedBlockComponents(::Experiments const& experiments) /*override*/;
137
138 // vIndex: 0
139 virtual ~StairBlock() /*override*/;
140 // NOLINTEND
141
142public:
143 // member functions
144 // NOLINTBEGIN
145 MCAPI bool setInnerPieceShape(
146 ::Block const& block,
147 ::IConstBlockSource const& region,
148 ::BlockPos const& pos,
149 ::AABB& shape,
150 bool shrink
151 ) const;
152
153 MCAPI bool setStepShape(
154 ::Block const& block,
155 ::IConstBlockSource const& region,
156 ::BlockPos const& pos,
157 ::AABB& shape,
158 bool shrink
159 ) const;
160 // NOLINTEND
161
162public:
163 // static variables
164 // NOLINTBEGIN
165 MCAPI static ::std::add_lvalue_reference_t<int[][2]> DEAD_SPACES();
166 // NOLINTEND
167
168public:
169 // destructor thunk
170 // NOLINTBEGIN
171 MCFOLD void $dtor();
172 // NOLINTEND
173
174public:
175 // virtual function thunks
176 // NOLINTBEGIN
177 MCFOLD ::AABB const&
178 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
179
180 MCAPI void $addAABBs(
181 ::Block const& block,
182 ::IConstBlockSource const& region,
183 ::BlockPos const& pos,
184 ::AABB const* intersectTestBox,
185 ::std::vector<::AABB>& inoutBoxes
186 ) const;
187
188 MCFOLD bool $addCollisionShapes(
189 ::Block const& block,
190 ::IConstBlockSource const& region,
191 ::BlockPos const& pos,
192 ::AABB const* intersectTestBox,
193 ::std::vector<::AABB>& inoutBoxes,
195 ) const;
196
197 MCAPI bool
198 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
199
200 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
201
202 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
203
204 MCAPI void $animateTick(::BlockAnimateTickData const& tickData) const;
205
206 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
207
208 MCAPI void
209 $destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const;
210
211 MCAPI bool $mayPick() const;
212
213 MCAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
214
215 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
216
217 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
218
219 MCAPI void $onStandOn(::EntityContext& entity, ::BlockPos const& pos) const;
220
221 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
222
223 MCAPI void $onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const;
224
225 MCAPI ::Block const&
226 $getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue)
227 const;
228
229 MCFOLD bool $isStairBlock() const;
230
231 MCFOLD int $getVariant(::Block const& block) const;
232
233 MCAPI bool $canConnect(::Block const&, uchar toOther, ::Block const& thisBlock) const;
234
235 MCAPI bool $liquidCanFlowIntoFromDirection(
236 uchar flowIntoFacing,
237 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
238 ::BlockPos const& pos
239 ) const;
240
241 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
242
243 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
244 // NOLINTEND
245
246public:
247 // vftables
248 // NOLINTBEGIN
249 MCAPI static void** $vftable();
250 // NOLINTEND
251};
Definition AABB.h:16
Definition Actor.h:104
Definition BaseGameVersion.h:13
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition EntityContext.h:16
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition HitResult.h:19
Definition IConstBlockSource.h:24
Definition Player.h:119
Definition StairBlock.h:29
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5