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
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 // NOLINTEND
45
46public:
47 // member functions
48 // NOLINTBEGIN
49 MCAPI void _setBook(
50 ::Player& player,
51 ::ItemStack heldItem,
52 ::ChiseledBookshelfBlockActor& bookshelfActor,
53 int const hitSlot
54 ) const;
55
56 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
62 MCAPI static bool _retrieveBook(::Player& player, ::ChiseledBookshelfBlockActor& bookshelfActor, int const hitSlot);
63
64#ifdef LL_PLAT_C
65 MCAPI static ::ChiseledBookshelfBlock::SlotState
66 getBlockSlotState(::BlockPos const& blockPos, ::Vec3 const& blockHit, uchar faceHit, ::BlockSource const& region);
67#endif
68 // NOLINTEND
69
70public:
71 // virtual function thunks
72 // NOLINTBEGIN
73 MCFOLD bool $isInteractiveBlock() const;
74
75 MCFOLD bool $hasComparatorSignal() const;
76
77 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
78
79 MCAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
80
81 MCFOLD ::ItemInstance $asItemInstance(::Block const& block, ::BlockActor const*) const;
82
83
84 // NOLINTEND
85
86public:
87 // vftables
88 // NOLINTBEGIN
89 MCAPI static void** $vftable();
90 // NOLINTEND
91};
Definition BlockActor.h:29
Definition BlockPlayerInteractEvent.h:18
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition ChiseledBookshelfBlockActor.h:22
Definition ChiseledBookshelfBlock.h:22
Definition FaceDirectionalActorBlock.h:18
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Player.h:129
Definition Vec3.h:10