19class PropertyGroup :
public ::std::enable_shared_from_this<::PropertyGroup> {
42 MCAPI
void _addBoolProperty(::std::string
const& name,
bool clientSync,
bool defaultValue);
44 MCAPI
void _addEnumIndexProperty(
45 ::std::string
const& name,
48 ::std::vector<::HashedString>
const& enumValues
51 MCAPI
void _addEnumIndexProperty(
52 ::std::string
const& name,
55 ::std::vector<::HashedString>
const& enumValues
59 _addFloatProperty(::std::string
const& name,
bool clientSync,
float defaultValue,
float rangeMin,
float rangeMax);
62 _addIntProperty(::std::string
const& name,
bool clientSync,
int defaultValue,
int rangeMin,
int rangeMax);
65 _addPropertyMetadata(::std::string
const& name,
bool clientSync, ::PropertyMetadata::ContainedType propertyType);
67 MCAPI ::std::string
const& _getFriendlyJsonTypeString(::PropertyMetadata::ContainedType type);
69 MCAPI
bool _loadPropertyFromJson(
70 ::std::string
const& name,
72 ::MolangVersion molangVersion,
76 MCAPI
void _reserveSpaceForTypes(::std::vector<uint64>
const& typeCounts);
78 MCAPI
bool _validateDataType(
::Json::Value const& value, ::PropertyMetadata::ContainedType type);
80 MCAPI
bool getDefaultBoolValue(uint64 boolArrayIndex,
::RenderParams& renderParams)
const;
82 MCAPI uint64 getDefaultEnumIndexValue(
83 uint64 enumIndexArrayIndex,
85 ::std::string
const& propertyName
88 MCAPI
float getDefaultFloatValue(uint64 floatArrayIndex,
::RenderParams& renderParams)
const;
90 MCAPI
int getDefaultIntValue(uint64 intArrayIndex,
::RenderParams& renderParams)
const;
92 MCAPI ::ListTag getNetworkSyncPropertyDescriptionsAsListTag()
const;
94 MCAPI ::PropertyMetadata
const* getPropertyMetadata(uint64 propertyNameHash)
const;
102 MCAPI static ::PropertyMetadata::ContainedType _getJsonPropertyType(
::Json::Value const& typeNode);
105 _tryGetClientSync(::std::string
const& propertyName,
::Json::Value const& propertyNode,
bool& clientSyncOut);
107 MCAPI
static bool isValidEnumEntry(::std::string
const& entryValue);
109 MCAPI static ::std::shared_ptr<::PropertyGroup const>
110 loadPropertiesFromJson(
::Json::Value const& root, ::MolangVersion molangVersion);
116 MCAPI
static uint64
const& MAX_ENUM_SIZE();
118 MCAPI
static uint64
const& MAX_ENUM_VALUE_SIZE();