LeviLamina
Loading...
Searching...
No Matches
BlockRedstoneProducerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/EnumSet.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/legacy/facing/Name.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockPos;
14class BlockSource;
16namespace BlockEvents { class BlockEventManager; }
17namespace BlockEvents { class BlockPlaceEvent; }
18namespace BlockEvents { class BlockStateChangeEvent; }
19// clang-format on
20
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<1, 1, schar> mPower;
26 ::ll::TypedStorage<1, 1, uchar> mStronglyPoweredFace;
27 ::ll::TypedStorage<1, 1, ::Bedrock::EnumSet<::Facing::Name, 6>> mConnectedFaces;
28 ::ll::TypedStorage<1, 1, bool> mIsTransformRelative;
29 ::ll::TypedStorage<1, 1, bool> mAllowPowerUp;
30 ::ll::TypedStorage<1, 1, bool> mAllowPowerDown;
31 ::ll::TypedStorage<1, 1, bool> mSetSignalStrengthOnRedstoneComponentSetup;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlaceEventSubscription;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnStateChangeEvenSubscription;
34 // NOLINTEND
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI void _onPlace(::BlockEvents::BlockPlaceEvent const& ev) const;
40
41 MCAPI void _onStateChange(::BlockEvents::BlockStateChangeEvent const& ev) const;
42
43 MCAPI void finalize(
45 ::BlockTransformationComponent const* transformationComponent
46 );
47 // NOLINTEND
48
49public:
50 // static functions
51 // NOLINTBEGIN
52 MCAPI static bool const isSignalSource(::Block const& block);
53
54 MCAPI static void setRedstoneSignal(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
55
56 MCAPI static void setupRedstoneComponent(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
57 // NOLINTEND
58};
Definition BlockEventManager.h:15
Definition BlockPlaceEvent.h:16
Definition BlockStateChangeEvent.h:16
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition BlockTransformationComponent.h:9
Definition Block.h:43
Definition BlockRedstoneProducerComponent.h:21