Skip to content
LeviMC
English
AutoLightDark
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 ItemInstance;
18namespace BlockEvents { class BlockPlaceEvent; }
19namespace BlockEvents { class BlockPlayerInteractEvent; }
20namespace BlockEvents { class BlockQueuedTickEvent; }
21namespace BlockEvents { class BlockRedstoneUpdateEvent; }
22namespace BlockEvents { class BlockStateChangeEvent; }
23// clang-format on
24
25class RepeaterBlock : public ::DiodeBlock {
26public:
27 // prevent constructor by default
28 RepeaterBlock();
29
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
34
35 virtual bool requiresLegacyRedstoneSetup() const /*override*/;
36
37 virtual ::ItemInstance asItemInstance(::Block const&, ::BlockActor const*) const /*override*/;
38
39 virtual bool isLocked(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
40
41 virtual bool isInteractiveBlock() const /*override*/;
42
43 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
44
45 virtual bool mayPlace(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
46
47 virtual bool canSurvive(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
48
49 virtual void neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const
50 /*override*/;
51
52 virtual void onRemove(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
53
54 virtual bool
55 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
56 /*override*/;
57
58 virtual bool isPreservingMediumWhenPlaced(::BlockType const* medium) const /*override*/;
59
60 virtual int getTurnOnDelay(::Block const& block) const /*override*/;
61
62 virtual ::Block const* getOnBlock(::Block const* block) const /*override*/;
63
64 virtual ::Block const* getOffBlock(::Block const* block) const /*override*/;
65
66 virtual bool isAlternateInput(::Block const& block) const /*override*/;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCNAPI RepeaterBlock(::std::string const& nameId, int id, bool on);
73
75
76 MCNAPI void _onStateChange(::BlockEvents::BlockStateChangeEvent const& eventData) const;
77
78 MCNAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
79
80 MCNAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
81
82 MCNAPI void updateDelay(::BlockSource& region, ::BlockPos const& pos, bool doIncrement) const;
83
84 MCNAPI void use(::BlockEvents::BlockPlayerInteractEvent& eventData) const;
85 // NOLINTEND
86
87public:
88 // static variables
89 // NOLINTBEGIN
90 MCNAPI static ::std::add_lvalue_reference_t<int const[4]> DELAYS();
91
92#ifdef LL_PLAT_S
93 MCNAPI static ::std::add_lvalue_reference_t<float const[4]> DELAY_RENDER_OFFSETS();
94#endif
95
96#ifdef LL_PLAT_C
97 MCNAPI static ::std::add_lvalue_reference_t<float const[]> DELAY_RENDER_OFFSETS();
98#endif
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCNAPI void* $ctor(::std::string const& nameId, int id, bool on);
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCNAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
111
112 MCNAPI bool $requiresLegacyRedstoneSetup() const;
113
114 MCNAPI ::ItemInstance $asItemInstance(::Block const&, ::BlockActor const*) const;
115
116 MCNAPI bool $isLocked(::BlockSource& region, ::BlockPos const& pos) const;
117
118 MCNAPI bool $isInteractiveBlock() const;
119
120 MCNAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
121
122 MCNAPI bool $mayPlace(::BlockSource& region, ::BlockPos const& pos) const;
123
124 MCNAPI bool $canSurvive(::BlockSource& region, ::BlockPos const& pos) const;
125
126 MCNAPI void $neighborChanged(::BlockSource& region, ::BlockPos const& pos, ::BlockPos const& neighborPos) const;
127
128 MCNAPI void $onRemove(::BlockSource& region, ::BlockPos const& pos) const;
129
130 MCNAPI bool
131 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
132
133 MCNAPI bool $isPreservingMediumWhenPlaced(::BlockType const* medium) const;
134
135 MCNAPI int $getTurnOnDelay(::Block const& block) const;
136
137 MCNAPI ::Block const* $getOnBlock(::Block const* block) const;
138
139 MCNAPI ::Block const* $getOffBlock(::Block const* block) const;
140
141 MCNAPI bool $isAlternateInput(::Block const& block) const;
142
143
144 // NOLINTEND
145
146public:
147 // vftables
148 // NOLINTBEGIN
149 MCNAPI static void** $vftable();
150 // NOLINTEND
151};
Definition BlockActor.h:30
Definition BlockPlaceEvent.h:16
Definition BlockPlayerInteractEvent.h:18
Definition BlockQueuedTickEvent.h:16
Definition BlockRedstoneUpdateEvent.h:15
Definition BlockStateChangeEvent.h:17
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition BlockType.h:79
Definition Block.h:42
Definition DiodeBlock.h:16
Definition ItemInstance.h:15
MCAPI bool $canSurvive(::BlockSource &region, ::BlockPos const &pos) const
MCAPI RepeaterBlock(::std::string const &nameId, int id, bool on)
MCAPI void $setupRedstoneComponent(::BlockSource &region, ::BlockPos const &pos) const
MCAPI::ItemInstance $asItemInstance(::Block const &, ::BlockActor const *) const
MCAPI void * $ctor(::std::string const &nameId, int id, bool on)
MCAPI void _onRedstoneUpdate(::BlockEvents::BlockRedstoneUpdateEvent &blockEvent) const
MCAPI bool $isPreservingMediumWhenPlaced(::BlockType const *medium) const
MCAPI int $getTurnOnDelay(::Block const &block) const
MCAPI void updateDelay(::BlockSource &region, ::BlockPos const &pos, bool doIncrement) const
MCAPI void _onStateChange(::BlockEvents::BlockStateChangeEvent const &eventData) const
MCAPI::Block const * $getOnBlock(::Block const *block) const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
MCAPI bool $isLocked(::BlockSource &region, ::BlockPos const &pos) const
MCAPI::Block const * $getOffBlock(::Block const *block) const
static MCAPI ::std::add_lvalue_reference_t< int const[4]> DELAYS()
MCAPI void $onRemove(::BlockSource &region, ::BlockPos const &pos) const
MCAPI bool $mayPlace(::BlockSource &region, ::BlockPos const &pos) const
MCAPI bool $shouldConnectToRedstone(::BlockSource &region, ::BlockPos const &pos, ::Direction::Type direction) const
MCAPI bool $isAlternateInput(::Block const &block) const
MCAPI void tick(::BlockEvents::BlockQueuedTickEvent &eventData) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
static MCAPI void ** $vftable()
MCAPI bool $requiresLegacyRedstoneSetup() const
MCAPI bool $isInteractiveBlock() const
MCAPI void $neighborChanged(::BlockSource &region, ::BlockPos const &pos, ::BlockPos const &neighborPos) const
MCAPI void use(::BlockEvents::BlockPlayerInteractEvent &eventData) const
Definition BlockAnimateTickData.h:14