LeviLamina
Loading...
Searching...
No Matches
StructureBlock.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/BlockType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Vec3;
16namespace BlockEvents { class BlockPlayerInteractEvent; }
17namespace BlockEvents { class BlockRedstoneUpdateEvent; }
18// clang-format on
19
20class StructureBlock : public ::ActorBlock {
21public:
22 // virtual functions
23 // NOLINTBEGIN
24 virtual bool isInteractiveBlock() const /*override*/;
25
26 virtual bool isConsumerComponent() const /*override*/;
27
28 virtual ::Block const&
29 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
30 /*override*/;
31
32 virtual ~StructureBlock() /*override*/ = default;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
39
40 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
41 // NOLINTEND
42
43public:
44 // static functions
45 // NOLINTBEGIN
46 MCAPI static void _onSetupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos);
47 // NOLINTEND
48
49public:
50 // virtual function thunks
51 // NOLINTBEGIN
52 MCFOLD bool $isInteractiveBlock() const;
53
54 MCFOLD bool $isConsumerComponent() const;
55
56 MCAPI ::Block const& $getPlacementBlock(
57 ::Actor const& by,
58 ::BlockPos const& pos,
59 uchar face,
60 ::Vec3 const& clickPos,
61 int itemValue
62 ) const;
63
64
65 // NOLINTEND
66
67public:
68 // vftables
69 // NOLINTBEGIN
70 MCAPI static void** $vftable();
71 // NOLINTEND
72};
Definition Actor.h:106
Definition BlockPlayerInteractEvent.h:17
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition StructureBlock.h:20
Definition Vec3.h:10