1#if PROTOCOL_VERSION > 404
93 return std::any_cast<int>(
metadata.at(
"unhappy_counter"));
99 return std::any_cast<int>(
metadata.at(
"sneeze_counter"));
105 return std::any_cast<int>(
metadata.at(
"eat_counter"));
111 return std::any_cast<char>(
metadata.at(
"main_gene_id"));
117 return std::any_cast<char>(
metadata.at(
"hidden_gene_id"));
123 return std::any_cast<char>(
metadata.at(
"data_id_flags"));
130 metadata[
"unhappy_counter"] = unhappy_counter;
136 metadata[
"sneeze_counter"] = sneeze_counter;
142 metadata[
"eat_counter"] = eat_counter;
148 metadata[
"main_gene_id"] = main_gene_id;
154 metadata[
"hidden_gene_id"] = hidden_gene_id;
160 metadata[
"data_id_flags"] = data_id_flags;
virtual void SetMetadataValue(const int index, const std::any &value) override
virtual ProtocolCraft::Json::Value Serialize() const override
std::shared_mutex entity_mutex
std::map< std::string, std::any > metadata
std::map< EntityAttribute::Type, EntityAttribute > attributes
static constexpr int metadata_count
virtual std::string GetName() const override
void SetUnhappyCounter(const int unhappy_counter)
void SetMainGeneId(const char main_gene_id)
virtual double GetHeightImpl() const override
static std::string GetClassName()
static EntityType GetClassType()
virtual void SetMetadataValue(const int index, const std::any &value) override
int GetUnhappyCounter() const
char GetMainGeneId() const
void SetHiddenGeneId(const char hidden_gene_id)
virtual double GetWidthImpl() const override
double GetAttributeAttackDamageValue() const
char GetHiddenGeneId() const
int GetEatCounter() const
void SetDataIdFlags(const char data_id_flags)
virtual ProtocolCraft::Json::Value Serialize() const override
static const std::array< std::string, metadata_count > metadata_names
int GetSneezeCounter() const
void SetEatCounter(const int eat_counter)
void SetSneezeCounter(const int sneeze_counter)
virtual EntityType GetType() const override
char GetDataIdFlags() const
static constexpr int hierarchy_metadata_count
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...