LeviLamina
Loading...
Searching...
No Matches
PropertyContainer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/state/PropertyMetadata.h"
7#include "mc/world/actor/state/PropertyValues.h"
8
9// auto generated forward declare list
10// clang-format off
11class CompoundTag;
12class HashedString;
13class PropertyGroup;
15class Tag;
16struct MolangScriptArg;
17struct PropertySyncData;
18struct PropertyValues;
19// clang-format on
20
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::PropertyGroup const>>> mPropertyGroup;
26 ::ll::TypedStorage<8, 104, ::PropertyValues> mValues;
27 // NOLINTEND
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI void _addDataToCompoundTag(::CompoundTag& compoundTag, ::PropertyMetadata const& propertyMetadata) const;
33
34 MCAPI ::std::optional<uint64>
35 _getPropertyTypeArrayIndex(uint64 propertyNameHash, ::PropertyMetadata::ContainedType propertyType) const;
36
37 MCAPI bool _readValueFromTag(::PropertyMetadata const& propertyMetadata, ::Tag const& tag);
38
39 MCAPI void addEntryToSyncData(::PropertyMetadata const& propMetadata, ::PropertySyncData& syncData) const;
40
41 MCAPI bool getMolangValue(uint64 propertyNameHash, ::MolangScriptArg& out) const;
42
43 MCAPI ::std::optional<::std::variant<int, float, bool, ::std::string>>
44 getValueVariant(uint64 propertyNameHash) const;
45
46 MCAPI void readLoadedProperties(::CompoundTag const& loadedPropertyTag);
47
48 MCAPI void setAliasProperties(
49 ::std::unordered_map<::HashedString, ::std::shared_ptr<::Tag>> const& aliasProperties,
50 ::std::string const& aliasName,
51 ::std::string const& canonicalName
52 );
53 // NOLINTEND
54};
Definition CompoundTag.h:18
Definition HashedString.h:5
Definition PropertyContainer.h:21
Definition PropertyGroup.h:20
Definition PropertyMetadata.h:8
Definition Tag.h:42
Definition MolangScriptArg.h:28
Definition PropertySyncData.h:5
Definition PropertyValues.h:5