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
23public:
24 // prevent constructor by default
25 MainChunkSource();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ~MainChunkSource() /*override*/;
31
32 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
33
34 virtual bool isChunkKnown(::ChunkPos const& chunkPos) /*override*/;
35
36 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Random& random) /*override*/;
37
38 virtual ::std::shared_ptr<::LevelChunk>
39 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
40
41 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
42
43 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& getStorage() const /*override*/;
44
45 virtual void clearDeletedEntities() /*override*/;
46
47 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() /*override*/;
48
49 virtual bool canCreateViews() const /*override*/;
50
51 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI explicit MainChunkSource(::std::unique_ptr<::ChunkSource> storage);
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCAPI void* $ctor(::std::unique_ptr<::ChunkSource> storage);
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCAPI void $dtor();
70 // NOLINTEND
71
72public:
73 // virtual function thunks
74 // NOLINTBEGIN
75 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
76
77 MCAPI bool $isChunkKnown(::ChunkPos const& chunkPos);
78
79 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Random& random);
80
81 MCAPI ::std::shared_ptr<::LevelChunk>
82 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
83
84 MCFOLD void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
85
86 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& $getStorage() const;
87
88 MCAPI void $clearDeletedEntities();
89
90 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap();
91
92 MCFOLD bool $canCreateViews() const;
93
94 MCAPI void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
95
96
97 // NOLINTEND
98
99public:
100 // vftables
101 // NOLINTBEGIN
102 MCNAPI static void** $vftable();
103 // NOLINTEND
104};
Definition ChunkPos.h:11
Definition LevelChunk.h:87
static MCAPI void ** $vftable()
Definition Random.h:10
Definition LevelChunkFinalDeleter.h:10