LeviLamina
Loading...
Searching...
No Matches
LecternBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.h"
7#include "mc/world/level/block/ActorBlockBase.h"
8#include "mc/world/level/block/BlockSupportType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class Block;
14class BlockLegacy;
15class BlockPos;
16class BlockSource;
17class Experiments;
18class Player;
19class Vec3;
20namespace BlockEvents { class BlockPlaceEvent; }
21namespace BlockEvents { class BlockQueuedTickEvent; }
22namespace BlockEvents { class BlockRandomTickEvent; }
23// clang-format on
24
25class LecternBlock : public ::ActorBlock {
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 // vIndex: 92
30 virtual ::Block const&
31 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
32 /*override*/;
33
34 // vIndex: 139
35 virtual bool use(::Player& player, ::BlockPos const& pos, uchar face) const /*override*/;
36
37 // vIndex: 138
38 virtual bool isInteractiveBlock() const /*override*/;
39
40 // vIndex: 23
41 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const /*override*/;
42
43 // vIndex: 57
44 virtual bool checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const
45 /*override*/;
46
47 // vIndex: 89
48 virtual ::Block const* playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const
49 /*override*/;
50
51 // vIndex: 95
52 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
53
54 // vIndex: 105
55 virtual bool hasComparatorSignal() const /*override*/;
56
57 // vIndex: 106
58 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
59 /*override*/;
60
61 // vIndex: 44
62 virtual bool isSignalSource() const /*override*/;
63
64 // vIndex: 67
65 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
66
67 // vIndex: 54
68 virtual bool
69 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
70 /*override*/;
71
72 // vIndex: 131
73 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
74
75 // vIndex: 0
76 virtual ~LecternBlock() /*override*/ = default;
77 // NOLINTEND
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCAPI bool _dropBook(::Player& player, ::BlockPos const& pos) const;
83
84 MCAPI void _tick(::BlockSource& region, ::BlockPos const& pos) const;
85
86 MCAPI void _updateRedstone(::BlockSource& region, ::BlockPos const& pos, bool powered) const;
87
88 MCAPI void emitRedstonePulse(::BlockSource& region, ::BlockPos const& pos) const;
89
90 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
91
92 MCAPI void randomTick(::BlockEvents::BlockRandomTickEvent& eventData) const;
93
94 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
95 // NOLINTEND
96
97public:
98 // destructor thunk
99 // NOLINTBEGIN
100
101 // NOLINTEND
102
103public:
104 // virtual function thunks
105 // NOLINTBEGIN
106 MCAPI ::Block const&
107 $getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue)
108 const;
109
110 MCAPI bool $use(::Player& player, ::BlockPos const& pos, uchar face) const;
111
112 MCFOLD bool $isInteractiveBlock() const;
113
114 MCFOLD bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const;
115
116 MCFOLD bool $checkIsPathable(::Actor& entity, ::BlockPos const& lastPathPos, ::BlockPos const& pathPos) const;
117
118 MCAPI ::Block const* $playerWillDestroy(::Player& player, ::BlockPos const& pos, ::Block const& block) const;
119
120 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
121
122 MCFOLD bool $hasComparatorSignal() const;
123
124 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
125
126 MCFOLD bool $isSignalSource() const;
127
128 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
129
130 MCFOLD bool
131 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
132
133 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCAPI static void** $vftable();
140 // NOLINTEND
141};
Definition ActorBlockBase.h:6
Definition Actor.h:104
Definition BlockPlaceEvent.h:15
Definition BlockQueuedTickEvent.h:15
Definition BlockRandomTickEvent.h:15
Definition BlockLegacy.h:88
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition Experiments.h:14
Definition LecternBlock.h:25
Definition Player.h:119
Definition Vec3.h:10
Definition BlockRandomTickEvent.h:11