LeviLamina
Loading...
Searching...
No Matches
BlockRedstoneConsumerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Subscription.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13namespace BlockEvents { class BlockEventManager; }
14namespace BlockEvents { class BlockPlaceEvent; }
15// clang-format on
16
18public:
19 // BlockRedstoneConsumerComponent inner types define
20 using OnSetupRedstoneComponentCallback = void(::BlockSource&, ::BlockPos const&);
21
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<1, 1, schar> mMinPower;
26 ::ll::TypedStorage<1, 1, bool> mPropagatePower;
27 ::ll::TypedStorage<1, 1, bool> mConsumePowerAnyDirection;
28 ::ll::TypedStorage<1, 1, bool> mAcceptSameDirection;
29 ::ll::TypedStorage<1, 1, bool> mAcceptHalfPulse;
30 ::ll::TypedStorage<1, 1, bool> mIgnoreFirstUpdate;
31 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlaceEventSubscription;
32 ::ll::TypedStorage<8, 8, void (*)(::BlockSource&, ::BlockPos const&)> mOnSetupRedstoneComponentCallback;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI void _onPlace(::BlockEvents::BlockPlaceEvent const& ev) const;
39
40 MCAPI void finalize(::BlockEvents::BlockEventManager& eventManager);
41 // NOLINTEND
42
43public:
44 // static functions
45 // NOLINTBEGIN
46 MCAPI static void setupRedstoneComponent(::Block const& block, ::BlockSource& region, ::BlockPos const& pos);
47 // NOLINTEND
48};
Definition BlockEventManager.h:15
Definition BlockPlaceEvent.h:16
Definition BlockPos.h:19
Definition BlockRedstoneConsumerComponent.h:17
Definition BlockSource.h:71
Definition Block.h:43