В TileEntity не хочет работает запись и чтение Nbt (1.12.2)

Версия Minecraft
1.12.2
API
Forge
4
1
0
При вызове метода add() почему-то writeToNBT() записывает, что angle = 2, а asymut = 1.
А при чтении (readFromNBT) вообще выдаёт нули.

P.S. Я новичок в моддинге.

public class MortarTile extends TileEntity {
private float azimuth;
private float angle;

public MortarTile(){
this.azimuth = 0;
this.angle = 0;
}
@Override
public void readFromNBT(NBTTagCompound compound) {

this.azimuth = compound.getFloat("azimuth");
this.angle = compound.getFloat("angle");

super.readFromNBT(compound);
}
@Override
public NBTTagCompound writeToNBT(NBTTagCompound compound) {
compound.setFloat("azimuth", this.azimuth);
compound.setFloat("angle", this.angle);

return super.writeToNBT(compound);
}
public void add(){
this.angle++;
this.azimuth++;
this.markDirty();
}

public float getAngle() {
return this.angle;
}

public float getAzimuth() {
return this.azimuth;
}
}
 

Icosider

Kotliner
Администратор
3,613
99
672
Нет такого метода с параметром NBTTagCompound:
public void readFromNBT(NBTTagCompound compound)

Необходимо использовать метод "serializeNBT"
Java:
@Override
public NBTTagCompound serializeNBT() {
    NBTTagCompound tag = super.writeToNBT(compound);
    tag.setFloat("azimuth", azimuth);
    tag.setFloat("angle", angle);
    return tag;
}
 
Сверху