You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.6 KiB
Java
103 lines
2.6 KiB
Java
package net.minecraft.nbt;
|
|
|
|
import java.io.DataInput;
|
|
import java.io.DataOutput;
|
|
import java.io.IOException;
|
|
|
|
public abstract class NBTBase
|
|
{
|
|
public static final String[] NBTTypes = new String[] {"END", "BYTE", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", "BYTE[]", "STRING", "LIST", "COMPOUND", "INT[]"};
|
|
private static final String __OBFID = "CL_00001229";
|
|
|
|
/**
|
|
* Write the actual data contents of the tag, implemented in NBT extension classes
|
|
*/
|
|
abstract void write(DataOutput output) throws IOException;
|
|
|
|
abstract void func_152446_a(DataInput input, int depth, NBTSizeTracker sizeTracker) throws IOException;
|
|
|
|
public abstract String toString();
|
|
|
|
/**
|
|
* Gets the type byte for the tag.
|
|
*/
|
|
public abstract byte getId();
|
|
|
|
protected static NBTBase func_150284_a(byte id)
|
|
{
|
|
switch (id)
|
|
{
|
|
case 0:
|
|
return new NBTTagEnd();
|
|
case 1:
|
|
return new NBTTagByte();
|
|
case 2:
|
|
return new NBTTagShort();
|
|
case 3:
|
|
return new NBTTagInt();
|
|
case 4:
|
|
return new NBTTagLong();
|
|
case 5:
|
|
return new NBTTagFloat();
|
|
case 6:
|
|
return new NBTTagDouble();
|
|
case 7:
|
|
return new NBTTagByteArray();
|
|
case 8:
|
|
return new NBTTagString();
|
|
case 9:
|
|
return new NBTTagList();
|
|
case 10:
|
|
return new NBTTagCompound();
|
|
case 11:
|
|
return new NBTTagIntArray();
|
|
default:
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Creates a clone of the tag.
|
|
*/
|
|
public abstract NBTBase copy();
|
|
|
|
public boolean equals(Object p_equals_1_)
|
|
{
|
|
if (!(p_equals_1_ instanceof NBTBase))
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
NBTBase nbtbase = (NBTBase)p_equals_1_;
|
|
return this.getId() == nbtbase.getId();
|
|
}
|
|
}
|
|
|
|
public int hashCode()
|
|
{
|
|
return this.getId();
|
|
}
|
|
|
|
protected String func_150285_a_()
|
|
{
|
|
return this.toString();
|
|
}
|
|
|
|
public abstract static class NBTPrimitive extends NBTBase
|
|
{
|
|
private static final String __OBFID = "CL_00001230";
|
|
|
|
public abstract long func_150291_c();
|
|
|
|
public abstract int func_150287_d();
|
|
|
|
public abstract short func_150289_e();
|
|
|
|
public abstract byte func_150290_f();
|
|
|
|
public abstract double func_150286_g();
|
|
|
|
public abstract float func_150288_h();
|
|
}
|
|
} |