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