LeviLamina
Loading...
Searching...
No Matches
NoteBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/ActorBlockBase.h"
7#include "mc/world/level/block/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockSource;
13class Player;
14namespace BlockEvents { class BlockPlayerInteractEvent; }
15namespace BlockEvents { class BlockRedstoneUpdateEvent; }
16// clang-format on
17
18class NoteBlock : public ::ActorBlock {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<1, 1, bool> mSkullPlacementEnabled;
23 // NOLINTEND
24
25public:
26 // virtual functions
27 // NOLINTBEGIN
28 virtual bool isInteractiveBlock() const /*override*/;
29
30 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
31
32 virtual void triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const
33 /*override*/;
34 // NOLINTEND
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
40
41 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
42 // NOLINTEND
43
44public:
45 // virtual function thunks
46 // NOLINTBEGIN
47 MCFOLD bool $isInteractiveBlock() const;
48
49 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
50
51 MCAPI void $triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const;
52
53
54 // NOLINTEND
55
56public:
57 // vftables
58 // NOLINTBEGIN
59 MCAPI static void** $vftable();
60 // NOLINTEND
61};
Definition BlockPlayerInteractEvent.h:18
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition NoteBlock.h:18
Definition Player.h:129