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/PropertyValues.h"
7
8// auto generated forward declare list
9// clang-format off
10class CompoundTag;
11class HashedString;
12class PropertyGroup;
14class RenderParams;
15class Tag;
16struct MolangScriptArg;
17struct PropertySyncData;
18struct PropertyValues;
19// clang-format on
20
21class PropertyContainer {
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 // prevent constructor by default
31 PropertyContainer();
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI PropertyContainer(
37 ::gsl::not_null<::std::shared_ptr<::PropertyGroup const>> propertyGroup,
38 ::RenderParams& renderParams
39 );
40
41 MCAPI void _addDataToCompoundTag(::CompoundTag& compoundTag, ::PropertyMetadata const& propertyMetadata) const;
42
43 MCAPI bool _readValueFromTag(::PropertyMetadata const& propertyMetadata, ::Tag const& tag);
44
45 MCAPI void addEntryToSyncData(::PropertyMetadata const& propMetadata, ::PropertySyncData& syncData) const;
46
47 MCAPI bool getMolangValue(uint64 propertyNameHash, ::MolangScriptArg& out) const;
48
49 MCAPI ::std::optional<::std::variant<int, float, bool, ::std::string>>
50 getValueVariant(uint64 propertyNameHash) const;
51
52 MCAPI void readLoadedProperties(::CompoundTag const& loadedPropertyTag);
53
54 MCAPI void setAliasProperties(
55 ::std::unordered_map<::HashedString, ::std::shared_ptr<::Tag>> const& aliasProperties,
56 ::std::string const& aliasName,
57 ::std::string const& canonicalName
58 );
59 // NOLINTEND
60
61public:
62 // constructor thunks
63 // NOLINTBEGIN
64 MCAPI void*
65 $ctor(::gsl::not_null<::std::shared_ptr<::PropertyGroup const>> propertyGroup, ::RenderParams& renderParams);
66 // NOLINTEND
67};
Definition CompoundTag.h:23
Definition HashedString.h:5
Definition PropertyGroup.h:21
Definition PropertyMetadata.h:8
Definition RenderParams.h:30
Definition Tag.h:42
Definition MolangScriptArg.h:35
Definition PropertySyncData.h:5
Definition PropertyValues.h:5