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
17class ConsumerComponent : public ::BaseCircuitComponent {
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& dampening,
42 int& bDirectlyPowered,
43 bool&
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 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI ConsumerComponent();
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void* $ctor();
65 // NOLINTEND
66
67public:
68 // virtual function thunks
69 // NOLINTBEGIN
70 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
71
72 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered);
73
74 MCAPI bool
75 $addSource(::CircuitSceneGraph& info, ::CircuitTrackingInfo const& dampening, int& bDirectlyPowered, bool&);
76
77 MCFOLD bool $canConsumerPower() const;
78
79 MCFOLD bool $isSecondaryPowered() const;
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 BlockPos.h:21
Definition CircuitSceneGraph.h:19
Definition CircuitSystem.h:16
Definition CircuitTrackingInfo.h:14