LeviLamina
Loading...
Searching...
No Matches
TransporterComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/redstone/circuit/components/BaseCircuitComponent.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
12class BlockPos;
14class CircuitSystem;
16// clang-format on
17
18class TransporterComponent : public ::BaseCircuitComponent {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<4, 4, int> mNextStrength;
23 ::ll::TypedStorage<8, 8, ::CircuitComponentType const> mCircuitComponentType;
24 // NOLINTEND
25
26public:
27 // virtual functions
28 // NOLINTBEGIN
29 virtual void cacheValues(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
30
31 virtual bool addSource(
33 ::CircuitTrackingInfo const& info,
34 int& dampening,
35 bool& bDirectlyPowered
36 ) /*override*/;
37
38 virtual bool
39 allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& directlyPowered) /*override*/;
40
41 virtual bool canConsumerPower() const /*override*/;
42
43 virtual ::RedstoneLogicExecutionFlags getLogicExecutionFlags() const /*override*/;
44
45 virtual bool evaluate(::CircuitSystem& system, ::BlockPos const& pos) /*override*/;
46
47 virtual ::CircuitComponentType getCircuitComponentType() const /*override*/;
48 // NOLINTEND
49
50public:
51 // static functions
52 // NOLINTBEGIN
53 MCAPI static bool
54 isDotOrDirectLine(::CircuitSceneGraph& graph, ::BlockPos const& nearestPos, ::BlockPos const& deltaIn);
55 // NOLINTEND
56
57public:
58 // virtual function thunks
59 // NOLINTBEGIN
60 MCAPI void $cacheValues(::CircuitSystem& system, ::BlockPos const& pos);
61
62 MCAPI bool
63 $addSource(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, int& dampening, bool& bDirectlyPowered);
64
65 MCAPI bool $allowConnection(::CircuitSceneGraph& graph, ::CircuitTrackingInfo const& info, bool& directlyPowered);
66
67 MCFOLD bool $canConsumerPower() const;
68
69 MCFOLD ::RedstoneLogicExecutionFlags $getLogicExecutionFlags() const;
70
71 MCAPI bool $evaluate(::CircuitSystem& system, ::BlockPos const& pos);
72
73 MCFOLD ::CircuitComponentType $getCircuitComponentType() const;
74
75
76 // NOLINTEND
77};
Definition BlockPos.h:17
Definition CircuitSceneGraph.h:18
Definition CircuitSystem.h:15
Definition CircuitTrackingInfo.h:14
Definition TransporterComponent.h:18