LeviLamina
Loading...
Searching...
No Matches
DetectorRailBlock.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/Direction.h"
7#include "mc/world/level/block/BaseRailBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Block;
13class BlockPos;
14class BlockSource;
15class Experiments;
16namespace BlockEvents { class BlockQueuedTickEvent; }
17namespace BlockEvents { class BlockRedstoneUpdateEvent; }
18// clang-format on
19
21public:
22 // virtual functions
23 // NOLINTBEGIN
24 virtual int getVariant(::Block const& block) const /*override*/;
25
26 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
27
28 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const /*override*/;
29
30 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
31
32 virtual bool
33 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
34 /*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 bool isSignalSource() const /*override*/;
42
43 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
44
45 virtual ~DetectorRailBlock() /*override*/ = default;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI void _checkPressed(::BlockSource& region, ::BlockPos const& pos) const;
52
53 MCAPI void _handlePressed(::BlockSource& region, ::BlockPos const& pos, bool shouldBePressed) const;
54
55 MCFOLD void _onRedstoneUpdateDetectorRail(::BlockEvents::BlockRedstoneUpdateEvent&) const;
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61 MCFOLD int $getVariant(::Block const& block) const;
62
63 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
64
65 MCAPI void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
66
67 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
68
69 MCFOLD bool
70 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
71
72 MCFOLD bool $hasComparatorSignal() const;
73
74 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
75
76 MCFOLD bool $isSignalSource() const;
77
78 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
79
80
81 // NOLINTEND
82
83public:
84 // vftables
85 // NOLINTBEGIN
86 MCAPI static void** $vftable();
87 // NOLINTEND
88};
Definition Actor.h:105
Definition BaseRailBlock.h:26
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition DetectorRailBlock.h:20
Definition Experiments.h:14