LeviLamina
Loading...
Searching...
No Matches
ChunkViewSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/buffer_span.h"
7#include "mc/util/GridArea.h"
8#include "mc/world/level/chunk/ChunkSource.h"
9#include "mc/world/level/chunk/ChunkSourceViewGenerateMode.h"
10#include "mc/world/level/chunk/LevelChunkGridAreaElement.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class ChunkPos;
16class LevelChunk;
17class Random;
18struct Bounds;
20// clang-format on
21
22class ChunkViewSource : public ::ChunkSource {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 4, ::ChunkSource::LoadMode> mParentLoadMode;
27 ::ll::TypedStorage<8, 376, ::GridArea<::std::shared_ptr<::LevelChunk>>> mArea;
28 ::ll::TypedStorage<8, 8, ::ChunkSource&> mMainSource;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 ChunkViewSource& operator=(ChunkViewSource const&);
34 ChunkViewSource();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& pos) /*override*/;
40
41 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Random& random) /*override*/;
42
43 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
44
45 virtual ::std::shared_ptr<::LevelChunk>
46 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
47
48 virtual bool isWithinWorldLimit(::ChunkPos const& cp) const /*override*/;
49
50 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) /*override*/;
51
52 virtual ~ChunkViewSource() /*override*/;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI ChunkViewSource(::ChunkViewSource const& otherChunkViewSource);
59
60 MCAPI ChunkViewSource(::ChunkSource& mainSource, ::ChunkSource::LoadMode parentLoadMode);
61
62 MCAPI ChunkViewSource(
63 ::ChunkSource& mainSource,
64 ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk>>& gridArea,
65 ::Bounds const& bounds
66 );
67
68 MCAPI void clearEntryAtChunkPos(::ChunkPos const& chunkPos);
69
70 MCAPI void move(
71 ::Bounds const& bounds,
72 bool isCircle,
73 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
74 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
75 float const* serverBuildRatio
76 );
77
78 MCAPI void move(
79 ::BlockPos const& blockMin,
80 ::BlockPos const& blockMax,
81 bool isCircle,
82 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
83 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
84 float const* serverBuildRatio
85 );
86
87 MCAPI void move(
88 ::BlockPos const& center,
89 int radius,
90 bool isCircle,
91 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
92 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
93 float const* serverBuildRatio
94 );
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(::ChunkViewSource const& otherChunkViewSource);
101
102 MCAPI void* $ctor(::ChunkSource& mainSource, ::ChunkSource::LoadMode parentLoadMode);
103
104 MCAPI void* $ctor(
105 ::ChunkSource& mainSource,
106 ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk>>& gridArea,
107 ::Bounds const& bounds
108 );
109 // NOLINTEND
110
111public:
112 // destructor thunk
113 // NOLINTBEGIN
114 MCAPI void $dtor();
115 // NOLINTEND
116
117public:
118 // virtual function thunks
119 // NOLINTBEGIN
120 MCAPI ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& pos);
121
122 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Random& random);
123
124 MCAPI void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
125
126 MCFOLD ::std::shared_ptr<::LevelChunk>
127 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
128
129 MCAPI bool $isWithinWorldLimit(::ChunkPos const& cp) const;
130
131 MCAPI void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
132
133
134 // NOLINTEND
135
136public:
137 // vftables
138 // NOLINTBEGIN
139 MCNAPI static void** $vftable();
140 // NOLINTEND
141};
Definition BlockPos.h:19
Definition ChunkPos.h:11
static MCAPI void ** $vftable()
Definition LevelChunkGridAreaElement.h:6
Definition LevelChunk.h:79
Definition Random.h:10
Definition _HeaderOutputPredefine.h:237
Definition buffer_span.h:6
Definition Bounds.h:8
Definition LevelChunkFinalDeleter.h:5