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