package com.carpentersblocks.entity.item; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import com.carpentersblocks.util.protection.IProtected; import com.carpentersblocks.util.protection.ProtectedObject; public class EntityBase extends Entity implements IProtected { private final static byte ID_OWNER = 12; private final static String TAG_OWNER = "owner"; public EntityBase(World world) { super(world); } public EntityBase(World world, EntityPlayer entityPlayer) { this(world); setOwner(new ProtectedObject(entityPlayer)); } @Override public void setOwner(ProtectedObject obj) { getDataWatcher().updateObject(ID_OWNER, obj.toString()); } @Override public String getOwner() { return getDataWatcher().getWatchableObjectString(ID_OWNER); } @Override protected void entityInit() { getDataWatcher().addObject(ID_OWNER, new String("")); } @Override protected void readEntityFromNBT(NBTTagCompound nbtTagCompound) { getDataWatcher().updateObject(ID_OWNER, String.valueOf(nbtTagCompound.getString(TAG_OWNER))); } @Override protected void writeEntityToNBT(NBTTagCompound nbtTagCompound) { nbtTagCompound.setString(TAG_OWNER, getDataWatcher().getWatchableObjectString(ID_OWNER)); } }