LeviLamina
Loading...
Searching...
No Matches
RedstoneTorchCapacitor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/redstone/circuit/components/CapacitorComponent.h"
7#include "mc/world/redstone/circuit/components/CircuitComponentType.h"
8#include "mc/world/redstone/circuit/components/RedstoneLogicExecutionFlags.h"
9
10// auto generated forward declare list
11// clang-format off
13class BlockPos;
15class CircuitSystem;
17// clang-format on
18
19class RedstoneTorchCapacitor : public ::CapacitorComponent {
20public:
21 // RedstoneTorchCapacitor inner types declare
22 // clang-format off
23 struct State;
24 // clang-format on
25
26 // RedstoneTorchCapacitor inner types define
27 struct State {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<1, 1, bool> mOn;
32 ::ll::TypedStorage<1, 1, bool> mHalfFrame;
33 ::ll::TypedStorage<1, 1, bool> mChanged;
34 // NOLINTEND
35 };
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<8, 8, ::RedstoneTorchCapacitor*> mNextOrder;
41 ::ll::TypedStorage<4, 4, int> mSelfPowerCount;
42 ::ll::TypedStorage<1, 6, ::RedstoneTorchCapacitor::State[2]> mState;
43 ::ll::TypedStorage<1, 1, bool> mCanReigniteFromBurnout;
44 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
45 // NOLINTEND
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 virtual ~RedstoneTorchCapacitor() /*override*/ = default;
51
52 virtual uchar getPoweroutDirection() const /*override*/;
53
54 virtual bool
55 allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered) /*override*/;
56
57 virtual bool addSource(
58 ::CircuitSceneGraph& info,
59 ::CircuitTrackingInfo const& dampening,
60 int& bDirectlyPowered,
61 bool&
62 ) /*override*/;
63
64 virtual void removeSource(::BlockPos const& posSource, ::BaseCircuitComponent const* pComponent) /*override*/;
65
66 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
67
68 virtual void cacheValues(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
69
70 virtual int getStrength() const /*override*/;
71
72 virtual bool isHalfPulse() const /*override*/;
73
74 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
75
76 virtual ::RedstoneLogicExecutionFlags getLogicExecutionFlags() const /*override*/;
77
78 virtual void updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos) /*override*/;
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI RedstoneTorchCapacitor();
85
86 MCAPI int _findStrongestStrength(::BlockPos const& targetPos, ::CircuitSystem& bPowerFromSelf, bool&);
87
88 MCAPI void resetBurnOutCount();
89
90 MCAPI void setOn(bool bOn);
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor();
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCFOLD uchar $getPoweroutDirection() const;
103
104 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered);
105
106 MCAPI bool
107 $addSource(::CircuitSceneGraph& info, ::CircuitTrackingInfo const& dampening, int& bDirectlyPowered, bool&);
108
109 MCAPI void $removeSource(::BlockPos const& posSource, ::BaseCircuitComponent const* pComponent);
110
111 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
112
113 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
114
115 MCAPI int $getStrength() const;
116
117 MCFOLD bool $isHalfPulse() const;
118
119 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
120
121 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
122
123 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
124
125
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCAPI static void** $vftable();
132 // NOLINTEND
133};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:21
Definition CapacitorComponent.h:9
Definition CircuitSceneGraph.h:19
Definition CircuitSystem.h:16
Definition CircuitTrackingInfo.h:14
Definition RedstoneTorchCapacitor.h:27