LeviLamina
Loading...
Searching...
No Matches
Storage.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/cereal/ReflectionCtx.h"
7#include "mc/world/level/levelgen/v2/WorldGenContext.h"
8#include "mc/world/level/poi/FileStorage.h"
9#include "mc/world/level/poi/RegionId.h"
10#include "mc/world/level/poi/StorageInfo.h"
11
12// auto generated forward declare list
13// clang-format off
14class BlockPos;
15class Dimension;
16class LevelStorage;
17namespace Poi { struct Chunk; }
18namespace Poi { struct Region; }
19namespace Poi { struct Registry; }
20// clang-format on
21
22namespace Poi {
23
24struct Storage {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 72, ::entt::dense_map<::Poi::RegionId, ::std::unique_ptr<::Poi::Region>>> mRegions;
29 ::ll::TypedStorage<8, 64, ::std::unordered_set<::Poi::RegionId>> mDirtyRegions;
30 ::ll::TypedStorage<2, 6, ::br::worldgen::WorldGenContext> mWorldContext;
31 ::ll::TypedStorage<8, 80, ::std::mutex> mRegionMutex;
32 ::ll::TypedStorage<8, 64, ::Poi::StorageInfo> mInfo;
33 ::ll::TypedStorage<8, 128, ::cereal::ReflectionCtx> mCtx;
34 ::ll::TypedStorage<8, 64, ::Poi::FileStorage> mBackingStorage;
35 ::ll::TypedStorage<8, 8, ::Poi::Registry const*> mRegistry;
36 // NOLINTEND
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI ::Poi::Chunk* get(::BlockPos pos) const;
42
43 MCAPI ::Poi::Chunk& getOrCreate(::BlockPos pos);
44
45 MCAPI void swap(::Poi::Storage& other);
46
47 MCAPI void tick(::LevelStorage& storage);
48
49 MCAPI ~Storage();
50 // NOLINTEND
51
52public:
53 // static functions
54 // NOLINTBEGIN
55 MCAPI static ::Poi::Storage
56 from(::Poi::Registry const& registry, ::Dimension const& dimension, ::LevelStorage& storage);
57 // NOLINTEND
58
59public:
60 // destructor thunk
61 // NOLINTBEGIN
62 MCAPI void $dtor();
63 // NOLINTEND
64};
65
66} // namespace Poi
Definition BlockPos.h:17
Definition Dimension.h:86
Definition LevelStorage.h:25
Definition Chunk.h:17
Definition Region.h:13
Definition Registry.h:10
Definition Storage.h:24