16class MainChunkSource :
public ::ChunkSource {
20 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>> mChunkMap;
33 virtual ~MainChunkSource() =
default;
35 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(
::ChunkPos const& cp) ;
37 virtual bool isChunkKnown(
::ChunkPos const& chunkPos) ;
39 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(
::Random& random) ;
41 virtual ::std::shared_ptr<::LevelChunk>
42 createNewChunk(
::ChunkPos const& cp, ::ChunkSource::LoadMode lm,
bool readOnly) ;
44 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) ;
46 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>
const& getStorage()
const ;
48 virtual void clearDeletedEntities() ;
50 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>
const* getChunkMap() ;
52 virtual bool canCreateViews()
const ;
54 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) ;
61 MCAPI
explicit MainChunkSource(::std::unique_ptr<::ChunkSource> storage);
69 MCAPI
void* $ctor(::std::unique_ptr<::ChunkSource> storage);
76 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(
::ChunkPos const& cp);
78 MCAPI
bool $isChunkKnown(
::ChunkPos const& chunkPos);
80 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(
::Random& random);
82 MCAPI ::std::shared_ptr<::LevelChunk>
83 $createNewChunk(
::ChunkPos const& cp, ::ChunkSource::LoadMode lm,
bool readOnly);
85 MCFOLD
void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
87 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>
const& $getStorage()
const;
89 MCAPI
void $clearDeletedEntities();
91 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>
const* $getChunkMap();
93 MCFOLD
bool $canCreateViews()
const;
95 MCAPI
void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
static MCAPI void ** $vftable()