diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-07-21 00:04:35 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-07-21 00:04:35 +0200 |
commit | a588857ed0783712a581030807642f54f3d01d3c (patch) | |
tree | 2c114c8be4b8b1dd6b273ff4e0004b00bbb8be68 /src/NBT/Tag.cpp | |
parent | 22ae19b43a6893f30600a43e2fc98ca62cda6676 (diff) | |
download | MinedMap-a588857ed0783712a581030807642f54f3d01d3c.tar MinedMap-a588857ed0783712a581030807642f54f3d01d3c.zip |
NBT: add support for LongArray tags
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); } |