LeviLamina
Loading...
Searching...
No Matches
RepeaterBlock.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/DiodeBlock.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class BlockActor;
13class BlockPos;
14class BlockSource;
15class BlockType;
16class Experiments;
17class ItemInstance;
19namespace BlockEvents { class BlockPlaceEvent; }
20namespace BlockEvents { class BlockPlayerInteractEvent; }
21namespace BlockEvents { class BlockQueuedTickEvent; }
22namespace BlockEvents { class BlockRedstoneUpdateEvent; }
23// clang-format on
24
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
30
31 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
32
33 virtual bool isLocked(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual bool isInteractiveBlock() const /*override*/;
36
37 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
38
39 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
42
43 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
44 /*override*/;
45
46 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
47
48 virtual bool
49 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
50 /*override*/;
51
52 virtual bool isPreservingMediumWhenPlaced(::BlockType const* medium) const /*override*/;
53
54 virtual int getTurnOnDelay(::Block const& block) const /*override*/;
55
56 virtual ::Block const* getOnBlock(::Block const* block) const /*override*/;
57
58 virtual ::Block const* getOffBlock(::Block const* block) const /*override*/;
59
60 virtual bool isAlternateInput(::Block const& block) const /*override*/;
61
62 virtual void _addHardCodedBlockComponents(::Experiments const&) /*override*/;
63
64 virtual ~RepeaterBlock() /*override*/ = default;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent& blockEvent) const;
71
72 MCFOLD void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
73
74 MCAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
75
76 MCAPI void updateDelay(::BlockSource& region, ::BlockPos const& pos, bool doIncrement) const;
77
78 MCAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
79 // NOLINTEND
80
81public:
82 // static variables
83 // NOLINTBEGIN
84 MCAPI static ::std::add_lvalue_reference_t<int const[]> DELAYS();
85
86 MCAPI static ::std::add_lvalue_reference_t<float const[]> DELAY_RENDER_OFFSETS();
87 // NOLINTEND
88
89public:
90 // virtual function thunks
91 // NOLINTBEGIN
92 MCAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
93
94 MCAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
95
96 MCAPI bool $isLocked(::BlockSource& region, ::BlockPos const& pos) const;
97
98 MCFOLD bool $isInteractiveBlock() const;
99
100 MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
101
102 MCFOLD bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
103
104 MCAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
105
106 MCFOLD void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
107
108 MCFOLD void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
109
110 MCAPI bool
111 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
112
113 MCFOLD bool $isPreservingMediumWhenPlaced(::BlockType const* medium) const;
114
115 MCAPI int $getTurnOnDelay(::Block const& block) const;
116
117 MCAPI ::Block const* $getOnBlock(::Block const* block) const;
118
119 MCAPI ::Block const* $getOffBlock(::Block const* block) const;
120
121 MCAPI bool $isAlternateInput(::Block const& block) const;
122
123 MCAPI void $_addHardCodedBlockComponents(::Experiments const&);
124
125
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCNAPI static void** $vftable();
132 // NOLINTEND
133};
Definition BlockActor.h:32
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:17
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockType.h:84
Definition Block.h:43
Definition DiodeBlock.h:16
Definition Experiments.h:14
Definition ItemInstance.h:15
Definition RepeaterBlock.h:25
static MCAPI void ** $vftable()
Definition BlockAnimateTickData.h:14