- 76
- 3
- 5
Cоздал интерфейс
Затем создал методы
И теперь мне нужно их записывать, пытаюсь записать их так
Но как я понял, NBTPrimitive из старых версий форджа.
Ещё ругается на FloatNBT говорит, что он приватный, аналога я не нашёл.
И так, где я ошибся или как сделать правильно?
Java:
public interface NewLevelSystem {
public void setLevel(float pointsLevel);
public void addExp(float points);
public float getLevel();
}
Затем создал методы
Java:
public class Levels implements RpgMod.NewLevelSystem {
private float level = 0.0f;
@Override
public void setLevel(float points) {
this.level = points;
}
@Override
public void addExp(float points) {
this.level += points;
}
@Override
public float getLevel() {
return this.level;
}
}
И теперь мне нужно их записывать, пытаюсь записать их так
Java:
public class LevelStorage implements Capability.IStorage<RpgMod.NewLevelSystem> {
@Nullable
@Override
public INBT writeNBT(Capability<RpgMod.NewLevelSystem> capability, RpgMod.NewLevelSystem instance, Direction side) {
return new FloatNBT(instance.getLevel());
}
@Override
public void readNBT(Capability<RpgMod.NewLevelSystem> capability, RpgMod.NewLevelSystem instance, Direction side, INBT nbt) {
instance.set(((NBTPrimitive) nbt).getFloat());
}
}
Но как я понял, NBTPrimitive из старых версий форджа.
Ещё ругается на FloatNBT говорит, что он приватный, аналога я не нашёл.
И так, где я ошибся или как сделать правильно?