LeviLamina
Loading...
Searching...
No Matches
NetworkChunkSource.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;
13// clang-format on
14
15class NetworkChunkSource : public ::ChunkSource {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>> mChunkMap;
20 // NOLINTEND
21
22public:
23 // virtual functions
24 // NOLINTBEGIN
25 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
26
27 virtual ::std::shared_ptr<::LevelChunk>
28 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
29
30 virtual ::std::shared_ptr<::LevelChunk>
31 getOrLoadChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
32
33 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
34
35 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& getStorage() const /*override*/;
36
37 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() /*override*/;
38
39 virtual bool canCreateViews() const /*override*/;
40
41 virtual bool canLaunchTasks() const /*override*/;
42
43 virtual ~NetworkChunkSource() /*override*/ = default;
44 // NOLINTEND
45
46public:
47 // virtual function thunks
48 // NOLINTBEGIN
49 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
50
51 MCAPI ::std::shared_ptr<::LevelChunk>
52 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
53
54 MCFOLD ::std::shared_ptr<::LevelChunk>
55 $getOrLoadChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
56
57 MCFOLD void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
58
59 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& $getStorage() const;
60
61 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap();
62
63 MCFOLD bool $canCreateViews() const;
64
65 MCFOLD bool $canLaunchTasks() const;
66
67
68 // NOLINTEND
69
70public:
71 // vftables
72 // NOLINTBEGIN
73 MCNAPI static void** $vftable();
74 // NOLINTEND
75};
Definition ChunkPos.h:11
Definition LevelChunk.h:79
Definition NetworkChunkSource.h:15
static MCAPI void ** $vftable()
Definition LevelChunkFinalDeleter.h:5