001 package net.minecraft.nbt; 002 003 import java.io.DataInput; 004 import java.io.DataOutput; 005 import java.io.IOException; 006 import java.util.Arrays; 007 008 public class NBTTagIntArray extends NBTBase 009 { 010 /** The array of saved integers */ 011 public int[] intArray; 012 013 public NBTTagIntArray(String par1Str) 014 { 015 super(par1Str); 016 } 017 018 public NBTTagIntArray(String par1Str, int[] par2ArrayOfInteger) 019 { 020 super(par1Str); 021 this.intArray = par2ArrayOfInteger; 022 } 023 024 /** 025 * Write the actual data contents of the tag, implemented in NBT extension classes 026 */ 027 void write(DataOutput par1DataOutput) throws IOException 028 { 029 par1DataOutput.writeInt(this.intArray.length); 030 031 for (int var2 = 0; var2 < this.intArray.length; ++var2) 032 { 033 par1DataOutput.writeInt(this.intArray[var2]); 034 } 035 } 036 037 /** 038 * Read the actual data contents of the tag, implemented in NBT extension classes 039 */ 040 void load(DataInput par1DataInput) throws IOException 041 { 042 int var2 = par1DataInput.readInt(); 043 this.intArray = new int[var2]; 044 045 for (int var3 = 0; var3 < var2; ++var3) 046 { 047 this.intArray[var3] = par1DataInput.readInt(); 048 } 049 } 050 051 /** 052 * Gets the type byte for the tag. 053 */ 054 public byte getId() 055 { 056 return (byte)11; 057 } 058 059 public String toString() 060 { 061 return "[" + this.intArray.length + " bytes]"; 062 } 063 064 /** 065 * Creates a clone of the tag. 066 */ 067 public NBTBase copy() 068 { 069 int[] var1 = new int[this.intArray.length]; 070 System.arraycopy(this.intArray, 0, var1, 0, this.intArray.length); 071 return new NBTTagIntArray(this.getName(), var1); 072 } 073 074 public boolean equals(Object par1Obj) 075 { 076 if (!super.equals(par1Obj)) 077 { 078 return false; 079 } 080 else 081 { 082 NBTTagIntArray var2 = (NBTTagIntArray)par1Obj; 083 return this.intArray == null && var2.intArray == null || this.intArray != null && Arrays.equals(this.intArray, var2.intArray); 084 } 085 } 086 087 public int hashCode() 088 { 089 return super.hashCode() ^ Arrays.hashCode(this.intArray); 090 } 091 }