Minecraft 1.4.5
Forge 6.4.0.397
Modで追加したMobの持つデータをログアウト後も保持する方法
dataWatcherでクライアント・サーバー間のデータを同期し、NBTでデータを保存する。
データの参照と更新はラップしたメソッド(関数)を作成しておくと便利。
public class EntityTest extends EntityMob {
public static final int INDEX_TEST = 18;
public static final String ID_TEST = "Test";
@Override
protected void entityInit() {
super.entityInit();
dataWatcher.addObject(INDEX_TEST, 0);
}
@Override
public void writeEntityToNBT(NBTTagCompound par1nbtTagCompound) {
super.writeEntityToNBT(par1nbtTagCompound);
par1nbtTagCompound.setInteger(ID_TEST, 0);
}
@Override
public void readEntityFromNBT(NBTTagCompound par1nbtTagCompound) {
super.readEntityFromNBT(par1nbtTagCompound);
setTest(par1nbtTagCompound.getInteger(ID_TEST));
}
private int getTest() {
return dataWatcher.getWatchableObjectInt(INDEX_TEST);
}
private void setTest(int test) {
dataWatcher.updateObject(INDEX_TEST, test);
}
}