LeviLamina
Loading...
Searching...
No Matches
ChunkLoadActionList.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/chunk/ChunkRequestListType.h"
7#include "mc/world/level/chunk/ChunksLoadedStatus.h"
8#include "mc/world/level/chunk/QueueRequestResult.h"
9#include "mc/world/level/dimension/DimensionDataSerializer.h"
10
11// auto generated forward declare list
12// clang-format off
14class ChunkSource;
15class CompoundTag;
16class Dimension;
18class IRequestAction;
20class LevelChunk;
21class LevelStorage;
22class ServerLevel;
23struct Tick;
24// clang-format on
25
26class ChunkLoadActionList {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkLoadedRequest>> mChunkLoadedRequests;
31 ::ll::TypedStorage<8, 24, ::std::vector<::ChunkLoadedRequest>> mChunkLoadedRequestsWaitForTicking;
32 ::ll::TypedStorage<4, 4, ::DimensionDataSerializer> mDimensionDataSerializer;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI ChunkLoadActionList();
39
40 MCAPI void _addChunkLoadedRequest(
41 ::ChunkLoadedRequest chunkLoadedRequest,
42 ::std::string const& dimensionPrefix,
43 ::ChunksLoadedStatus chunksLoadedStatus,
44 ::LevelStorage& levelStorage
45 );
46
47 MCAPI void _addChunkLoadedRequestToAsyncList(
48 ::ChunkLoadedRequest chunkLoadedRequest,
49 ::std::string const& dimensionPrefix,
50 ::LevelStorage& levelStorage
51 );
52
53 MCAPI void _addChunkLoadedRequestToTickingList(
54 ::ChunkLoadedRequest chunkLoadedRequest,
55 ::std::string const& dimensionPrefix,
56 ::LevelStorage& levelStorage
57 );
58
59 MCAPI int
60 _clearRequest(::LevelStorage& levelStorage, ::IRequestAction* actionToRemove, ::std::string_view tickingAreaName);
61
62 MCAPI void _saveRequest(
63 ::ChunkLoadedRequest& request,
64 ::std::string const& dimensionPrefix,
65 ::ChunkRequestListType chunkRequestListType,
66 ::LevelStorage& levelStorage
67 );
68
69 MCAPI void _updateAsyncList(
70 ::LevelStorage& levelStorage,
71 ::Dimension& dimension,
72 ::std::function<::ChunksLoadedStatus(::ChunkLoadedRequest&)> chunksLoadedCheckFunction
73 );
74
75 MCAPI void _updateTickingList(
76 ::ServerLevel& serverLevel,
77 ::Dimension& dimension,
78 ::std::function<::ChunksLoadedStatus(::ChunkLoadedRequest&)> chunksLoadedCheckFunction
79 );
80
81 MCAPI void addChunkLoadedRequest(
82 ::ChunkLoadedRequest chunkLoadedRequest,
83 ::std::string const& dimensionPrefix,
84 ::ChunksLoadedStatus chunksLoadedStatus,
85 ::LevelStorage& levelStorage
86 );
87
88 MCAPI int clearRequestWithAction(::LevelStorage& levelStorage, ::gsl::not_null<::IRequestAction*> actionToRemove);
89
90 MCAPI int clearRequestWithTickingAreaName(
91 ::LevelStorage& levelStorage,
92 ::std::string_view tickingAreaName,
93 ::IRequestAction* actionToRemove
94 );
95
96 MCAPI void loadRequest(
97 ::std::string const& key,
98 ::CompoundTag const& tag,
100 ::std::string const& dimensionPrefix,
101 ::JigsawStructureElementRegistry const& elementReg
102 );
103
104 MCAPI void loadRequests(
105 ::LevelStorage& storage,
107 ::std::string const& dimensionPrefix,
108 ::DimensionType type,
109 ::JigsawStructureElementRegistry const& elementReg
110 );
111
112 MCAPI void onChunkLoaded(
113 ::LevelStorage& levelStorage,
114 ::ChunkSource& source,
115 ::std::string const&,
116 ::LevelChunk& lc,
117 ::Tick currentTick
118 );
119
120 MCAPI void onStaticTickingAreaAdded(
121 ::LevelStorage& levelStorage,
122 ::Dimension& dimension,
123 ::std::string const& name,
124 ::Tick currentTick
125 );
126
127 MCAPI ::QueueRequestResult queueRequestOrExecuteAction(
128 ::ChunkLoadedRequest chunkLoadedRequest,
129 ::ServerLevel& serverLevel,
130 ::Dimension& dimension
131 );
132
133 MCAPI void tickRequests(::ServerLevel& serverLevel, ::Dimension& dimension);
134
135 MCAPI ~ChunkLoadActionList();
136 // NOLINTEND
137
138public:
139 // constructor thunks
140 // NOLINTBEGIN
141 MCAPI void* $ctor();
142 // NOLINTEND
143
144public:
145 // destructor thunk
146 // NOLINTBEGIN
147 MCAPI void $dtor();
148 // NOLINTEND
149};
Definition ChunkLoadedRequest.h:24
Definition ChunkSource.h:37
Definition CompoundTag.h:23
Definition Dimension.h:88
Definition ICommandOriginLoader.h:11
Definition IRequestAction.h:12
Definition JigsawStructureElementRegistry.h:10
Definition LevelChunk.h:87
Definition LevelStorage.h:26
Definition ServerLevel.h:59
Definition Tick.h:5