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