Skip to content
LeviMC
English
AutoLightDark
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 BlockType;
15class CompoundTag;
16class ILevel;
17class SaveContext;
18// clang-format on
19
21public:
22 // DynamicPropertiesBlockActorComponent inner types define
23 enum class SetResult : int {
24 Success = 0,
25 StorageLimitExceeded = 1,
26 StorageNotFound = 2,
27 };
28
29 using SetCallbackFn = ::std::function<void(
30 ::std::string const&,
31 uint,
32 ::std::string const&,
33 uint,
34 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
35 )>;
36
37public:
38 // member variables
39 // NOLINTBEGIN
40 ::ll::TypedStorage<
41 8,
42 48,
44 uint,
46 uint,
47 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>,
48 ::std::less<uint>,
49 ::std::vector<uint>,
50 ::std::vector<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>>,
51 ::std::less<uint>,
52 ::std::vector<uint>,
53 ::std::vector<::brstd::flat_map<
54 uint,
55 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>,
56 ::std::less<uint>,
57 ::std::vector<uint>,
58 ::std::vector<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>>>>>
59 mDataMap;
60 ::ll::TypedStorage<
61 8,
62 48,
63 ::brstd::flat_map<uint, uint64, ::std::less<uint>, ::std::vector<uint>, ::std::vector<uint64>>>
64 mStorageBytes;
65 // NOLINTEND
66
67public:
68 // virtual functions
69 // NOLINTBEGIN
70 virtual void save(::CompoundTag& parentTag, ::SaveContext const&) const /*override*/;
71
72 virtual void load(::CompoundTag const& parentTag, ::ILevel&, ::BlockActorVersion version) /*override*/;
73
74 virtual ~DynamicPropertiesBlockActorComponent() /*override*/;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCNAPI void _loadInception(::CompoundTag const& parentTag);
81
82 MCNAPI ::std::optional<::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3>>
83 get(::std::string const& bucket, ::std::string const& key) const;
84
85 MCNAPI uint64 getByteCount(::std::string const& bucket) const;
86
87 MCNAPI ::DynamicPropertiesBlockActorComponent::SetResult remove(
88 ::std::string const& bucket,
89 ::std::string const& key,
90 ::std::function<void(
91 ::std::string const&,
92 uint,
93 ::std::string const&,
94 uint,
95 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
96 )> callback
97 );
98
99 MCNAPI void saveToTag(::CompoundTag& parentTag) const;
100
101 MCNAPI ::DynamicPropertiesBlockActorComponent::SetResult
102 set(::std::string const& bucket,
103 ::std::string const& key,
104 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const& value,
105 ::std::function<void(
106 ::std::string const&,
107 uint,
108 ::std::string const&,
109 uint,
110 ::std::variant<double, float, bool, ::LeanDynamicProperty::String, ::Vec3> const*
111 )> callback);
112 // NOLINTEND
113
114public:
115 // static functions
116 // NOLINTBEGIN
117#ifdef LL_PLAT_S
118 MCNAPI static ::std::unique_ptr<::DynamicPropertiesBlockActorComponent> tryCreateFor(::BlockType const& blockType);
119#endif
120 // NOLINTEND
121
122public:
123 // static variables
124 // NOLINTBEGIN
125 MCNAPI static ::std::add_lvalue_reference_t<char const[]> DYNAMIC_PROPERTIES_TAG();
126
127 MCNAPI static ::brstd::
128 flat_map<uint, ::std::string, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::std::string>>&
130
131 MCNAPI static ::std::mutex& mDictionaryMutex();
132
133 MCNAPI static ::brstd::
134 flat_map<uint, ::std::string, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::std::string>>&
136 // NOLINTEND
137
138public:
139 // destructor thunk
140 // NOLINTBEGIN
141 MCNAPI void $dtor();
142 // NOLINTEND
143
144public:
145 // virtual function thunks
146 // NOLINTBEGIN
147 MCNAPI void $save(::CompoundTag& parentTag, ::SaveContext const&) const;
148
149 MCNAPI void $load(::CompoundTag const& parentTag, ::ILevel&, ::BlockActorVersion version);
150
151
152 // NOLINTEND
153
154public:
155 // vftables
156 // NOLINTBEGIN
157 MCNAPI static void** $vftable();
158 // NOLINTEND
159};
Definition BlockType.h:79
Definition CompoundTag.h:18
Definition DynamicPropertiesBlockActorComponent.h:20
MCAPI ::std::optional<::std::variant< double, float, bool, ::LeanDynamicProperty::String, ::Vec3 > > get(::std::string const &bucket, ::std::string const &key) const
MCAPI::DynamicPropertiesBlockActorComponent::SetResult remove(::std::string const &bucket, ::std::string const &key, ::std::function< void(::std::string const &, uint, ::std::string const &, uint, ::std::variant< double, float, bool, ::LeanDynamicProperty::String, ::Vec3 > const *)> callback)
static MCAPI ::brstd::flat_map< uint, ::std::string, ::std::less< uint >, ::std::vector< uint >, ::std::vector<::std::string > > & mBucketDictionary()
static MCAPI ::std::mutex & mDictionaryMutex()
MCAPI::DynamicPropertiesBlockActorComponent::SetResult set(::std::string const &bucket, ::std::string const &key, ::std::variant< double, float, bool, ::LeanDynamicProperty::String, ::Vec3 > const &value, ::std::function< void(::std::string const &, uint, ::std::string const &, uint, ::std::variant< double, float, bool, ::LeanDynamicProperty::String, ::Vec3 > const *)> callback)
MCAPI void $load(::CompoundTag const &parentTag, ::ILevel &, ::BlockActorVersion version)
MCAPI void saveToTag(::CompoundTag &parentTag) const
MCAPI uint64 getByteCount(::std::string const &bucket) const
static MCAPI ::std::add_lvalue_reference_t< char const[]> DYNAMIC_PROPERTIES_TAG()
MCAPI void _loadInception(::CompoundTag const &parentTag)
static MCAPI void ** $vftable()
MCAPI void $save(::CompoundTag &parentTag, ::SaveContext const &) const
static MCAPI ::brstd::flat_map< uint, ::std::string, ::std::less< uint >, ::std::vector< uint >, ::std::vector<::std::string > > & mVariableDictionary()
Definition ILevel.h:223
Definition SaveContext.h:5
Definition flat_map.h:15
Definition IBlockActorComponent.h:15