All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.minecraft.server.NBTBase Maven / Gradle / Ivy

There is a newer version: 2.4.0
Show newest version
package net.minecraft.server;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

public abstract class NBTBase {

  // ChestMC start - readable nbt types id.
  public static final int END = 0;
  public static final int BYTE = 1;
  public static final int SHORT = 2;
  public static final int INT = 3;
  public static final int LONG = 4;
  public static final int FLOAT = 5;
  public static final int DOUBLE = 6;
  public static final int BYTE_ARRAY = 7;
  public static final int STRING = 8;
  public static final int LIST = 9;
  public static final int COMPOUND = 10;
  public static final int INT_ARRAY = 11;
  public static final int TAG_GROUP = 12;
  public static final int ANY_NUMBER = 99;
  // ChestMC end.

  public static final String[] a = new String[]{"END", "BYTE", "SHORT", "INT", "LONG", "FLOAT", "DOUBLE", "BYTE[]", "STRING", "LIST", "COMPOUND", "INT[]"};

  protected NBTBase() {
  }

  protected static NBTBase createTag(byte b0) {
    switch (b0) {
      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();

      // walkmc start
      case 12:
        return new NBTTagGroup();
      // walkmc end

      default:
        return null;
    }
  }

  public abstract void write(DataOutput dataoutput) throws IOException;

  public abstract void load(DataInput datainput, int i, NBTReadLimiter nbtreadlimiter) throws IOException;

  public abstract String toString();

  public abstract byte getTypeId();

  public abstract NBTBase clone();

  public boolean isEmpty() {
    return false;
  }

  public boolean equals(Object object) {
    if (!(object instanceof NBTBase)) {
      return false;
    } else {
      NBTBase nbtbase = (NBTBase) object;

      return this.getTypeId() == nbtbase.getTypeId();
    }
  }

  public int hashCode() {
    return this.getTypeId();
  }

  protected String a_() {
    return this.toString();
  }

  public abstract static class NBTNumber extends NBTBase {

    protected NBTNumber() {
    }

    public abstract long c();

    public abstract int d();

    public abstract short e();

    public abstract byte f();

    public abstract double g();

    public abstract float h();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy