18#if PROTOCOL_VERSION > 404 && PROTOCOL_VERSION < 767
41#if PROTOCOL_VERSION > 404 && PROTOCOL_VERSION < 767
65 return std::any_cast<char>(
metadata.at(
"data_mob_flags_id"));
72 metadata[
"data_mob_flags_id"] = data_mob_flags_id;
82#if PROTOCOL_VERSION > 404 && PROTOCOL_VERSION < 767
std::shared_mutex entity_mutex
std::map< std::string, std::any > metadata
std::map< EntityAttribute::Type, EntityAttribute > attributes
virtual ProtocolCraft::Json::Value Serialize() const override
double GetAttributeAttackKnockbackValue() const
virtual void SetMetadataValue(const int index, const std::any &value) override
double GetAttributeFollowRangeValue() const
virtual ProtocolCraft::Json::Value Serialize() const override
char GetDataMobFlagsId() const
virtual void SetMetadataValue(const int index, const std::any &value) override
static constexpr int hierarchy_metadata_count
void SetDataMobFlagsId(const char data_mob_flags_id)
virtual bool IsMob() const override
static const std::array< std::string, metadata_count > metadata_names
static constexpr int metadata_count
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...