Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
LevelChunkSaveManagerProxy.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/platform/brstd/move_only_function.h"
8#include "mc/world/level/chunk/ILevelChunkSaveManagerProxy.h"
9
10// auto generated forward declare list
11// clang-format off
12class ChunkPos;
13class Dimension;
15class LevelChunk;
16class Random;
17class Scheduler;
18class TaskGroup;
19class TaskResult;
20// clang-format on
21
22class LevelChunkSaveManagerProxy : public ::ILevelChunkSaveManagerProxy {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
27 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
28 // NOLINTEND
29
30public:
31 // prevent constructor by default
32 LevelChunkSaveManagerProxy& operator=(LevelChunkSaveManagerProxy const&);
33 LevelChunkSaveManagerProxy(LevelChunkSaveManagerProxy const&);
34 LevelChunkSaveManagerProxy();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~LevelChunkSaveManagerProxy() /*override*/ = default;
40
41 virtual ::WeakRef<::Dimension> getRandomDimension(::DimensionManager& dimensionManager) const /*override*/;
42
43 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Dimension& dimension) const /*override*/;
44
45 virtual ::std::shared_ptr<::LevelChunk> getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const
46 /*override*/;
47
48 virtual bool doesNonActorDataInLevelChunkNeedSaving(
49 ::LevelChunk const& levelChunk,
50 int minTicksBeforeLiveSave,
51 int maxTicksBeforeLiveSave
52 ) const /*override*/;
53
54 virtual bool doesLevelChunkNeedSaving(
55 ::LevelChunk const& levelChunk,
56 int minTicksBeforeLiveSave,
57 int maxTicksBeforeLiveSave
58 ) const /*override*/;
59
60 virtual void saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk) /*override*/;
61
62 virtual void queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()>&& task) /*override*/;
63
64 virtual void startLeaveGame() /*override*/;
65 // NOLINTEND
66
67public:
68 // member functions
69 // NOLINTBEGIN
70 MCNAPI LevelChunkSaveManagerProxy(::Random& random, ::Scheduler& scheduler);
71 // NOLINTEND
72
73public:
74 // constructor thunks
75 // NOLINTBEGIN
76 MCNAPI void* $ctor(::Random& random, ::Scheduler& scheduler);
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCNAPI ::WeakRef<::Dimension> $getRandomDimension(::DimensionManager& dimensionManager) const;
83
84 MCNAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Dimension& dimension) const;
85
86 MCNAPI ::std::shared_ptr<::LevelChunk> $getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const;
87
89 ::LevelChunk const& levelChunk,
90 int minTicksBeforeLiveSave,
91 int maxTicksBeforeLiveSave
92 ) const;
93
95 ::LevelChunk const& levelChunk,
96 int minTicksBeforeLiveSave,
97 int maxTicksBeforeLiveSave
98 ) const;
99
100 MCNAPI void $saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk);
101
103
104 MCNAPI void $startLeaveGame();
105
106
107 // NOLINTEND
108
109public:
110 // vftables
111 // NOLINTBEGIN
112 MCNAPI static void** $vftable();
113 // NOLINTEND
114};
Definition ChunkPos.h:13
Definition DimensionManager.h:30
Definition Dimension.h:86
Definition ILevelChunkSaveManagerProxy.h:18
MCAPI void * $ctor(::Random &random, ::Scheduler &scheduler)
MCAPI ::std::shared_ptr<::LevelChunk > $getRandomChunk(::Dimension &dimension) const
MCAPI void $saveLiveChunk(::Dimension &dimension, ::LevelChunk &levelChunk)
MCAPI bool $doesLevelChunkNeedSaving(::LevelChunk const &levelChunk, int minTicksBeforeLiveSave, int maxTicksBeforeLiveSave) const
static MCAPI void ** $vftable()
MCAPI ::WeakRef<::Dimension > $getRandomDimension(::DimensionManager &dimensionManager) const
MCAPI LevelChunkSaveManagerProxy(::Random &random, ::Scheduler &scheduler)
MCAPI void $queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()> &&task)
MCAPI ::std::shared_ptr<::LevelChunk > $getChunk(::Dimension &dimension, ::ChunkPos const &chunkPos) const
MCAPI bool $doesNonActorDataInLevelChunkNeedSaving(::LevelChunk const &levelChunk, int minTicksBeforeLiveSave, int maxTicksBeforeLiveSave) const
Definition LevelChunk.h:76
Definition Random.h:10
Definition Scheduler.h:15
Definition TaskGroup.h:85
Definition TaskResult.h:5
Definition move_only_function.h:9