package net.minecraft.nbt; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.Arrays; public class NBTTagIntArray extends NBTBase { /** The array of saved integers */ private int[] intArray; private static final String __OBFID = "CL_00001221"; NBTTagIntArray() {} public NBTTagIntArray(int[] p_i45132_1_) { this.intArray = p_i45132_1_; } /** * Write the actual data contents of the tag, implemented in NBT extension classes */ void write(DataOutput output) throws IOException { output.writeInt(this.intArray.length); for (int i = 0; i < this.intArray.length; ++i) { output.writeInt(this.intArray[i]); } } void read(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException { sizeTracker.addSpaceRead(32); //Forge: Count the length as well int j = input.readInt(); sizeTracker.addSpaceRead((long)(32 * j)); this.intArray = new int[j]; for (int k = 0; k < j; ++k) { this.intArray[k] = input.readInt(); } } /** * Gets the type byte for the tag. */ public byte getId() { return (byte)11; } public String toString() { String s = "["; int[] aint = this.intArray; int i = aint.length; for (int j = 0; j < i; ++j) { int k = aint[j]; s = s + k + ","; } return s + "]"; } /** * Creates a clone of the tag. */ public NBTBase copy() { int[] aint = new int[this.intArray.length]; System.arraycopy(this.intArray, 0, aint, 0, this.intArray.length); return new NBTTagIntArray(aint); } public boolean equals(Object p_equals_1_) { return super.equals(p_equals_1_) ? Arrays.equals(this.intArray, ((NBTTagIntArray)p_equals_1_).intArray) : false; } public int hashCode() { return super.hashCode() ^ Arrays.hashCode(this.intArray); } public int[] getIntArray() { return this.intArray; } }