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& region,
49 ::BlockPos const& pos,
50 ::Vec3 const& A,
51 ::Vec3 const& B,
52 ::ShapeType 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& blockPos,
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 MCFOLD ::AABB const&
187 $getOutline(::Block const&, ::IConstBlockSource const&, ::BlockPos const& pos, ::AABB& bufferValue) const;
188
189 MCAPI void $addAABBs(
190 ::Block const& block,
191 ::IConstBlockSource const& region,
192 ::BlockPos const& blockPos,
193 ::AABB const* intersectTestBox,
194 ::std::vector<::AABB>& inoutBoxes
195 ) const;
196
197 MCFOLD bool $addCollisionShapes(
198 ::Block const& block,
199 ::IConstBlockSource const& region,
200 ::BlockPos const& pos,
201 ::AABB const* intersectTestBox,
202 ::std::vector<::AABB>& inoutBoxes,
204 ) const;
205
206 MCAPI bool
207 $getLiquidClipVolume(::Block const& block, ::BlockSource& region, ::BlockPos const& pos, ::AABB& includeBox) const;
208
209 MCAPI bool $canProvideSupport(::Block const& block, uchar face, ::BlockSupportType) const;
210
211 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
212
213 MCAPI void $animateTick(::BlockAnimateTickData const& tickData) const;
214
215 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
216
217 MCAPI void
218 $destroy(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, ::Actor* entitySource) const;
219
220 MCAPI bool $mayPick() const;
221
222 MCAPI bool $mayPick(::BlockSource const& region, ::Block const& block, bool liquid) const;
223
224 MCAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
225
226 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
227
228 MCAPI void $onStandOn(::EntityContext& entity, ::BlockPos const& pos) const;
229
230 MCAPI void $onExploded(::BlockSource& region, ::BlockPos const& pos, ::Actor* entitySource) const;
231
232 MCAPI ::Block const& $getPlacementBlock(
233 ::Actor const& by,
234 ::BlockPos const& pos,
235 uchar face,
236 ::Vec3 const& clickPos,
237 int itemValue
238 ) const;
239
240 MCFOLD bool $isStairBlock() const;
241
242 MCFOLD int $getVariant(::Block const& block) const;
243
244 MCAPI bool $canConnect(::Block const&, uchar toOther, ::Block const& thisBlock) const;
245
246 MCAPI bool $liquidCanFlowIntoFromDirection(
247 uchar flowIntoFacing,
248 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
249 ::BlockPos const& pos
250 ) const;
251
252 MCAPI bool $breaksFallingBlocks(::Block const& block, ::BaseGameVersion const version) const;
253
254 MCAPI void $_addHardCodedBlockComponents(::Experiments const& experiments);
255 // NOLINTEND
256
257public:
258 // vftables
259 // NOLINTBEGIN
260 MCNAPI static void** $vftable();
261 // NOLINTEND
262};
Definition AABB.h:18
Definition Actor.h:103
Definition BaseGameVersion.h:8
Definition BlockLegacy.h:88
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:119
Definition StairBlock.h:29
static MCAPI void ** $vftable()
Definition Vec3.h:10
Definition optional_ref.h:10
Definition BlockAnimateTickData.h:5