LeviLamina
Loading...
Searching...
No Matches
ChunkTickRangeManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/pub_sub/Subscription.h"
7
8// auto generated forward declare list
9// clang-format off
10class ChunkPos;
11class ChunkSource;
12class Dimension;
14class LevelChunk;
15class LevelSettings;
16// clang-format on
17
18class ChunkTickRangeManager {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoaded;
23 ::ll::TypedStorage<4, 4, uint> mChunkTickRange;
24 ::ll::TypedStorage<4, 4, uint> mMaxSimRadiusInChunks;
25 // NOLINTEND
26
27public:
28 // prevent constructor by default
29 ChunkTickRangeManager();
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI ChunkTickRangeManager(uint chunkTickRange, uint maxSimRadiusInChunks);
35
36 MCAPI void _onChunkLoaded(::ChunkSource& levelChunk, ::LevelChunk& closestPlayerDistanceSquared, int);
37
38 MCAPI uint getAdjustedChunkTickRange(::LevelSettings const& levelSettings);
39
40 MCAPI bool isChunkInTickRange(::LevelChunk const& lc, ::std::optional<int> minDistToPlayer) const;
41
42 MCAPI bool isChunkInTickRange(
43 ::ChunkPos const& chunkPos,
44 ::Dimension const& dimension,
45 bool shouldServerGenerate,
46 float serverBuildRatio,
47 int chunkViewRadius,
48 int numActiveUsers
49 ) const;
50
51 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
52 // NOLINTEND
53
54public:
55 // constructor thunks
56 // NOLINTBEGIN
57 MCAPI void* $ctor(uint chunkTickRange, uint maxSimRadiusInChunks);
58 // NOLINTEND
59};
Definition ChunkPos.h:11
Definition ChunkSource.h:37
Definition Dimension.h:89
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:87
Definition LevelSettings.h:40