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