LeviLamina
Loading...
Searching...
No Matches
DynamicPropertiesBlockActorComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/platform/brstd/flat_map.h"
8#include "mc/world/level/block/actor/BlockActorVersion.h"
9#include "mc/world/level/block/actor/component/IBlockActorComponent.h"
10#include "mc/world/persistence/lean_dynamic_property/String.h"
11
12// auto generated forward declare list
13// clang-format off
14class CompoundTag;
15namespace Bedrock::Threading { class Mutex; }
16// clang-format on
17
19public:
20 // DynamicPropertiesBlockActorComponent inner types define
21 enum class SetResult : int {
22 Success = 0,
23 StorageLimitExceeded = 1,
24 StorageNotFound = 2,
25 };
26
27 using SetCallbackFn = ::std::function<void(
28 ::std::string const&,
29 uint,
30 ::std::string const&,
31 uint,
32 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
33 )>;
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<
39 8,
40 48,
42 uint,
44 uint,
45 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>,
46 ::std::less<uint>,
47 ::std::vector<uint>,
48 ::std::vector<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>>,
49 ::std::less<uint>,
50 ::std::vector<uint>,
51 ::std::vector<::brstd::flat_map<
52 uint,
53 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>,
54 ::std::less<uint>,
55 ::std::vector<uint>,
56 ::std::vector<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>>>>>
57 mDataMap;
58 ::ll::TypedStorage<
59 8,
60 48,
61 ::brstd::flat_map<uint, uint64, ::std::less<uint>, ::std::vector<uint>, ::std::vector<uint64>>>
62 mStorageBytes;
63 // NOLINTEND
64
65public:
66 // virtual functions
67 // NOLINTBEGIN
68 virtual void save(::CompoundTag& parentTag) const /*override*/;
69
70 virtual void load(::CompoundTag const& parentTag, ::BlockActorVersion version) /*override*/;
71
72 virtual ~DynamicPropertiesBlockActorComponent() /*override*/;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI void _loadInception(::CompoundTag const& parentTag);
79
80 MCAPI ::std::optional<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>
81 get(::std::string const& bucket, ::std::string const& key) const;
82
83 MCAPI uint64 getByteCount(::std::string const& bucket) const;
84
85 MCAPI ::DynamicPropertiesBlockActorComponent::SetResult remove(
86 ::std::string const& bucket,
87 ::std::string const& key,
88 ::std::function<void(
89 ::std::string const&,
90 uint,
91 ::std::string const&,
92 uint,
93 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
94 )> callback
95 );
96
97 MCAPI ::DynamicPropertiesBlockActorComponent::SetResult
98 set(::std::string const& bucket,
99 ::std::string const& key,
100 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const& value,
101 ::std::function<void(
102 ::std::string const&,
103 uint,
104 ::std::string const&,
105 uint,
106 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
107 )> callback);
108 // NOLINTEND
109
110public:
111 // static variables
112 // NOLINTBEGIN
113 MCAPI static ::std::add_lvalue_reference_t<char const[]> DYNAMIC_PROPERTIES_TAG();
114
115 MCAPI static ::brstd::
116 flat_map<uint, ::std::string, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::std::string>>&
117 mBucketDictionary();
118
119 MCAPI static ::Bedrock::Threading::Mutex& mDictionaryMutex();
120
121 MCAPI static ::brstd::
122 flat_map<uint, ::std::string, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::std::string>>&
123 mVariableDictionary();
124 // NOLINTEND
125
126public:
127 // destructor thunk
128 // NOLINTBEGIN
129 MCAPI void $dtor();
130 // NOLINTEND
131
132public:
133 // virtual function thunks
134 // NOLINTBEGIN
135 MCAPI void $save(::CompoundTag& parentTag) const;
136
137 MCAPI void $load(::CompoundTag const& parentTag, ::BlockActorVersion version);
138
139
140 // NOLINTEND
141
142public:
143 // vftables
144 // NOLINTBEGIN
145 MCNAPI static void** $vftable();
146 // NOLINTEND
147};
Definition Mutex.h:10
Definition CompoundTag.h:18
Definition DynamicPropertiesBlockActorComponent.h:18
static MCAPI void ** $vftable()
Definition flat_map.h:15
Definition IBlockActorComponent.h:13