peytonplayz585-infdev/source/net/minecraft/src/NBTBase.java
peytonplayz595 b335840495 Upload src
2023-09-23 01:47:15 -05:00

103 lines
2.0 KiB
Java

package net.minecraft.src;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
public abstract class NBTBase {
private String key = null;
abstract void writeTagContents(DataOutput var1) throws IOException;
abstract void readTagContents(DataInput var1) throws IOException;
public abstract byte getType();
public String getKey() {
return this.key == null ? "" : this.key;
}
public NBTBase setKey(String var1) {
this.key = var1;
return this;
}
public static NBTBase readNamedTag(DataInput var0) throws IOException {
byte var1 = var0.readByte();
if(var1 == 0) {
return new NBTTagEnd();
} else {
NBTBase var2 = createTagOfType(var1);
var2.key = var0.readUTF();
var2.readTagContents(var0);
return var2;
}
}
public static void writeNamedTag(NBTBase var0, DataOutput var1) throws IOException {
var1.writeByte(var0.getType());
if(var0.getType() != 0) {
var1.writeUTF(var0.getKey());
var0.writeTagContents(var1);
}
}
public static NBTBase createTagOfType(byte var0) {
switch(var0) {
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();
default:
return null;
}
}
public static String getTagName(byte var0) {
switch(var0) {
case 0:
return "TAG_End";
case 1:
return "TAG_Byte";
case 2:
return "TAG_Short";
case 3:
return "TAG_Int";
case 4:
return "TAG_Long";
case 5:
return "TAG_Float";
case 6:
return "TAG_Double";
case 7:
return "TAG_Byte_Array";
case 8:
return "TAG_String";
case 9:
return "TAG_List";
case 10:
return "TAG_Compound";
default:
return "UNKNOWN";
}
}
}