1#if PROTOCOL_VERSION > 770
22 throw std::runtime_error(
"Unable to create ItemAttributeModifiersDisplayData with id: " + std::to_string(
static_cast<int>(type)) +
".");
29 Data = std::make_shared<DefaultDisplay>();
32 Data = std::make_shared<HiddenDisplay>();
35 Data = std::make_shared<OverrideDisplay>();
39 throw std::runtime_error(
"Unable to create ItemAttributeModifiersDisplayData with id: " + std::to_string(
static_cast<int>(Type)) +
".");
49 SetType(ReadData<ItemAttributeModifiersDisplayType, VarInt>(iter, length));
50 if (GetData() !=
nullptr)
52 GetData()->Read(iter, length);
58 WriteData<ItemAttributeModifiersDisplayType, VarInt>(GetType(), container);
59 if (GetData() !=
nullptr)
61 GetData()->Write(container);
69 output[std::string(field_name<Type_index>)] = Type;
70 output[std::string(field_name<Data_index>)] = Data ==
nullptr ? Json::Object() : Data->
Serialize();
#define DEFINE_NETWORK_TYPE(ClassName)
ItemAttributeModifiersDisplay & SetType(const ItemAttributeModifiersDisplayType type_)
virtual Json::Value SerializeImpl() const =0
virtual void WriteImpl(WriteContainer &container) const =0
virtual Json::Value Serialize() const
virtual void ReadImpl(ReadIterator &iter, size_t &length)=0
ItemAttributeModifiersDisplayType
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator