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;
13class ChunkPos;
14// clang-format on
15
16class CircuitSystem {
17public:
18 // CircuitSystem inner types declare
19 // clang-format off
21 // clang-format on
22
23 // CircuitSystem inner types define
25
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<1, 1, bool> mLockGraph;
30 ::ll::TypedStorage<8, 408, ::CircuitSceneGraph> mSceneGraph;
31 ::ll::TypedStorage<8, 24, ::std::vector<::CircuitSystem::LevelChunkTracking>> mAddedLevelChunk;
32 ::ll::TypedStorage<1, 1, bool> mHasBeenEvaluated;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI CircuitSystem();
39
40 MCAPI void cacheValues();
41
42 MCAPI void checkLocks();
43
44 MCAPI ::BaseCircuitComponent*
45 createComponent(::BlockPos const& pos, uchar direction, ::std::unique_ptr<::BaseCircuitComponent> newComponent);
46
47 MCAPI void evaluate(::BlockSource* region);
48
49 MCAPI void evaluateComponents(bool bOnlyProducers);
50
51 MCAPI int getStrength(::BlockPos const& pos);
52
53 MCAPI void invalidatePos(::BlockPos const& pos);
54
55 MCAPI bool isAvailableAt(::BlockPos const& pos);
56
57 MCAPI bool isConnectionAllowed(
58 ::BaseCircuitComponent& component,
59 ::BlockPos const& componentPos,
60 uchar connectionDirection,
61 bool directilyPowered
62 );
63
64 MCAPI void preSetupPoweredBlocks(::ChunkPos const& chunkPos);
65
66 MCAPI void removeComponents(::BlockPos const& pos);
67
68 MCAPI void setStrength(::BlockPos const& pos, int strength);
69
70 MCAPI void updateBlocks(::BlockSource& region, ::BlockPos const& chunkPos);
71
72 MCAPI void updateDependencies(::BlockSource* region);
73
74 MCAPI void updateIndividualBlock(
75 ::gsl::not_null<::BaseCircuitComponent*> component,
76 ::BlockPos const& pos,
77 ::BlockPos const& region,
79 );
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void* $ctor();
86 // NOLINTEND
87};
Definition BaseCircuitComponent.h:19
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition ChunkPos.h:11
Definition CircuitSystem.h:24