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& graph,
59 ::CircuitTrackingInfo const& info,
60 int& dampening,
61 bool& bDirectlyPowered
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 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor();
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCFOLD uchar $getPoweroutDirection() const;
97
98 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& bDirectlyPowered);
99
100 MCAPI bool
101 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
102
103 MCAPI void $removeSource(::BlockPos const& posSource, ::BaseCircuitComponent const* pComponent);
104
105 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
106
107 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
108
109 MCAPI int $getStrength() const;
110
111 MCAPI bool $isHalfPulse() const;
112
113 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
114
115 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
116
117 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
118
119
120 // NOLINTEND
121
122public:
123 // vftables
124 // NOLINTBEGIN
125 MCAPI static void** $vftable();
126 // NOLINTEND
127};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:17
Definition CapacitorComponent.h:9
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition RedstoneTorchCapacitor.h:27