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, ::ComparatorCapacitor::Mode> mMode;
33 ::ll::TypedStorage<4, 4, int> mRearStrength;
34 ::ll::TypedStorage<4, 4, int> mSideStrengths;
35 ::ll::TypedStorage<1, 1, bool> mHasAnalogBeenSet;
36 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
37 // NOLINTEND
38
39public:
40 // virtual functions
41 // NOLINTBEGIN
42 virtual bool addSource(
44 ::CircuitTrackingInfo const& info,
45 int& dampening,
46 bool& bDirectlyPowered
47 ) /*override*/;
48
49 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
50
51 virtual void cacheValues(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
52
53 virtual void updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos) /*override*/;
54
55 virtual ::RedstoneLogicExecutionFlags getLogicExecutionFlags() const /*override*/;
56
57 virtual void setOldStrength(short strength) /*override*/;
58
59 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
60
61 virtual ~ComparatorCapacitor() /*override*/ = default;
62 // NOLINTEND
63
64public:
65 // virtual function thunks
66 // NOLINTBEGIN
67 MCAPI bool
68 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
69
70 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
71
72 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
73
74 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
75
76 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
77
78 MCFOLD void $setOldStrength(short strength);
79
80 MCAPI ::CircuitComponentType $getCircuitComponentType() const;
81
82
83 // NOLINTEND
84
85public:
86 // vftables
87 // NOLINTBEGIN
88 MCAPI static void** $vftable();
89 // NOLINTEND
90};
Definition BlockPos.h:19
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition ComparatorCapacitor.h:18