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 Level;
14class Player;
15class Vec3;
16namespace BlockEvents { class BlockPlayerInteractEvent; }
17namespace BlockEvents { class BlockRedstoneUpdateEvent; }
18// clang-format on
19
20class NoteBlock : public ::ActorBlock {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<1, 1, bool> mSkullPlacementEnabled;
25 // NOLINTEND
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual bool isInteractiveBlock() const /*override*/;
31
32 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
33
34 virtual void triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const
35 /*override*/;
36
37 virtual ~NoteBlock() /*override*/ = default;
38 // NOLINTEND
39
40public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
44
45 MCAPI void _triggerNoteParticle(::Level& level, ::Vec3 const& vPos, int note) const;
46
47 MCAPI ::NoteBlock& enableSkullPlacement(bool enabled);
48
49 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
50 // NOLINTEND
51
52public:
53 // virtual function thunks
54 // NOLINTBEGIN
55 MCFOLD bool $isInteractiveBlock() const;
56
57 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
58
59 MCAPI void $triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const;
60
61
62 // NOLINTEND
63
64public:
65 // vftables
66 // NOLINTBEGIN
67 MCAPI static void** $vftable();
68 // NOLINTEND
69};
Definition BlockPlayerInteractEvent.h:17
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Level.h:250
Definition NoteBlock.h:20
Definition Player.h:129
Definition Vec3.h:10