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& dampening,
45 int& bDirectlyPowered,
46 bool&
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
67 MCAPI void clearAnalogStrength(uchar dir);
68
69 MCAPI bool isSubtractMode();
70
71 MCAPI void setAnalogStrength(int strength, uchar dir);
72
73 MCFOLD void setMode(::ComparatorCapacitor::Mode mode);
74 // NOLINTEND
75
76public:
77 // constructor thunks
78 // NOLINTBEGIN
79 MCAPI void* $ctor();
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI bool
86 $addSource(::CircuitSceneGraph& info, ::CircuitTrackingInfo const& dampening, int& bDirectlyPowered, bool&);
87
88 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
89
90 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
91
92 MCAPI void $updateDependencies(::CircuitSceneGraph& system, ::BlockPos const& pos);
93
94 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
95
96 MCFOLD void $setOldStrength(short strength);
97
98 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
99
100
101 // NOLINTEND
102
103public:
104 // vftables
105 // NOLINTBEGIN
106 MCAPI static void** $vftable();
107 // NOLINTEND
108};
Definition BlockPos.h:21
Definition CircuitSceneGraph.h:19
Definition CircuitSystem.h:16
Definition CircuitTrackingInfo.h:14
Definition SidePoweredComponent.h:17