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 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCAPI ComparatorCapacitor();
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor();
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI bool
78 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
79
80 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
81
82 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
83
84 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
85
86 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
87
88 MCFOLD void $setOldStrength(short strength);
89
90 MCAPI ::CircuitComponentType $getCircuitComponentType() const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCAPI static void** $vftable();
99 // NOLINTEND
100};
Definition BlockPos.h:17
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition SidePoweredComponent.h:17