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 ItemInstance;
16class ItemStack;
17class Player;
18class Vec3;
19namespace BlockEvents { class BlockPlayerInteractEvent; }
20// clang-format on
21
22class ChiseledBookshelfBlock : public ::FaceDirectionalActorBlock {
23public:
24 // ChiseledBookshelfBlock inner types define
25 enum class SlotState : int {
26 Free = 0,
27 Occupied = 1,
28 Invalid = 2,
29 };
30
31public:
32 // prevent constructor by default
33 ChiseledBookshelfBlock();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual bool isInteractiveBlock() const /*override*/;
39
40 virtual bool hasComparatorSignal() const /*override*/;
41
42 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const&, uchar) const
43 /*override*/;
44
45 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual ::ItemInstance asItemInstance(::Block const& block, ::BlockActor const*) const /*override*/;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI ChiseledBookshelfBlock(::std::string const& nameId, int id);
54
55 MCAPI bool _retrieveBook(::Player& player, ::ChiseledBookshelfBlockActor& bookshelfActor, int hitSlot) const;
56
57 MCAPI void
58 _setBook(::Player& player, ::ItemStack heldItem, ::ChiseledBookshelfBlockActor& bookshelfActor, int hitSlot) const;
59
60 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
61 // NOLINTEND
62
63public:
64 // static functions
65 // NOLINTBEGIN
66#ifdef LL_PLAT_C
67 MCAPI static ::ChiseledBookshelfBlock::SlotState
68 getBlockSlotState(::BlockPos const& blockPos, ::Vec3 const& blockHit, uchar faceHit, ::BlockSource const& region);
69#endif
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(::std::string const& nameId, int id);
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81 MCFOLD bool $isInteractiveBlock() const;
82
83 MCFOLD bool $hasComparatorSignal() const;
84
85 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const&, uchar) const;
86
87 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
88
89 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
90
91
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCAPI static void** $vftable();
98 // NOLINTEND
99};
Definition BlockActor.h:30
Definition BlockPlayerInteractEvent.h:20
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition ChiseledBookshelfBlockActor.h:22
static MCAPI void ** $vftable()
Definition ItemInstance.h:15
Definition ItemStack.h:35
Definition Player.h:137
Definition Vec3.h:10