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, 24, ::std::vector<::BlockPos>> mBrightnessChangedList;
65 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
66 ::ll::TypedStorage<1, 1, bool> mWorkerScheduled;
67 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mLightingTimeboxTime;
68 // NOLINTEND
69
70public:
71 // prevent constructor by default
72 RuntimeLightingManager& operator=(RuntimeLightingManager const&);
73 RuntimeLightingManager(RuntimeLightingManager const&);
74 RuntimeLightingManager();
75
76public:
77 // virtual functions
78 // NOLINTBEGIN
79 virtual ~RuntimeLightingManager();
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI void _getListOfChunksWithPlayerDistance();
86
87 MCAPI void _relightChunks(::std::chrono::nanoseconds timeLimit);
88
89 MCAPI void _removeProcessedSubchunks();
90
91 MCAPI void updateBlockLight(
92 ::BlockPos const& blockPos,
93 ::Brightness oldBrightness,
94 ::Brightness newBrightness,
95 ::Brightness oldAbsorption,
96 ::Brightness newAbsorption,
97 bool isSkyLight
98 );
99 // NOLINTEND
100
101public:
102 // destructor thunk
103 // NOLINTBEGIN
104 MCAPI void $dtor();
105 // NOLINTEND
106
107public:
108 // vftables
109 // NOLINTBEGIN
110 MCNAPI static void** $vftable();
111 // NOLINTEND
112};
Definition BlockPos.h:19
Definition Dimension.h:85
static MCAPI void ** $vftable()
Definition SubChunkPos.h:5
Definition Brightness.h:8
Definition RuntimeLightingManager.h:26
Definition RuntimeLightingManager.h:37
Definition SubChunkLightUpdate.h:9