LeviLamina
Loading...
Searching...
No Matches
LevelChunkBlockActorStorage.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/ChunkBlockPos.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockActor;
12// clang-format on
13
14class LevelChunkBlockActorStorage {
15public:
16 // LevelChunkBlockActorStorage inner types define
17 enum class TrackingMode : int {
18 None = 0,
19 PermanentlyRendered = 1,
20 };
21
22 using sub_type = ::std::unordered_map<::ChunkBlockPos, ::std::shared_ptr<::BlockActor>>;
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<1, 1, bool const> mTrackPermanentlyRendered;
28 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkBlockPos, ::std::shared_ptr<::BlockActor>>> mMap;
29 ::ll::TypedStorage<8, 64, ::std::unordered_set<::BlockPos>> mPermanentRenderingLocations;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 LevelChunkBlockActorStorage& operator=(LevelChunkBlockActorStorage const&);
35 LevelChunkBlockActorStorage(LevelChunkBlockActorStorage const&);
36 LevelChunkBlockActorStorage();
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI explicit LevelChunkBlockActorStorage(::LevelChunkBlockActorStorage::TrackingMode trackingMode);
42
43 MCFOLD ::std::_List_const_iterator<::std::_List_val<
44 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>
45 begin() const;
46
47 MCAPI ::std::pair<
48 ::std::_List_const_iterator<::std::_List_val<
49 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>,
50 bool>
51 emplace(::ChunkBlockPos pos, ::std::shared_ptr<::BlockActor> blockActor);
52
53 MCFOLD ::std::_List_const_iterator<::std::_List_val<
54 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>
55 end() const;
56
57 MCAPI uint64 erase(::ChunkBlockPos const& pos);
58
59 MCAPI ::LevelChunkBlockActorStorage& operator=(::LevelChunkBlockActorStorage&& other);
60
61#ifdef LL_PLAT_C
62 MCFOLD ::std::unordered_set<::BlockPos> const& permanentRenderingLocations() const;
63#endif
64
65 MCAPI ~LevelChunkBlockActorStorage();
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::LevelChunkBlockActorStorage::TrackingMode trackingMode);
72 // NOLINTEND
73
74public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCAPI void $dtor();
78 // NOLINTEND
79};
Definition BlockActor.h:30
Definition ChunkBlockPos.h:10