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, char> 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<8, 16, ::Bedrock::PubSub::Subscription> mOnPlaceEventSubscription;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnStateChangeEvenSubscription;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI void _onPlace(::BlockEvents::BlockPlaceEvent const& ev) const;
39
40 MCAPI void _onStateChange(::BlockEvents::BlockStateChangeEvent const& ev) const;
41
42 MCAPI void finalize(
44 ::BlockTransformationComponent const* transformationComponent
45 );
46 // NOLINTEND
47
48public:
49 // static functions
50 // NOLINTBEGIN
51 MCAPI static void setRedstoneSignal(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
52
53 MCAPI static void setupRedstoneComponent(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
54 // NOLINTEND
55};
Definition BlockEventManager.h:15
Definition BlockPlaceEvent.h:16
Definition BlockStateChangeEvent.h:16
Definition BlockPos.h:17
Definition BlockSource.h:66
Definition BlockTransformationComponent.h:9
Definition Block.h:37
Definition BlockRedstoneProducerComponent.h:21