LeviLamina
Loading...
Searching...
No Matches
LeverBlock.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/Direction.h"
8#include "mc/world/level/block/BlockLegacy.h"
9
10// auto generated forward declare list
11// clang-format off
12class AABB;
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class Experiments;
20class Player;
21class Vec3;
22namespace BlockEvents { class BlockPlaceEvent; }
23namespace BlockEvents { class BlockPlayerInteractEvent; }
24namespace BlockEvents { class BlockQueuedTickEvent; }
25// clang-format on
26
27class LeverBlock : public ::BlockLegacy {
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 5
32 virtual ::AABB getCollisionShape(
33 ::Block const&,
35 ::BlockPos const&,
37 ) const /*override*/;
38
39 // vIndex: 11
40 virtual ::AABB const& getVisualShape(::Block const& block, ::AABB& bufferAABB) const /*override*/;
41
42 // vIndex: 136
43 virtual bool isInteractiveBlock() const /*override*/;
44
45 // vIndex: 43
46 virtual bool isSignalSource() const /*override*/;
47
48 // vIndex: 40
49 virtual bool isLeverBlock() const /*override*/;
50
51 // vIndex: 118
52 virtual bool canSpawnOn(::Actor*) const /*override*/;
53
54 // vIndex: 79
55 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const /*override*/;
56
57 // vIndex: 78
58 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
59
60 // vIndex: 91
61 virtual ::Block const&
62 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
63 /*override*/;
64
65 // vIndex: 86
66 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
67 /*override*/;
68
69 // vIndex: 66
70 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
71
72 // vIndex: 50
73 virtual void onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const /*override*/;
74
75 // vIndex: 131
76 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
77
78 // vIndex: 53
79 virtual bool
80 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
81 /*override*/;
82
83 // vIndex: 93
84 virtual bool isAttachedTo(::BlockSource& region, ::BlockPos const& pos, ::BlockPos& outAttachedTo) const
85 /*override*/;
86
87 // vIndex: 138
88 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
89
90 // vIndex: 130
91 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
92
93 // vIndex: 145
94 virtual void _onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const /*override*/;
95
96 // vIndex: 0
97 virtual ~LeverBlock() /*override*/ = default;
98 // NOLINTEND
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
104
105 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
106
107 MCAPI void toggle(::BlockSource& region, ::BlockPos const& pos, ::Player* player) const;
108
109 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCFOLD ::AABB $getCollisionShape(
116 ::Block const&,
117 ::IConstBlockSource const&,
118 ::BlockPos const&,
120 ) const;
121
122 MCAPI ::AABB const& $getVisualShape(::Block const& block, ::AABB& bufferAABB) const;
123
124 MCFOLD bool $isInteractiveBlock() const;
125
126 MCFOLD bool $isSignalSource() const;
127
128 MCFOLD bool $isLeverBlock() const;
129
130 MCFOLD bool $canSpawnOn(::Actor*) const;
131
132 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos, uchar face) const;
133
134 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
135
136 MCAPI ::Block const& $getPlacementBlock(
137 ::Actor const& by,
138 ::BlockPos const& pos,
139 uchar face,
140 ::Vec3 const& clickPos,
141 int itemValue
142 ) const;
143
144 MCAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
145
146 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
147
148 MCAPI void $onFillBlock(::BlockSource& region, ::BlockPos const& pos, ::Block const& block) const;
149
150 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
151
152 MCFOLD bool
153 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
154
155 MCAPI bool $isAttachedTo(::BlockSource& region, ::BlockPos const& pos, ::BlockPos& outAttachedTo) const;
156
157 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
158
159 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
160
161 MCAPI void $_onHitByActivatingAttack(::BlockSource& region, ::BlockPos const& pos, ::Actor*) const;
162 // NOLINTEND
163
164public:
165 // vftables
166 // NOLINTBEGIN
167 MCNAPI static void** $vftable();
168 // NOLINTEND
169};
Definition AABB.h:18
Definition Actor.h:103
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockQueuedTickEvent.h:16
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition Experiments.h:14
Definition GetCollisionShapeInterface.h:13
Definition IConstBlockSource.h:24
Definition LeverBlock.h:27
static MCAPI void ** $vftable()
Definition Player.h:119
Definition Vec3.h:10
Definition optional_ref.h:10