21class PropertyComponent {
25 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::PropertyGroup const>>> mPropertyGroup;
26 ::ll::TypedStorage<4, 4, ::std::bitset<32>> mDirtyIntProperties;
27 ::ll::TypedStorage<4, 4, ::std::bitset<32>> mDirtyFloatProperties;
28 ::ll::TypedStorage<4, 4, ::std::bitset<32>> mDirtyBoolProperties;
29 ::ll::TypedStorage<4, 4, ::std::bitset<32>> mDirtyEnumIndexProperties;
30 ::ll::TypedStorage<1, 1, bool> mEverythingDirty;
31 ::ll::TypedStorage<8, 120, ::PropertyContainer> mPropertyContainer;
36 PropertyComponent& operator=(PropertyComponent
const&);
37 PropertyComponent(PropertyComponent
const&);
43 MCAPI PropertyComponent(::PropertyComponent&&);
45 MCAPI PropertyComponent(
46 ::gsl::not_null<::std::shared_ptr<::PropertyGroup const>> propertyGroup,
53 applyPendingChanges(::std::unordered_map<uint64, ::std::variant<int, float, bool, uint64>>
const& pendingChanges);
55 MCAPI
bool getBool(uint64 h)
const;
57 MCAPI
float getFloat(uint64 h)
const;
59 MCAPI
int getInt(uint64 h)
const;
63 MCAPI ::PropertyMetadata::ContainedType getPropertyType(uint64 h)
const;
65 MCAPI ::HashedString
const& getString(uint64 h)
const;
67 MCAPI
bool hasDirtyProperties()
const;
69 MCAPI ::PropertySyncData packAllSyncData()
const;
71 MCAPI ::PropertySyncData packDirtySyncData();
73 MCAPI
void readLoadedProperties(
::CompoundTag const& loadedPropertyTag);
75 MCAPI
void setAliasProperties(
76 ::std::unordered_map<
::HashedString, ::std::shared_ptr<::Tag>>
const& aliasProperties,
77 ::std::string
const& aliasName,
78 ::std::string
const& canonicalName
81 MCAPI ::std::optional<bool> tryGetBool(uint64 h)
const;
83 MCAPI ::std::optional<float> tryGetFloat(uint64 h)
const;
85 MCAPI ::std::optional<int> tryGetInt(uint64 h)
const;
87 MCAPI ::HashedString
const* tryGetString(uint64 h)
const;
89 MCAPI ::std::optional<::std::variant<int, float, bool, ::std::string>>
90 tryGetValueVariant(uint64 propertyNameHash)
const;
96 MCAPI
void* $ctor(::PropertyComponent&&);
99 $ctor(::gsl::not_null<::std::shared_ptr<::PropertyGroup const>> propertyGroup,
::RenderParams& renderParams);