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