LeviLamina
Loading...
Searching...
No Matches
ComparatorCapacitor.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 ComparatorCapacitor : public ::SidePoweredComponent {
19public:
20 // ComparatorCapacitor inner types define
21 enum class Mode : int {
22 CompareMode = 0,
23 SubtractMode = 1,
24 };
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, int> mRearAnalogStrength;
30 ::ll::TypedStorage<4, 4, int> mSideAnalogStrengthRight;
31 ::ll::TypedStorage<4, 4, int> mSideAnalogStrengthLeft;
32 ::ll::TypedStorage<4, 4, int> mOldStrength;
33 ::ll::TypedStorage<4, 4, ::ComparatorCapacitor::Mode> mMode;
34 ::ll::TypedStorage<4, 4, int> mRearStrength;
35 ::ll::TypedStorage<4, 4, int> mSideStrengths;
36 ::ll::TypedStorage<1, 1, bool> mHasAnalogBeenSet;
37 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
38 // NOLINTEND
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual bool addSource(
45 ::CircuitTrackingInfo const& info,
46 int& dampening,
47 bool& bDirectlyPowered
48 ) /*override*/;
49
50 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
51
52 virtual void cacheValues(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
53
54 virtual void updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos) /*override*/;
55
56 virtual ::RedstoneLogicExecutionFlags getLogicExecutionFlags() const /*override*/;
57
58 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
59
60 virtual ~ComparatorCapacitor() /*override*/ = default;
61 // NOLINTEND
62
63public:
64 // virtual function thunks
65 // NOLINTBEGIN
66 MCAPI bool
67 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
68
69 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
70
71 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
72
73 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
74
75 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
76
77 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
78
79
80 // NOLINTEND
81
82public:
83 // vftables
84 // NOLINTBEGIN
85 MCAPI static void** $vftable();
86 // NOLINTEND
87};
Definition BlockPos.h:19
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition ComparatorCapacitor.h:18