LeviLamina
Loading...
Searching...
No Matches
RuntimeLightingManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/ChunkPos.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class Dimension;
12class SubChunkPos;
13struct Brightness;
15// clang-format on
16
17class RuntimeLightingManager {
18public:
19 // RuntimeLightingManager inner types declare
20 // clang-format off
23 // clang-format on
24
25 // RuntimeLightingManager inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 4, float> mDist;
31 ::ll::TypedStorage<8, 8, ::ChunkPos> mChunkPos;
32 ::ll::TypedStorage<8, 8, uint64> mSubChunkIndex;
33 ::ll::TypedStorage<8, 8, ::std::vector<::SubChunkLightUpdate>*> mAlteredBlockList;
34 // NOLINTEND
35 };
36
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<8, 24, ::std::vector<::std::vector<::SubChunkLightUpdate>>> mAlteredSubchunkBlockList;
42 // NOLINTEND
43
44 public:
45 // member functions
46 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCFOLD void $dtor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::RuntimeLightingManager::RuntimeLightingSubchunkList>>
61 mLevelChunksToLight;
62 ::ll::TypedStorage<8, 24, ::std::vector<::RuntimeLightingManager::RelightingChunkElement>> mListOfChunksToProcess;
63 ::ll::TypedStorage<8, 24, ::std::vector<::SubChunkPos>> mProcessedSubchunks;
64 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
65 ::ll::TypedStorage<1, 1, bool> mWorkerScheduled;
66 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mLightingTimeboxTime;
67 // NOLINTEND
68
69public:
70 // prevent constructor by default
71 RuntimeLightingManager& operator=(RuntimeLightingManager const&);
72 RuntimeLightingManager(RuntimeLightingManager const&);
73 RuntimeLightingManager();
74
75public:
76 // virtual functions
77 // NOLINTBEGIN
78 virtual ~RuntimeLightingManager();
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI void _getListOfChunksWithPlayerDistance();
85
86 MCAPI void _relightChunks(::std::chrono::nanoseconds timeLimit);
87
88 MCAPI void _removeProcessedSubchunks();
89
90 MCAPI void updateBlockLight(
91 ::BlockPos const& blockPos,
92 ::Brightness oldBrightness,
93 ::Brightness newBrightness,
94 ::Brightness oldAbsorption,
95 ::Brightness newAbsorption,
96 bool isSkyLight
97 );
98 // NOLINTEND
99
100public:
101 // destructor thunk
102 // NOLINTBEGIN
103 MCAPI void $dtor();
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
Definition BlockPos.h:19
Definition Dimension.h:86
static MCAPI void ** $vftable()
Definition SubChunkPos.h:5
Definition Brightness.h:8
Definition RuntimeLightingManager.h:26
Definition RuntimeLightingManager.h:37
Definition SubChunkLightUpdate.h:9