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;
14// clang-format on
15
16class LevelChunkBlockActorStorage {
17public:
18 // LevelChunkBlockActorStorage inner types declare
19 // clang-format off
21 // clang-format on
22
23 // LevelChunkBlockActorStorage inner types define
24 enum class TrackingMode : int {
25 None = 0,
26 PermanentlyRendered = 1,
27 };
28
30 public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<2, 4, ::ChunkBlockPos> mChunkBlockPos;
34 ::ll::TypedStorage<8, 8, ::IVanillaTickBlockActorComponent*> mComponent;
35 // NOLINTEND
36 };
37
38 using sub_type = ::std::unordered_map<::ChunkBlockPos, ::std::shared_ptr<::BlockActor>>;
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<1, 1, bool const> mTrackPermanentlyRendered;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkBlockPos, ::std::shared_ptr<::BlockActor>>> mMap;
45 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::IVanillaRenderBlockActorComponent*>>>
46 mVanillaRenderBlockActorComponents;
47 ::ll::TypedStorage<8, 64, ::std::unordered_set<::BlockPos>> mPermanentRenderingLocations;
48 ::ll::TypedStorage<8, 24, ::std::vector<::LevelChunkBlockActorStorage::VanillaTickBlockActorComponent>>
49 mVanillaTickBlockActorComponents;
50 // NOLINTEND
51
52public:
53 // prevent constructor by default
54 LevelChunkBlockActorStorage& operator=(LevelChunkBlockActorStorage const&);
55 LevelChunkBlockActorStorage(LevelChunkBlockActorStorage const&);
56 LevelChunkBlockActorStorage();
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI ::std::pair<
62 ::std::_List_const_iterator<::std::_List_val<
63 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>,
64 bool>
65 emplace(::ChunkBlockPos pos, ::std::shared_ptr<::BlockActor> blockActor);
66
67 MCAPI ::std::_List_const_iterator<::std::_List_val<
68 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>
69 erase(
70 ::std::_List_const_iterator<::std::_List_val<
71 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>> ite
72 );
73
74 MCAPI uint64 erase(::ChunkBlockPos const& pos);
75
76#ifdef LL_PLAT_S
77 MCAPI ::std::_List_const_iterator<::std::_List_val<
78 ::std::_List_simple_types<::std::pair<::ChunkBlockPos const, ::std::shared_ptr<::BlockActor>>>>>
79 find(::ChunkBlockPos const& pos) const;
80#endif
81
82 MCAPI ::LevelChunkBlockActorStorage& operator=(::LevelChunkBlockActorStorage&& other);
83
84 MCAPI ~LevelChunkBlockActorStorage();
85 // NOLINTEND
86
87public:
88 // destructor thunk
89 // NOLINTBEGIN
90 MCAPI void $dtor();
91 // NOLINTEND
92};
Definition BlockActor.h:29
Definition ChunkBlockPos.h:10
Definition IVanillaRenderBlockActorComponent.h:19
Definition IVanillaTickBlockActorComponent.h:15
Definition LevelChunkBlockActorStorage.h:29