Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
SculkSensorBlock.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/ActorBlockBase.h"
8#include "mc/world/level/block/BlockSupportType.h"
9#include "mc/world/level/block/BlockType.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Block;
15class BlockPos;
16class BlockSource;
17class EntityContext;
19struct Brightness;
20namespace BlockEvents { class BlockPlaceEvent; }
21namespace BlockEvents { class BlockQueuedTickEvent; }
22// clang-format on
23
24class SculkSensorBlock : public ::ActorBlock {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, int> mActiveTicks;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual bool canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const /*override*/;
35
36 virtual void onStandOn(::EntityContext& entityContext, ::BlockPos const& pos) const /*override*/;
37
38 virtual void setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const /*override*/;
39
40 virtual bool requiresLegacyRedstoneSetup() const /*override*/;
41
42 virtual bool isSignalSource() const /*override*/;
43
44 virtual bool
45 shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const
46 /*override*/;
47
48 virtual void animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const /*override*/;
49
50 virtual ::Brightness getLightEmission(::Block const& block) const /*override*/;
51
52 virtual ::Brightness getEmissiveBrightness(::Block const& block) const /*override*/;
53
54 virtual bool hasComparatorSignal() const /*override*/;
55
56 virtual int getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const
57 /*override*/;
58
59 virtual bool liquidCanFlowIntoFromDirection(
60 uchar flowIntoFacing,
61 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
62 ::BlockPos const& pos
63 ) const /*override*/;
64 // NOLINTEND
65
66public:
67 // member functions
68 // NOLINTBEGIN
69 MCNAPI void onPlace(::BlockEvents::BlockPlaceEvent& eventData) const;
70
71 MCNAPI void tick(::BlockEvents::BlockQueuedTickEvent& eventData) const;
72 // NOLINTEND
73
74public:
75 // static functions
76 // NOLINTBEGIN
77#ifdef LL_PLAT_C
78 MCNAPI static bool isActive(::Block const& block);
79#endif
80
81 MCNAPI static bool isActive(::BlockSource& region, ::BlockPos const& pos);
82
83#ifdef LL_PLAT_C
84 MCNAPI static bool isInactive(::Block const& block);
85#endif
86
87 MCNAPI static bool isOnCooldown(::BlockSource& region, ::BlockPos const& pos);
88
89 MCNAPI static void setActivePhase(
90 ::BlockSource& region,
91 ::BlockPos const& pos,
92 ::Actor* source,
93 int redstoneStrength,
94 int vibrationFrequency
95 );
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCNAPI bool $canProvideSupport(::Block const&, uchar face, ::BlockSupportType) const;
102
103 MCNAPI void $onStandOn(::EntityContext& entityContext, ::BlockPos const& pos) const;
104
105 MCNAPI void $setupRedstoneComponent(::BlockSource& region, ::BlockPos const& pos) const;
106
107 MCNAPI bool $requiresLegacyRedstoneSetup() const;
108
109 MCNAPI bool $isSignalSource() const;
110
111 MCNAPI bool
112 $shouldConnectToRedstone(::BlockSource& region, ::BlockPos const& pos, ::Direction::Type direction) const;
113
114 MCNAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const& tickData) const;
115
116 MCNAPI ::Brightness $getLightEmission(::Block const& block) const;
117
118 MCNAPI ::Brightness $getEmissiveBrightness(::Block const& block) const;
119
120 MCNAPI bool $hasComparatorSignal() const;
121
122 MCNAPI int
123 $getComparatorSignal(::BlockSource& region, ::BlockPos const& pos, ::Block const& block, uchar dir) const;
124
126 uchar flowIntoFacing,
127 ::std::function<::Block const&(::BlockPos const&)> const& getBlock,
128 ::BlockPos const& pos
129 ) const;
130
131
132 // NOLINTEND
133
134public:
135 // vftables
136 // NOLINTBEGIN
137 MCNAPI static void** $vftable();
138 // NOLINTEND
139};
Definition Actor.h:116
Definition BlockPlaceEvent.h:16
Definition BlockQueuedTickEvent.h:16
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition EntityContext.h:15
Definition SculkSensorBlock.h:24
MCAPI bool $hasComparatorSignal() const
MCAPI void $onStandOn(::EntityContext &entityContext, ::BlockPos const &pos) const
MCAPI bool $liquidCanFlowIntoFromDirection(uchar flowIntoFacing, ::std::function<::Block const &(::BlockPos const &)> const &getBlock, ::BlockPos const &pos) const
MCAPI int $getComparatorSignal(::BlockSource &region, ::BlockPos const &pos, ::Block const &block, uchar dir) const
MCAPI bool $canProvideSupport(::Block const &, uchar face, ::BlockSupportType) const
static MCAPI bool isOnCooldown(::BlockSource &region, ::BlockPos const &pos)
MCAPI::Brightness $getEmissiveBrightness(::Block const &block) const
MCAPI void tick(::BlockEvents::BlockQueuedTickEvent &eventData) const
MCAPI bool $requiresLegacyRedstoneSetup() const
MCAPI void $setupRedstoneComponent(::BlockSource &region, ::BlockPos const &pos) const
MCAPI void $animateTickBedrockLegacy(::BlockAnimateTickData const &tickData) const
MCAPI::Brightness $getLightEmission(::Block const &block) const
MCAPI void onPlace(::BlockEvents::BlockPlaceEvent &eventData) const
MCAPI bool $shouldConnectToRedstone(::BlockSource &region, ::BlockPos const &pos, ::Direction::Type direction) const
static MCAPI void ** $vftable()
static MCAPI void setActivePhase(::BlockSource &region, ::BlockPos const &pos, ::Actor *source, int redstoneStrength, int vibrationFrequency)
static MCAPI bool isActive(::BlockSource &region, ::BlockPos const &pos)
MCAPI bool $isSignalSource() const
Definition BlockAnimateTickData.h:14
Definition Brightness.h:8