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<1, 1, bool> mSecondaryPowered;
22 ::ll::TypedStorage<1, 1, bool> mPropagatePower;
23 ::ll::TypedStorage<1, 1, bool> mPromotedToProducer;
24 ::ll::TypedStorage<1, 1, bool> mAcceptHalfPulse;
25 ::ll::TypedStorage<1, 1, bool> mAcceptSameDirection;
26 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
33
34 virtual bool
35 allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered) /*override*/;
36
37 virtual bool addSource(
39 ::CircuitTrackingInfo const& info,
40 int& dampening,
41 bool& bDirectlyPowered
42 ) /*override*/;
43
44 virtual bool canConsumerPower() const /*override*/;
45
46 virtual bool isSecondaryPowered() const /*override*/;
47
48 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
49
50 virtual ~ConsumerComponent() /*override*/;
51 // NOLINTEND
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI ConsumerComponent();
57 // NOLINTEND
58
59public:
60 // constructor thunks
61 // NOLINTBEGIN
62 MCAPI void* $ctor();
63 // NOLINTEND
64
65public:
66 // destructor thunk
67 // NOLINTBEGIN
68 MCAPI void $dtor();
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
75
76 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered);
77
78 MCAPI bool
79 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
80
81 MCFOLD bool $canConsumerPower() const;
82
83 MCAPI bool $isSecondaryPowered() const;
84
85 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
86
87
88 // NOLINTEND
89
90public:
91 // vftables
92 // NOLINTBEGIN
93 MCAPI static void** $vftable();
94 // NOLINTEND
95};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:19
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14