summaryrefslogtreecommitdiffstats
path: root/src/NBT/Tag.cpp
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-07-21 00:04:35 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-07-21 00:04:35 +0200
commita588857ed0783712a581030807642f54f3d01d3c (patch)
tree2c114c8be4b8b1dd6b273ff4e0004b00bbb8be68 /src/NBT/Tag.cpp
parent22ae19b43a6893f30600a43e2fc98ca62cda6676 (diff)
downloadMinedMap-a588857ed0783712a581030807642f54f3d01d3c.tar
MinedMap-a588857ed0783712a581030807642f54f3d01d3c.zip
NBT: add support for LongArray tags
Diffstat (limited to 'src/NBT/Tag.cpp')
-rw-r--r--src/NBT/Tag.cpp11
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);
}