8#if PROTOCOL_VERSION < 765
13#if PROTOCOL_VERSION < 770
14 "data_id_display_block",
16 "data_id_custom_display_block",
18 "data_id_display_offset",
19#if PROTOCOL_VERSION < 770
20 "data_id_custom_display",
27#if PROTOCOL_VERSION < 765
32#if PROTOCOL_VERSION < 770
33 SetDataIdDisplayBlock(0);
38#if PROTOCOL_VERSION < 770
39 SetDataIdCustomDisplay(
false);
56#if PROTOCOL_VERSION < 765
62#if PROTOCOL_VERSION < 765
67#if PROTOCOL_VERSION < 770
68 output[
"metadata"][
"data_id_display_block"] = GetDataIdDisplayBlock();
73#if PROTOCOL_VERSION < 770
74 output[
"metadata"][
"data_id_custom_display"] = GetDataIdCustomDisplay();
85#if PROTOCOL_VERSION < 765
98#if PROTOCOL_VERSION < 765
102 return std::any_cast<int>(
metadata.at(
"data_id_hurt"));
108 return std::any_cast<int>(
metadata.at(
"data_id_hurtdir"));
114 return std::any_cast<float>(
metadata.at(
"data_id_damage"));
118#if PROTOCOL_VERSION < 770
119 int AbstractMinecartEntity::GetDataIdDisplayBlock()
const
122 return std::any_cast<int>(
metadata.at(
"data_id_display_block"));
128 return std::any_cast<int>(
metadata.at(
"data_id_custom_display_block"));
135 return std::any_cast<int>(
metadata.at(
"data_id_display_offset"));
138#if PROTOCOL_VERSION < 770
139 bool AbstractMinecartEntity::GetDataIdCustomDisplay()
const
142 return std::any_cast<bool>(
metadata.at(
"data_id_custom_display"));
147#if PROTOCOL_VERSION < 765
151 metadata[
"data_id_hurt"] = data_id_hurt;
157 metadata[
"data_id_hurtdir"] = data_id_hurtdir;
163 metadata[
"data_id_damage"] = data_id_damage;
167#if PROTOCOL_VERSION < 770
168 void AbstractMinecartEntity::SetDataIdDisplayBlock(
const int data_id_display_block)
171 metadata[
"data_id_display_block"] = data_id_display_block;
177 metadata[
"data_id_custom_display_block"] = data_id_custom_display_block;
184 metadata[
"data_id_display_offset"] = data_id_display_offset;
187#if PROTOCOL_VERSION < 770
188 void AbstractMinecartEntity::SetDataIdCustomDisplay(
const bool data_id_custom_display)
191 metadata[
"data_id_custom_display"] = data_id_custom_display;
virtual bool IsAbstractMinecart() const override
static constexpr int metadata_count
void SetDataIdDisplayOffset(const int data_id_display_offset)
virtual ~AbstractMinecartEntity()
int GetDataIdCustomDisplayBlock() const
int GetDataIdDisplayOffset() const
void SetDataIdCustomDisplayBlock(const int data_id_display_block)
virtual ProtocolCraft::Json::Value Serialize() const override
virtual void SetMetadataValue(const int index, const std::any &value) override
static const std::array< std::string, metadata_count > metadata_names
static constexpr int hierarchy_metadata_count
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
void SetDataIdHurt(const int data_id_hurt)
int GetDataIdHurt() const
int GetDataIdHurtdir() const
void SetDataIdDamage(const float data_id_damage)
float GetDataIdDamage() const
virtual void SetMetadataValue(const int index, const std::any &value) override
virtual ProtocolCraft::Json::Value Serialize() const override
void SetDataIdHurtdir(const int data_id_hurtdir)
Main class, basically a JsonVariant with extra utility functions it doesn't inherit JsonVariant direc...