8#if PROTOCOL_VERSION < 770
12#if PROTOCOL_VERSION > 769
15#if PROTOCOL_VERSION > 774
16 "data_sound_variant_id",
23#if PROTOCOL_VERSION < 770
24 SetDataSaddleId(
false);
27#if PROTOCOL_VERSION > 769
30#if PROTOCOL_VERSION > 774
71#if PROTOCOL_VERSION < 770
72 output[
"metadata"][
"data_saddle_id"] = GetDataSaddleId();
75#if PROTOCOL_VERSION > 769
78#if PROTOCOL_VERSION > 774
99#if PROTOCOL_VERSION < 770
100 bool PigEntity::GetDataSaddleId()
const
103 return std::any_cast<bool>(
metadata.at(
"data_saddle_id"));
110 return std::any_cast<int>(
metadata.at(
"data_boost_time"));
113#if PROTOCOL_VERSION > 769
117 return std::any_cast<int>(
metadata.at(
"data_variant_id"));
121#if PROTOCOL_VERSION > 774
125 return std::any_cast<int>(
metadata.at(
"data_sound_variant_id"));
130#if PROTOCOL_VERSION < 770
131 void PigEntity::SetDataSaddleId(
const bool data_saddle_id)
134 metadata[
"data_saddle_id"] = data_saddle_id;
141 metadata[
"data_boost_time"] = data_boost_time;
144#if PROTOCOL_VERSION > 769
148 metadata[
"data_variant_id"] = data_variant_id;
152#if PROTOCOL_VERSION > 774
156 metadata[
"data_sound_variant_id"] = data_sound_variant_id;
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
void SetDataVariantId(const int data_variant_id)
virtual double GetWidthImpl() const override
void SetDataBoostTime(const int data_boost_time)
static std::string GetClassName()
int GetDataVariantId() const
virtual double GetHeightImpl() const override
virtual void SetMetadataValue(const int index, const std::any &value) override
static constexpr int metadata_count
virtual EntityType GetType() const override
virtual ProtocolCraft::Json::Value Serialize() const override
virtual std::string GetName() const override
static constexpr int hierarchy_metadata_count
int GetDataSoundVariantId() const
static EntityType GetClassType()
static const std::array< std::string, metadata_count > metadata_names
void SetDataSoundVariantId(const int data_sound_variant_id)
int GetDataBoostTime() const
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...