LeviLamina
Loading...
Searching...
No Matches
CircuitSystem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/redstone/circuit/CircuitSceneGraph.h"
7
8// auto generated forward declare list
9// clang-format off
11class BlockPos;
12class BlockSource;
13// clang-format on
14
16public:
17 // CircuitSystem inner types declare
18 // clang-format off
20 // clang-format on
21
22 // CircuitSystem inner types define
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<1, 1, bool> mLockGraph;
29 ::ll::TypedStorage<8, 408, ::CircuitSceneGraph> mSceneGraph;
30 ::ll::TypedStorage<8, 24, ::std::vector<::CircuitSystem::LevelChunkTracking>> mAddedLevelChunk;
31 ::ll::TypedStorage<1, 1, bool> mHasBeenEvaluated;
32 // NOLINTEND
33
34public:
35 // member functions
36 // NOLINTBEGIN
37 MCAPI ::BaseCircuitComponent*
38 createComponent(::BlockPos const& pos, uchar direction, ::std::unique_ptr<::BaseCircuitComponent> newComponent);
39
40 MCAPI void evaluate(::BlockSource* region);
41
42#ifdef LL_PLAT_C
43 MCAPI void evaluateComponents(bool bOnlyProducers);
44#endif
45
46 MCAPI bool isConnectionAllowed(
47 ::BaseCircuitComponent& component,
48 ::BlockPos const& componentPos,
49 uchar connectionDirection,
50 bool directlyPowered,
51 bool speculativeConnection
52 );
53
54 MCAPI void setStrength(::BlockPos const& pos, int strength);
55
56 MCAPI void updateBlocks(::BlockSource& region, ::BlockPos const& chunkPos);
57 // NOLINTEND
58};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CircuitSystem.h:23
Definition CircuitSystem.h:15