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
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::RuntimeLightingManager::RuntimeLightingSubchunkList>>
49 mLevelChunksToLight;
50 ::ll::TypedStorage<8, 24, ::std::vector<::RuntimeLightingManager::RelightingChunkElement>> mListOfChunksToProcess;
51 ::ll::TypedStorage<8, 24, ::std::vector<::SubChunkPos>> mProcessedSubchunks;
52 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
53 ::ll::TypedStorage<1, 1, bool> mWorkerScheduled;
54 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mLightingTimeboxTime;
55 // NOLINTEND
56
57public:
58 // prevent constructor by default
59 RuntimeLightingManager& operator=(RuntimeLightingManager const&);
60 RuntimeLightingManager(RuntimeLightingManager const&);
61 RuntimeLightingManager();
62
63public:
64 // virtual functions
65 // NOLINTBEGIN
66 virtual ~RuntimeLightingManager() = default;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI void _getListOfChunksWithPlayerDistance();
73
74 MCAPI void _relightChunks(::std::chrono::nanoseconds timeLimit);
75
76 MCAPI void _removeProcessedSubchunks();
77
78 MCAPI void updateBlockLight(
79 ::BlockPos const& blockPos,
80 ::Brightness oldBrightness,
81 ::Brightness newBrightness,
82 ::Brightness oldAbsorption,
83 ::Brightness newAbsorption,
84 bool isSkyLight
85 );
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
Definition BlockPos.h:17
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