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;
15namespace BlockEvents { class BlockQueuedTickEvent; }
16namespace BlockEvents { class BlockRedstoneUpdateEvent; }
17// clang-format on
18
19class DetectorRailBlock : public ::BaseRailBlock {
20public:
21 // prevent constructor by default
22 DetectorRailBlock();
23
24public:
25 // virtual functions
26 // NOLINTBEGIN
27 virtual int getVariant(::Block const& block) const /*override*/;
28
29 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
30
31 virtual void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const /*override*/;
32
33 virtual void entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const /*override*/;
34
35 virtual bool shouldConnectToRedstone(::BlockSource&, ::BlockPos const&, ::Direction::Type) const /*override*/;
36
37 virtual bool hasComparatorSignal() const /*override*/;
38
39 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const&, uchar) const
40 /*override*/;
41
42 virtual bool isSignalSource() const /*override*/;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI DetectorRailBlock(::std::string const& nameId, int id);
49
50 MCAPI void _checkPressed(::BlockSource& region, ::BlockPos const& pos) const;
51
52 MCAPI void _handlePressed(::BlockSource& region, ::BlockPos const& pos, bool shouldBePressed) const;
53
54 MCFOLD void _onRedstoneUpdateDetectorRail(::BlockEvents::BlockRedstoneUpdateEvent&) const;
55 // NOLINTEND
56
57public:
58 // constructor thunks
59 // NOLINTBEGIN
60 MCAPI void* $ctor(::std::string const& nameId, int id);
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCFOLD int $getVariant(::Block const& block) const;
67
68 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
69
70 MCAPI void $tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
71
72 MCAPI void $entityInside(::BlockSource& region, ::BlockPos const& pos, ::Actor& entity) const;
73
74 MCFOLD bool $shouldConnectToRedstone(::BlockSource&, ::BlockPos const&, ::Direction::Type) const;
75
76 MCFOLD bool $hasComparatorSignal() const;
77
78 MCAPI int $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const&, uchar) const;
79
80 MCFOLD bool $isSignalSource() const;
81
82
83 // NOLINTEND
84
85public:
86 // vftables
87 // NOLINTBEGIN
88 MCAPI static void** $vftable();
89 // NOLINTEND
90};
Definition Actor.h:125
static MCAPI void ** $vftable()
Definition BlockQueuedTickEvent.h:18
Definition BlockRedstoneUpdateEvent.h:16
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69