アットウィキロゴ

[Minecraft Forge Modding] Modで追加したMobの持つデータをログアウト後も保持する方法

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);
        }
}
最終更新:2012年12月03日 02:09