9#if PROTOCOL_VERSION < 579 && PROTOCOL_VERSION > 393
12#if PROTOCOL_VERSION > 404
15#if PROTOCOL_VERSION > 767
24#if PROTOCOL_VERSION < 579 && PROTOCOL_VERSION > 393
25 SetDataOwneruuidId(std::optional<ProtocolCraft::UUID>());
27#if PROTOCOL_VERSION > 404
30#if PROTOCOL_VERSION > 767
48#if PROTOCOL_VERSION > 578
55#if PROTOCOL_VERSION < 579 && PROTOCOL_VERSION > 393
58#if PROTOCOL_VERSION > 404
61#if PROTOCOL_VERSION > 767
73#if PROTOCOL_VERSION > 578
89 return std::any_cast<char>(
metadata.at(
"id_flags"));
92#if PROTOCOL_VERSION < 579 && PROTOCOL_VERSION > 393
93 std::optional<ProtocolCraft::UUID> AbstractArrowEntity::GetDataOwneruuidId()
const
96 return std::any_cast<std::optional<ProtocolCraft::UUID>>(
metadata.at(
"data_owneruuid_id"));
100#if PROTOCOL_VERSION > 404
104 return std::any_cast<char>(
metadata.at(
"pierce_level"));
108#if PROTOCOL_VERSION > 767
112 return std::any_cast<bool>(
metadata.at(
"in_ground"));
123#if PROTOCOL_VERSION < 579 && PROTOCOL_VERSION > 393
124 void AbstractArrowEntity::SetDataOwneruuidId(
const std::optional<ProtocolCraft::UUID>& data_owneruuid_id)
127 metadata[
"data_owneruuid_id"] = data_owneruuid_id;
131#if PROTOCOL_VERSION > 404
135 metadata[
"pierce_level"] = pierce_level;
139#if PROTOCOL_VERSION > 767
void SetInGround(const bool in_ground)
virtual void SetMetadataValue(const int index, const std::any &value) override
void SetIdFlags(const char id_flags)
static constexpr int metadata_count
char GetPierceLevel() const
virtual bool IsAbstractArrow() const override
static constexpr int hierarchy_metadata_count
virtual ~AbstractArrowEntity()
static const std::array< std::string, metadata_count > metadata_names
virtual ProtocolCraft::Json::Value Serialize() const override
void SetPierceLevel(const char pierce_level)
virtual ProtocolCraft::Json::Value Serialize() const
virtual void SetMetadataValue(const int index, const std::any &value)
std::shared_mutex entity_mutex
std::map< std::string, std::any > metadata
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...