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 Experiments;
16class Vec3;
17namespace BlockEvents { class BlockPlaceEvent; }
18namespace BlockEvents { class BlockPlayerInteractEvent; }
19// clang-format on
20
21class StructureBlock : public ::ActorBlock {
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual bool isInteractiveBlock() const /*override*/;
26
27 virtual bool isConsumerComponent() const /*override*/;
28
29 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
30
31 virtual void onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const
32 /*override*/;
33
34 virtual ::Block const&
35 getPlacementBlock(::Actor const& by, ::BlockPos const& pos, uchar face, ::Vec3 const& clickPos, int itemValue) const
36 /*override*/;
37
38 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
39
40 virtual ~StructureBlock() /*override*/ = default;
41 // NOLINTEND
42
43public:
44 // member functions
45 // NOLINTBEGIN
46 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
47
48 MCFOLD void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
49 // NOLINTEND
50
51public:
52 // virtual function thunks
53 // NOLINTBEGIN
54 MCFOLD bool $isInteractiveBlock() const;
55
56 MCFOLD bool $isConsumerComponent() const;
57
58 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
59
60 MCAPI void $onRedstoneUpdate(::BlockSource& region, ::BlockPos const& pos, int strength, bool isFirstTime) const;
61
62 MCAPI ::Block const& $getPlacementBlock(
63 ::Actor const& by,
64 ::BlockPos const& pos,
65 uchar face,
66 ::Vec3 const& clickPos,
67 int itemValue
68 ) const;
69
70 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
71
72
73 // NOLINTEND
74
75public:
76 // vftables
77 // NOLINTBEGIN
78 MCNAPI static void** $vftable();
79 // NOLINTEND
80};
Definition Actor.h:105
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition Experiments.h:14
Definition StructureBlock.h:21
static MCAPI void ** $vftable()
Definition Vec3.h:10