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
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&);
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 3
40 virtual ::std::shared_ptr<::LevelChunk> getExistingChunk(::ChunkPos const& pos) /*override*/;
41
42 // vIndex: 4
43 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Random& random) /*override*/;
44
45 // vIndex: 20
46 virtual void acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr) /*override*/;
47
48 // vIndex: 7
49 virtual ::std::shared_ptr<::LevelChunk>
50 createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly) /*override*/;
51
52 // vIndex: 24
53 virtual bool isWithinWorldLimit(::ChunkPos const& cp) const /*override*/;
54
55 // vIndex: 31
56 virtual void setLevelChunk(::std::shared_ptr<::LevelChunk> lc) /*override*/;
57
58 // vIndex: 0
59 virtual ~ChunkViewSource() /*override*/;
60 // NOLINTEND
61
62public:
63 // member functions
64 // NOLINTBEGIN
65 MCAPI ChunkViewSource(::ChunkViewSource const& otherChunkViewSource);
66
67 MCAPI ChunkViewSource(
68 ::ChunkSource& mainSource,
69 ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk>>& gridArea,
70 ::Bounds const& bounds
71 );
72
73 MCAPI void clearEntryAtChunkPos(::ChunkPos const& chunkPos);
74
75 MCAPI void move(
76 ::Bounds const& bounds,
77 bool isCircle,
78 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
79 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
80 float const* serverBuildRatio
81 );
82
83 MCAPI void move(
84 ::BlockPos const& blockMin,
85 ::BlockPos const& blockMax,
86 bool isCircle,
87 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
88 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
89 float const* serverBuildRatio
90 );
91
92 MCAPI void move(
93 ::BlockPos const& center,
94 int radius,
95 bool isCircle,
96 ::ChunkSourceViewGenerateMode chunkViewGenerateMode,
97 ::std::function<void(::buffer_span_mut<::std::shared_ptr<::LevelChunk>>, ::buffer_span<uint>)> add,
98 float const* serverBuildRatio
99 );
100 // NOLINTEND
101
102public:
103 // constructor thunks
104 // NOLINTBEGIN
105 MCAPI void* $ctor(::ChunkViewSource const& otherChunkViewSource);
106
107 MCAPI void* $ctor(
108 ::ChunkSource& mainSource,
109 ::LevelChunkGridAreaElement<::std::weak_ptr<::LevelChunk>>& gridArea,
110 ::Bounds const& bounds
111 );
112 // NOLINTEND
113
114public:
115 // destructor thunk
116 // NOLINTBEGIN
117 MCAPI void $dtor();
118 // NOLINTEND
119
120public:
121 // virtual function thunks
122 // NOLINTBEGIN
123 MCAPI ::std::shared_ptr<::LevelChunk> $getExistingChunk(::ChunkPos const& pos);
124
125 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Random& random);
126
127 MCAPI void $acquireDiscarded(::std::unique_ptr<::LevelChunk, ::LevelChunkFinalDeleter> ptr);
128
129 MCFOLD ::std::shared_ptr<::LevelChunk>
130 $createNewChunk(::ChunkPos const& cp, ::ChunkSource::LoadMode lm, bool readOnly);
131
132 MCAPI bool $isWithinWorldLimit(::ChunkPos const& cp) const;
133
134 MCAPI void $setLevelChunk(::std::shared_ptr<::LevelChunk> lc);
135 // NOLINTEND
136
137public:
138 // vftables
139 // NOLINTBEGIN
140 MCNAPI static void** $vftable();
141 // NOLINTEND
142};
Definition BlockPos.h:18
Definition ChunkPos.h:11
Definition ChunkSource.h:34
Definition ChunkViewSource.h:22
static MCAPI void ** $vftable()
Definition LevelChunkGridAreaElement.h:6
Definition LevelChunk.h:74
Definition Random.h:11
Definition _HeaderOutputPredefine.h:191
Definition buffer_span.h:6
Definition Bounds.h:8
Definition LevelChunkFinalDeleter.h:5