diff options
Diffstat (limited to 'src/NBT/Tag.cpp')
-rw-r--r-- | src/NBT/Tag.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/NBT/Tag.cpp b/src/NBT/Tag.cpp index c75cb9f..33dac83 100644 --- a/src/NBT/Tag.cpp +++ b/src/NBT/Tag.cpp @@ -38,6 +38,7 @@ #include "ListTag.hpp" #include "CompoundTag.hpp" #include "IntArrayTag.hpp" +#include "LongArrayTag.hpp" #include <stdexcept> @@ -84,6 +85,9 @@ std::shared_ptr<const Tag> Tag::readTag(Type type, Buffer *buffer) { case Type::IntArray: return std::shared_ptr<IntArrayTag>(new IntArrayTag(buffer)); + case Type::LongArray: + return std::shared_ptr<LongArrayTag>(new LongArrayTag(buffer)); + default: throw std::runtime_error("Tag::readTag: unknown tag type"); } @@ -129,6 +133,9 @@ std::shared_ptr<const Tag> Tag::readList(Buffer *buffer) { case Type::IntArray: return std::shared_ptr<Tag>(new ListTag<IntArrayTag>(type, buffer)); + case Type::LongArray: + return std::shared_ptr<Tag>(new ListTag<LongArrayTag>(type, buffer)); + default: throw std::runtime_error("Tag::readList: unknown tag type"); } @@ -195,6 +202,10 @@ std::ostream& operator<<(std::ostream& os, Tag::Type type) { os << "IntArray"; break; + case Tag::Type::LongArray: + os << "LongArray"; + break; + default: os.setstate(std::ios_base::failbit); } |