From 643639c051aa5fba4d4627639376ba1d59c7ecc5 Mon Sep 17 00:00:00 2001 From: Steveice10 Date: Mon, 3 Dec 2012 16:08:14 -0800 Subject: [PATCH] Fixed ListTag --- .../java/ch/spacebase/opennbt/stream/NBTInputStream.java | 2 ++ src/main/java/ch/spacebase/opennbt/tag/ListTag.java | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/ch/spacebase/opennbt/stream/NBTInputStream.java b/src/main/java/ch/spacebase/opennbt/stream/NBTInputStream.java index 90f4265..c30ff09 100644 --- a/src/main/java/ch/spacebase/opennbt/stream/NBTInputStream.java +++ b/src/main/java/ch/spacebase/opennbt/stream/NBTInputStream.java @@ -267,6 +267,7 @@ public final class NBTInputStream implements Closeable { return new ObjectTag(name, o); case NBTConstants.TYPE_SHORT_ARRAY: + long time = System.currentTimeMillis(); length = is.readInt(); short[] shorts = new short[length]; @@ -274,6 +275,7 @@ public final class NBTInputStream implements Closeable { shorts[i] = is.readShort(); } + System.out.println("Took " + (System.currentTimeMillis() - time) + "ms to read a short array."); return new ShortArrayTag(name, shorts); case NBTConstants.TYPE_STRING_ARRAY: length = is.readInt(); diff --git a/src/main/java/ch/spacebase/opennbt/tag/ListTag.java b/src/main/java/ch/spacebase/opennbt/tag/ListTag.java index 6811b51..50d13dc 100644 --- a/src/main/java/ch/spacebase/opennbt/tag/ListTag.java +++ b/src/main/java/ch/spacebase/opennbt/tag/ListTag.java @@ -35,15 +35,11 @@ package ch.spacebase.opennbt.tag; */ import java.util.ArrayList; -import java.util.Collections; import java.util.Iterator; import java.util.List; import ch.spacebase.opennbt.NBTUtils; - - - /** * The TAG_List tag. */ @@ -77,7 +73,7 @@ public final class ListTag extends Tag implements Iterable { public ListTag(String name, Class type, List value) { super(name); this.type = type; - this.value = Collections.unmodifiableList(value); + this.value = value; } /** @@ -90,7 +86,7 @@ public final class ListTag extends Tag implements Iterable { @Override public List getValue() { - return value; + return new ArrayList(value); } public boolean add(T value) {