LeviLamina
Loading...
Searching...
No Matches
ConsumerComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/redstone/circuit/components/BaseCircuitComponent.h"
7#include "mc/world/redstone/circuit/components/CircuitComponentType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
13class CircuitSystem;
15// clang-format on
16
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 24, ::std::vector<::ConsumerComponent*>> mMultiBlockPartConsumers;
22 ::ll::TypedStorage<1, 1, bool> mSecondaryPowered;
23 ::ll::TypedStorage<1, 1, bool> mPropagatePower;
24 ::ll::TypedStorage<1, 1, bool> mPromotedToProducer;
25 ::ll::TypedStorage<1, 1, bool> mAcceptHalfPulse;
26 ::ll::TypedStorage<1, 1, bool> mAcceptSameDirection;
27 ::ll::TypedStorage<1, 1, bool> mUpdatedByOtherConsumer;
28 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
29 // NOLINTEND
30
31public:
32 // virtual functions
33 // NOLINTBEGIN
34 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
35
36 virtual bool
37 allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered) /*override*/;
38
39 virtual bool addSource(
41 ::CircuitTrackingInfo const& info,
42 int& dampening,
43 bool& bDirectlyPowered
44 ) /*override*/;
45
46 virtual bool canConsumerPower() const /*override*/;
47
48 virtual bool isSecondaryPowered() const /*override*/;
49
50 virtual bool needsUpdate() /*override*/;
51
52 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
53
54 virtual ~ConsumerComponent() /*override*/;
55 // NOLINTEND
56
57public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCAPI void $dtor();
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
67
68 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered);
69
70 MCAPI bool
71 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
72
73 MCFOLD bool $canConsumerPower() const;
74
75#ifdef LL_PLAT_S
76 MCAPI bool $isSecondaryPowered() const;
77#else // LL_PLAT_C
78 MCFOLD bool $isSecondaryPowered() const;
79#endif
80
81 MCAPI bool $needsUpdate();
82
83 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCAPI static void** $vftable();
92 // NOLINTEND
93};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:17
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition ConsumerComponent.h:17