LeviLamina
Loading...
Searching...
No Matches
DelayActionList.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/container/MovePriorityQueue.h"
7#include "mc/world/level/chunk/QueueRequestResult.h"
8#include "mc/world/level/dimension/DimensionDataSerializer.h"
9
10// auto generated forward declare list
11// clang-format off
12class CompoundTag;
13class DelayRequest;
14class Dimension;
16class IRequestAction;
17class LevelStorage;
18class ServerLevel;
19// clang-format on
20
21class DelayActionList {
22public:
23 // DelayActionList inner types declare
24 // clang-format off
26 // clang-format on
27
28 // DelayActionList inner types define
29 class DelayRequestQueue : public ::MovePriorityQueue<::DelayRequest, ::std::greater<::DelayRequest>> {};
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 24, ::DelayActionList::DelayRequestQueue> mDelayRequests;
35 ::ll::TypedStorage<4, 4, ::DimensionDataSerializer> mDimensionDataSerializer;
36 // NOLINTEND
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual ~DelayActionList() = default;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI DelayActionList();
48
49 MCAPI void _loadRequest(
50 ::Dimension& dimension,
51 ::std::string const& key,
52 ::CompoundTag const& tag,
54 uint64 currentTick,
55 ::std::vector<::std::string>& invalidRequestsOut
56 );
57
58 MCAPI void _loadRequests(
59 ::Dimension& dimension,
60 ::LevelStorage& levelStorage,
62 uint64 currentTick
63 );
64
65 MCAPI ::QueueRequestResult _queueRequestOrExecuteAction(
66 ::DelayRequest request,
67 ::LevelStorage& levelStorage,
68 ::Dimension& dimension,
69 uint64 currentTick,
70 bool allowDuplicates
71 );
72
73 MCAPI void
74 _saveRequest(::DelayRequest& request, ::std::string const& dimensionPrefix, ::LevelStorage& levelStorage);
75
76 MCAPI int clearRequestWithAction(::LevelStorage& levelStorage, ::gsl::not_null<::IRequestAction*> actionToRemove);
77
78 MCAPI void
79 loadRequests(::Dimension& dimension, ::LevelStorage& storage, ::ICommandOriginLoader& loader, uint64 currentTick);
80
81 MCAPI ::QueueRequestResult queueRequestOrExecuteAction(
82 ::DelayRequest request,
83 ::Dimension& dimension,
84 uint64 currentTick,
85 bool allowDuplicates
86 );
87
88 MCAPI void tick(::ServerLevel& level, ::Dimension& dimension, uint64 currentTick);
89 // NOLINTEND
90
91public:
92 // constructor thunks
93 // NOLINTBEGIN
94 MCAPI void* $ctor();
95 // NOLINTEND
96
97public:
98 // vftables
99 // NOLINTBEGIN
100 MCNAPI static void** $vftable();
101 // NOLINTEND
102};
Definition CompoundTag.h:23
Definition DelayActionList.h:29
static MCAPI void ** $vftable()
Definition DelayRequest.h:12
Definition Dimension.h:88
Definition ICommandOriginLoader.h:11
Definition IRequestAction.h:12
Definition LevelStorage.h:26
Definition MovePriorityQueue.h:6
Definition ServerLevel.h:59