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 // virtual functions
25 // NOLINTBEGIN
26 virtual ~MainChunkSource() /*override*/ = default;
27
28 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
29
30 virtual bool isChunkKnown(::ChunkPos const& chunkPos) /*override*/;
31
32 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Random& random) /*override*/;
33
34 virtual ::std::shared_ptr<::LevelChunk>
35 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
36
37 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
38
39 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& getStorage() const /*override*/;
40
41 virtual void clearDeletedEntities() /*override*/;
42
43 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() const /*override*/;
44
45 virtual bool canCreateViews() const /*override*/;
46
47 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) /*override*/;
48 // NOLINTEND
49
50public:
51 // virtual function thunks
52 // NOLINTBEGIN
53 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
54
55 MCAPI bool $isChunkKnown(::ChunkPos const& chunkPos);
56
57 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Random& random);
58
59 MCAPI ::std::shared_ptr<::LevelChunk>
60 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
61
62 MCFOLD void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
63
64 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& $getStorage() const;
65
66 MCAPI void $clearDeletedEntities();
67
68 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap() const;
69
70 MCFOLD bool $canCreateViews() const;
71
72 MCAPI void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
73
74
75 // NOLINTEND
76
77public:
78 // vftables
79 // NOLINTBEGIN
80 MCNAPI static void** $vftable();
81 // NOLINTEND
82};
Definition ChunkPos.h:13
Definition LevelChunk.h:77
Definition MainChunkSource.h:16
static MCAPI void ** $vftable()
Definition Random.h:10
Definition LevelChunkFinalDeleter.h:5