cn.nukkit.nbt.tag.IntTag Maven / Gradle / Ivy
package cn.nukkit.nbt.tag;
import cn.nukkit.api.PowerNukkitXOnly;
import cn.nukkit.api.Since;
import cn.nukkit.nbt.stream.NBTInputStream;
import cn.nukkit.nbt.stream.NBTOutputStream;
import java.io.IOException;
public class IntTag extends NumberTag {
public int data;
@PowerNukkitXOnly
@Since("1.19.60-r1")
public IntTag(int data) {
super("");
this.data = data;
}
public IntTag(String name) {
super(name);
}
public IntTag(String name, int data) {
super(name);
this.data = data;
}
@Override
public Integer getData() {
return data;
}
@Override
public void setData(Integer data) {
this.data = data == null ? 0 : data;
}
@Override
void write(NBTOutputStream dos) throws IOException {
dos.writeInt(data);
}
@Override
void load(NBTInputStream dis) throws IOException {
data = dis.readInt();
}
@Override
public Integer parseValue() {
return this.data;
}
@Override
public byte getId() {
return TAG_Int;
}
@Override
public String toString() {
return "IntTag " + this.getName() + "(data: " + data + ")";
}
@Override
public String toSNBT() {
return String.valueOf(data);
}
@Override
public String toSNBT(int space) {
return String.valueOf(data);
}
@Override
public Tag copy() {
return new IntTag(getName(), data);
}
@Override
public boolean equals(Object obj) {
if (super.equals(obj)) {
IntTag o = (IntTag) obj;
return data == o.data;
}
return false;
}
}