@Override
    public boolean equals(Object other) {
        if (!(other instanceof NBTBase)) {
            return false;
        } else {
            NBTBase tempOther = (NBTBase) other;
            return this.getId() == tempOther.getId() && ((this.name != null || tempOther.name == null)
                    && (this.name == null || tempOther.name != null) && (this.name == null
                    || this.name.equals(tempOther.name)));
        }
    }