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 TaskGroup;
18class TaskResult;
19// clang-format on
20
21class LevelChunkSaveManagerProxy : public ::ILevelChunkSaveManagerProxy {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
26 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mTaskGroup;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 LevelChunkSaveManagerProxy& operator=(LevelChunkSaveManagerProxy const&);
32 LevelChunkSaveManagerProxy(LevelChunkSaveManagerProxy const&);
33 LevelChunkSaveManagerProxy();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual ~LevelChunkSaveManagerProxy() /*override*/ = default;
39
40 virtual ::WeakRef<::Dimension> getRandomDimension(::DimensionManager& dimensionManager) const /*override*/;
41
42 virtual ::std::shared_ptr<::LevelChunk> getRandomChunk(::Dimension& dimension) const /*override*/;
43
44 virtual ::std::shared_ptr<::LevelChunk> getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const
45 /*override*/;
46
47 virtual bool doesNonActorDataInLevelChunkNeedSaving(
48 ::LevelChunk const& levelChunk,
49 int minTicksBeforeLiveSave,
50 int maxTicksBeforeLiveSave
51 ) const /*override*/;
52
53 virtual bool doesLevelChunkNeedSaving(
54 ::LevelChunk const& levelChunk,
55 int minTicksBeforeLiveSave,
56 int maxTicksBeforeLiveSave
57 ) const /*override*/;
58
59 virtual void saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk) /*override*/;
60
61 virtual void queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()>&& task) /*override*/;
62
63 virtual void startLeaveGame() /*override*/;
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCAPI ::WeakRef<::Dimension> $getRandomDimension(::DimensionManager& dimensionManager) const;
70
71 MCAPI ::std::shared_ptr<::LevelChunk> $getRandomChunk(::Dimension& dimension) const;
72
73 MCAPI ::std::shared_ptr<::LevelChunk> $getChunk(::Dimension& dimension, ::ChunkPos const& chunkPos) const;
74
75 MCAPI bool $doesNonActorDataInLevelChunkNeedSaving(
76 ::LevelChunk const& levelChunk,
77 int minTicksBeforeLiveSave,
78 int maxTicksBeforeLiveSave
79 ) const;
80
81 MCAPI bool $doesLevelChunkNeedSaving(
82 ::LevelChunk const& levelChunk,
83 int minTicksBeforeLiveSave,
84 int maxTicksBeforeLiveSave
85 ) const;
86
87 MCAPI void $saveLiveChunk(::Dimension& dimension, ::LevelChunk& levelChunk);
88
89 MCAPI void $queueTaskForChunkSave(::brstd::move_only_function<::TaskResult()>&& task);
90
91 MCAPI void $startLeaveGame();
92
93
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCAPI static void** $vftable();
100 // NOLINTEND
101};
Definition ChunkPos.h:11
Definition DimensionManager.h:24
Definition Dimension.h:85
Definition ILevelChunkSaveManagerProxy.h:18
Definition LevelChunk.h:79
Definition Random.h:10
Definition TaskGroup.h:53
Definition TaskResult.h:5
Definition move_only_function.h:9