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& dampening,
48 int& bDirectlyPowered,
49 bool&
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 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI RepeaterCapacitor();
73
74 MCAPI void setDelay(int delay);
75 // NOLINTEND
76
77public:
78 // constructor thunks
79 // NOLINTBEGIN
80 MCAPI void* $ctor();
81 // NOLINTEND
82
83public:
84 // virtual function thunks
85 // NOLINTBEGIN
86 MCAPI bool
87 $addSource(::CircuitSceneGraph& info, ::CircuitTrackingInfo const& dampening, int& bDirectlyPowered, bool&);
88
89 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
90
91 MCAPI void $checkLock(::CircuitSystem& system, ::BlockPos const& pos);
92
93 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
94
95 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
96
97 MCAPI void $setStrength(int strength);
98
99 MCAPI int $getStrength() const;
100
101 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
102
103 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
104
105
106 // NOLINTEND
107
108public:
109 // vftables
110 // NOLINTBEGIN
111 MCAPI static void** $vftable();
112 // NOLINTEND
113};
Definition BlockPos.h:21
Definition CircuitSceneGraph.h:19
Definition CircuitSystem.h:16
Definition CircuitTrackingInfo.h:14
Definition SidePoweredComponent.h:17