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: 135
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 b0, int b1) const /*override*/;
46
47 // vIndex: 130
48 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
49
50 // vIndex: 0
51 virtual ~NoteBlock() /*override*/ = default;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI void _triggerNoteParticle(::Level& level, ::Vec3 const& vPos, int note) const;
58
59 MCAPI ::NoteBlock& enableSkullPlacement(bool enabled);
60
61 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
62
63 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCFOLD bool $isInteractiveBlock() const;
70
71 MCFOLD void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
72
73 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
74
75 MCAPI bool $attack(::Player* player, ::BlockPos const& pos) const;
76
77 MCAPI void $triggerEvent(::BlockSource& region, ::BlockPos const& pos, int b0, int b1) const;
78
79 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
80 // NOLINTEND
81
82public:
83 // vftables
84 // NOLINTBEGIN
85 MCNAPI static void** $vftable();
86 // NOLINTEND
87};
Definition ActorBlockBase.h:6
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Experiments.h:14
Definition Level.h:239
Definition NoteBlock.h:21
static MCAPI void ** $vftable()
Definition Player.h:120
Definition Vec3.h:10