1#if PROTOCOL_VERSION > 767
11#if PROTOCOL_VERSION > 768
22#if PROTOCOL_VERSION > 768
29#if PROTOCOL_VERSION < 769
75#if PROTOCOL_VERSION > 768
100 return std::any_cast<bool>(
metadata.at(
"can_move"));
106 return std::any_cast<bool>(
metadata.at(
"is_active"));
109#if PROTOCOL_VERSION > 768
113 return std::any_cast<bool>(
metadata.at(
"is_tearing_down"));
119 return std::any_cast<const std::optional<Position>&>(
metadata.at(
"home_pos"));
136#if PROTOCOL_VERSION > 768
140 metadata[
"is_tearing_down"] = is_tearing_down;
virtual EntityType GetType() const override
static std::string GetClassName()
virtual void SetMetadataValue(const int index, const std::any &value) override
virtual double GetWidthImpl() const override
virtual std::string GetName() const override
static constexpr int hierarchy_metadata_count
bool GetIsTearingDown() const
void SetHomePos(const std::optional< Position > &home_pos)
static EntityType GetClassType()
const std::optional< Position > & GetHomePos() const
virtual double GetHeightImpl() const override
virtual ~CreakingEntity()
virtual ProtocolCraft::Json::Value Serialize() const override
static constexpr int metadata_count
void SetCanMove(const bool can_move)
static const std::array< std::string, metadata_count > metadata_names
void SetIsTearingDown(const bool is_tearing_down)
void SetIsActive(const bool is_active)
virtual void SetMetadataValue(const int index, const std::any &value)
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
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...