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 Dimension;
12class LevelChunk;
14// clang-format on
15
16class NetworkChunkSource : 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 NetworkChunkSource();
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
31
32 virtual ::std::shared_ptr<::LevelChunk>
33 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
34
35 virtual ::std::shared_ptr<::LevelChunk>
36 getOrLoadChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
37
38 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
39
40 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& getStorage() const /*override*/;
41
42 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() /*override*/;
43
44 virtual bool canCreateViews() const /*override*/;
45
46 virtual bool canLaunchTasks() const /*override*/;
47 // NOLINTEND
48
49public:
50 // member functions
51 // NOLINTBEGIN
52 MCAPI explicit NetworkChunkSource(::Dimension& dimension);
53 // NOLINTEND
54
55public:
56 // constructor thunks
57 // NOLINTBEGIN
58 MCAPI void* $ctor(::Dimension& dimension);
59 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCFOLD ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
65
66 MCAPI ::std::shared_ptr<::LevelChunk>
67 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
68
69 MCFOLD ::std::shared_ptr<::LevelChunk>
70 $getOrLoadChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
71
72 MCFOLD void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
73
74 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const& $getStorage() const;
75
76 MCFOLD ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap();
77
78 MCFOLD bool $canCreateViews() const;
79
80 MCFOLD bool $canLaunchTasks() const;
81
82
83 // NOLINTEND
84
85public:
86 // vftables
87 // NOLINTBEGIN
88 MCNAPI static void** $vftable();
89 // NOLINTEND
90};
Definition ChunkPos.h:11
Definition Dimension.h:89
Definition LevelChunk.h:87
static MCAPI void ** $vftable()
Definition LevelChunkFinalDeleter.h:10