LeviLamina
Loading...
Searching...
No Matches
MainChunkSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/ChunkPos.h"
7#include "mc/world/level/chunk/ChunkSource.h"
8
9// auto generated forward declare list
10// clang-format off
11class LevelChunk;
12class Random;
14// clang-format on
15
16class MainChunkSource : public ::ChunkSource {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>> mChunkMap;
21 // NOLINTEND
22
23#ifdef LL_PLAT_S
24#else // LL_PLAT_C
25public:
26 // prevent constructor by default
27 MainChunkSource();
28
29#endif
30public:
31 // virtual functions
32 // NOLINTBEGIN
33 virtual ~MainChunkSource() /*override*/ = default;
34
35 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
36
37 virtual bool isChunkKnown(::ChunkPos const& chunkPos) /*override*/;
38
39 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Random& random) /*override*/;
40
41 virtual ::std::shared_ptr<::LevelChunk>
42 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
43
44 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
45
46 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& getStorage() const /*override*/;
47
48 virtual void clearDeletedEntities() /*override*/;
49
50 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() /*override*/;
51
52 virtual bool canCreateViews() const /*override*/;
53
54 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) /*override*/;
55 // NOLINTEND
56
57public:
58 // member functions
59 // NOLINTBEGIN
60#ifdef LL_PLAT_C
61 MCAPI explicit MainChunkSource(::std::unique_ptr<::ChunkSource> storage);
62#endif
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68#ifdef LL_PLAT_C
69 MCAPI void* $ctor(::std::unique_ptr<::ChunkSource> storage);
70#endif
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
77
78 MCAPI bool $isChunkKnown(::ChunkPos const& chunkPos);
79
80 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Random& random);
81
82 MCAPI ::std::shared_ptr<::LevelChunk>
83 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
84
85 MCFOLD void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
86
87 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& $getStorage() const;
88
89 MCAPI void $clearDeletedEntities();
90
91 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap();
92
93 MCFOLD bool $canCreateViews() const;
94
95 MCAPI void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
96
97
98 // NOLINTEND
99
100public:
101 // vftables
102 // NOLINTBEGIN
103 MCNAPI static void** $vftable();
104 // NOLINTEND
105};
Definition ChunkPos.h:11
Definition LevelChunk.h:79
static MCAPI void ** $vftable()
Definition Random.h:10
Definition LevelChunkFinalDeleter.h:5