43#if PROTOCOL_VERSION > 770
67 const int size = ReadData<VarInt>(iter, length);
74 std::vector<unsigned char> temp_container;
76 WriteData<VarInt>(
static_cast<int>(temp_container.size()), container);
97#if PROTOCOL_VERSION > 770
116 return !is<TagEnd>();
121 std::vector<unsigned char> file_content = std::vector<unsigned char>(
122 std::istream_iterator<unsigned char>(is),
123 std::istream_iterator<unsigned char>()
127 size_t length = file_content.size();
129 v = ReadData<Value>(iter, length);
137 if (length > 10 && *iter == 0x1F && *(iter + 1) == 0x8B)
139 const std::vector<unsigned char> decompressed =
ExtractGZip(iter, length);
141 size_t decomp_length = decompressed.size();
154 if (!is<TagCompound>())
156 throw std::runtime_error(
"Error reading NBT value, not starting with compound");
void WriteUnnamedImpl(WriteContainer &container) const
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
void ReadUnnamedImpl(ReadIterator &iter, size_t &length)
virtual ~UnnamedValue() override
virtual void WriteImpl(WriteContainer &container) const override
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
virtual ~UntrustedValue() override
virtual void WriteImpl(WriteContainer &container) const override
virtual ~Value() override
virtual void ReadImpl(ReadIterator &iter, size_t &length) override
std::istream & operator>>(std::istream &is, Value &v)
std::vector< unsigned char > ExtractGZip(std::vector< unsigned char >::const_iterator &iter, std::size_t &length)
std::vector< unsigned char > WriteContainer
std::vector< unsigned char >::const_iterator ReadIterator
void WriteByteArray(const std::vector< unsigned char > &my_array, WriteContainer &container)