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/BlockLegacy.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class BlockSource;
13class Experiments;
14class Level;
15class Player;
16class Vec3;
17namespace BlockEvents { class BlockPlaceEvent; }
18namespace BlockEvents { class BlockPlayerInteractEvent; }
19// clang-format on
20
21class NoteBlock : public ::ActorBlock {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<1, 1, bool> mSkullPlacementEnabled;
26 // NOLINTEND
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 // vIndex: 136
32 virtual bool isInteractiveBlock() const /*override*/;
33
34 // vIndex: 66
35 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
36
37 // vIndex: 60
38 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
39 /*override*/;
40
41 // vIndex: 94
42 virtual bool attack(::Player* player, ::BlockPos const& pos) const /*override*/;
43
44 // vIndex: 98
45 virtual void triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const
46 /*override*/;
47
48 // vIndex: 130
49 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
50
51 // vIndex: 0
52 virtual ~NoteBlock() /*override*/ = default;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI void _triggerNoteParticle(::Level& level, ::Vec3 const& vPos, int note) const;
59
60 MCAPI ::NoteBlock& enableSkullPlacement(bool enabled);
61
62 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
63
64 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCFOLD bool $isInteractiveBlock() const;
71
72 MCFOLD void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
73
74 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
75
76 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
77
78 MCAPI void $triggerEvent(::BlockSource& region, ::BlockPos const& pos, int instrument, int note) const;
79
80 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
81 // NOLINTEND
82
83public:
84 // vftables
85 // NOLINTBEGIN
86 MCNAPI static void** $vftable();
87 // NOLINTEND
88};
Definition ActorBlockBase.h:6
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Experiments.h:14
Definition Level.h:238
Definition NoteBlock.h:21
static MCAPI void ** $vftable()
Definition Player.h:119
Definition Vec3.h:10