001 package net.minecraft.src; 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 int[] var2 = this.intArray; 031 int var3 = var2.length; 032 033 for (int var4 = 0; var4 < var3; ++var4) 034 { 035 int var5 = var2[var4]; 036 par1DataOutput.writeInt(var5); 037 } 038 } 039 040 /** 041 * Read the actual data contents of the tag, implemented in NBT extension classes 042 */ 043 void load(DataInput par1DataInput) throws IOException 044 { 045 int var2 = par1DataInput.readInt(); 046 this.intArray = new int[var2]; 047 048 for (int var3 = 0; var3 < var2; ++var3) 049 { 050 this.intArray[var3] = par1DataInput.readInt(); 051 } 052 } 053 054 /** 055 * Gets the type byte for the tag. 056 */ 057 public byte getId() 058 { 059 return (byte)11; 060 } 061 062 public String toString() 063 { 064 return "[" + this.intArray.length + " bytes]"; 065 } 066 067 /** 068 * Creates a clone of the tag. 069 */ 070 public NBTBase copy() 071 { 072 int[] var1 = new int[this.intArray.length]; 073 System.arraycopy(this.intArray, 0, var1, 0, this.intArray.length); 074 return new NBTTagIntArray(this.getName(), var1); 075 } 076 077 public boolean equals(Object par1Obj) 078 { 079 if (!super.equals(par1Obj)) 080 { 081 return false; 082 } 083 else 084 { 085 NBTTagIntArray var2 = (NBTTagIntArray)par1Obj; 086 return this.intArray == null && var2.intArray == null || this.intArray != null && Arrays.equals(this.intArray, var2.intArray); 087 } 088 } 089 090 public int hashCode() 091 { 092 return super.hashCode() ^ Arrays.hashCode(this.intArray); 093 } 094 }