LeviLamina
Loading...
Searching...
No Matches
ChiseledBookshelfBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/FaceDirectionalActorBlock.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockActor;
12class BlockPos;
13class BlockSource;
15class Experiments;
16class ItemInstance;
17class ItemStack;
18class Player;
19namespace BlockEvents { class BlockPlayerInteractEvent; }
20// clang-format on
21
23public:
24 // ChiseledBookshelfBlock inner types define
25 enum class SlotState : int {
26 Free = 0,
27 Occupied = 1,
28 Invalid = 2,
29 };
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual bool isInteractiveBlock() const /*override*/;
35
36 virtual bool hasComparatorSignal() const /*override*/;
37
38 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
39 /*override*/;
40
41 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
44
45 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
46
47 virtual ~ChiseledBookshelfBlock() /*override*/ = default;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI bool _retrieveBook(::Player& player, ::ChiseledBookshelfBlockActor& bookshelfActor, int hitSlot) const;
54
55 MCAPI void
56 _setBook(::Player& player, ::ItemStack heldItem, ::ChiseledBookshelfBlockActor& bookshelfActor, int hitSlot) const;
57
58 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
59 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCFOLD bool $isInteractiveBlock() const;
65
66 MCFOLD bool $hasComparatorSignal() const;
67
68 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
69
70 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
71
72 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
73
74 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
75
76
77 // NOLINTEND
78
79public:
80 // vftables
81 // NOLINTBEGIN
82 MCAPI static void** $vftable();
83 // NOLINTEND
84};
Definition BlockActor.h:32
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition ChiseledBookshelfBlockActor.h:22
Definition ChiseledBookshelfBlock.h:22
Definition Experiments.h:14
Definition FaceDirectionalActorBlock.h:18
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Player.h:125