From e6cb656de42ac5eef551f14e4367e9e777eca6fe Mon Sep 17 00:00:00 2001 From: prydin Date: Tue, 2 Jun 2020 09:12:47 -0400 Subject: [PATCH] Performance improvements --- .../java/net/querz/nbt/io/NBTInputStream.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/querz/nbt/io/NBTInputStream.java b/src/main/java/net/querz/nbt/io/NBTInputStream.java index 05ede87e..b3ca6b8a 100644 --- a/src/main/java/net/querz/nbt/io/NBTInputStream.java +++ b/src/main/java/net/querz/nbt/io/NBTInputStream.java @@ -105,17 +105,21 @@ private static ByteArrayTag readByteArray(NBTInputStream in) throws IOException } private static IntArrayTag readIntArray(NBTInputStream in) throws IOException { - IntArrayTag iat = new IntArrayTag(new int[in.readInt()]); - for (int i = 0; i < iat.length(); i++) { - iat.getValue()[i] = in.readInt(); + int l = in.readInt(); + int[] data = new int[l]; + IntArrayTag iat = new IntArrayTag(data); + for (int i = 0; i < l; i++) { + data[i] = in.readInt(); } return iat; } private static LongArrayTag readLongArray(NBTInputStream in) throws IOException { - LongArrayTag iat = new LongArrayTag(new long[in.readInt()]); - for (int i = 0; i < iat.length(); i++) { - iat.getValue()[i] = in.readLong(); + int l = in.readInt(); + long[] data = new long[l]; + LongArrayTag iat = new LongArrayTag(data); + for (int i = 0; i < l; i++) { + data[i] = in.readLong(); } return iat; }