LeviLamina
Loading...
Searching...
No Matches
WorldLimitChunkSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Bounds.h"
7#include "mc/world/level/chunk/ChunkSource.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
12class ChunkPos;
13class LevelChunk;
14struct Bounds;
15// clang-format on
16
17class WorldLimitChunkSource : public ::ChunkSource {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<4, 48, ::Bounds> mLimitArea;
22 // NOLINTEND
23
24public:
25 // prevent constructor by default
26 WorldLimitChunkSource();
27
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~WorldLimitChunkSource() /*override*/ = default;
32
33 virtual ::std::shared_ptr<::LevelChunk>
34 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
35
36 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& cp) /*override*/;
37
38 virtual bool isWithinWorldLimit(::ChunkPos const& cp) const /*override*/;
39
40 virtual bool canCreateViews() const /*override*/;
41
42 virtual ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* getChunkMap() /*override*/;
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI
49 WorldLimitChunkSource(::std::unique_ptr<::ChunkSource> storage, ::BlockPos const& center, int width, int depth);
50 // NOLINTEND
51
52public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCAPI void* $ctor(::std::unique_ptr<::ChunkSource> storage, ::BlockPos const& center, int width, int depth);
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
61 MCAPI ::std::shared_ptr<::LevelChunk>
62 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
63
64 MCAPI ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& cp);
65
66 MCAPI bool $isWithinWorldLimit(::ChunkPos const& cp) const;
67
68 MCFOLD bool $canCreateViews() const;
69
70 MCAPI ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>> const* $getChunkMap();
71
72
73 // NOLINTEND
74
75public:
76 // vftables
77 // NOLINTBEGIN
78 MCNAPI static void** $vftable();
79 // NOLINTEND
80};
Definition BlockPos.h:19
Definition ChunkPos.h:11
Definition LevelChunk.h:79
static MCAPI void ** $vftable()
Definition Bounds.h:8