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 */
public int[] intArray;
public NBTTagIntArray(String par1Str)
{
super(par1Str);
}
public NBTTagIntArray(String par1Str, int[] par2ArrayOfInteger)
{
super(par1Str);
this.intArray = par2ArrayOfInteger;
}
/**
* Write the actual data contents of the tag, implemented in NBT extension classes
*/
void write(DataOutput par1DataOutput) throws IOException
{
par1DataOutput.writeInt(this.intArray.length);
for (int i = 0; i < this.intArray.length; ++i)
{
par1DataOutput.writeInt(this.intArray[i]);
}
}
/**
* Read the actual data contents of the tag, implemented in NBT extension classes
*/
void load(DataInput par1DataInput) throws IOException
{
int i = par1DataInput.readInt();
this.intArray = new int[i];
for (int j = 0; j < i; ++j)
{
this.intArray[j] = par1DataInput.readInt();
}
}
/**
* Gets the type byte for the tag.
*/
public byte getId()
{
return (byte)11;
}
public String toString()
{
return "[" + this.intArray.length + " bytes]";
}
/**
* 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(this.getName(), aint);
}
public boolean equals(Object par1Obj)
{
if (!super.equals(par1Obj))
{
return false;
}
else
{
NBTTagIntArray nbttagintarray = (NBTTagIntArray)par1Obj;
return this.intArray == null && nbttagintarray.intArray == null || this.intArray != null && Arrays.equals(this.intArray, nbttagintarray.intArray);
}
}
public int hashCode()
{
return super.hashCode() ^ Arrays.hashCode(this.intArray);
}
}