LeviLamina
Loading...
Searching...
No Matches
RepeaterCapacitor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/redstone/circuit/components/CircuitComponentType.h"
7#include "mc/world/redstone/circuit/components/RedstoneLogicExecutionFlags.h"
8#include "mc/world/redstone/circuit/components/SidePoweredComponent.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
14class CircuitSystem;
16// clang-format on
17
18class RepeaterCapacitor : public ::SidePoweredComponent {
19public:
20 // RepeaterCapacitor inner types define
21 enum class States : int {
22 Off = 0,
23 On = 1,
24 OffLocked = 2,
25 OnLocked = 3,
26 };
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<4, 20, ::RepeaterCapacitor::States[5]> mOnStates;
32 ::ll::TypedStorage<4, 4, int> mInsertAt;
33 ::ll::TypedStorage<1, 1, bool> mPowered;
34 ::ll::TypedStorage<1, 1, bool> mNextPower;
35 ::ll::TypedStorage<1, 1, bool> mLocked;
36 ::ll::TypedStorage<4, 4, int> mPulseCount;
37 ::ll::TypedStorage<1, 1, bool> mPulse;
38 ::ll::TypedStorage<1, 1, bool> mNextPulse;
39 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
40 // NOLINTEND
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual bool addSource(
47 ::CircuitTrackingInfo const& info,
48 int& dampening,
49 bool& bDirectlyPowered
50 ) /*override*/;
51
52 virtual void updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos) /*override*/;
53
54 virtual void checkLock(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
55
56 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
57
58 virtual void cacheValues(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
59
60 virtual void setStrength(int strength) /*override*/;
61
62 virtual int getStrength() const /*override*/;
63
64 virtual ::RedstoneLogicExecutionFlags getLogicExecutionFlags() const /*override*/;
65
66 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
67
68 virtual ~RepeaterCapacitor() /*override*/ = default;
69 // NOLINTEND
70
71public:
72 // virtual function thunks
73 // NOLINTBEGIN
74 MCAPI bool
75 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
76
77 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
78
79 MCAPI void $checkLock(::CircuitSystem& system, ::BlockPos const& pos);
80
81 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
82
83 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
84
85 MCAPI void $setStrength(int strength);
86
87 MCAPI int $getStrength() const;
88
89 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
90
91 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
92
93
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCAPI static void** $vftable();
100 // NOLINTEND
101};
Definition BlockPos.h:19
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition RepeaterCapacitor.h:18