package net.minecraft.tileentity;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.IChatComponent;
import net.minecraft.world.IInteractionObject;
import net.minecraft.world.ILockableContainer;
import net.minecraft.world.LockCode;
public abstract class TileEntityLockable extends TileEntity implements IInteractionObject, ILockableContainer
{
private LockCode code;
private static final String __OBFID = "CL_00002040";
public TileEntityLockable()
{
this.code = LockCode.EMPTY_CODE;
}
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
this.code = LockCode.fromNBT(compound);
}
public void writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
if (this.code != null)
{
this.code.toNBT(compound);
}
}
public boolean isLocked()
{
return this.code != null && !this.code.isEmpty();
}
public LockCode getLockCode()
{
return this.code;
}
public void setLockCode(LockCode code)
{
this.code = code;
}
public IChatComponent getDisplayName()
{
return (IChatComponent)(this.hasCustomName() ? new ChatComponentText(this.getName()) : new ChatComponentTranslation(this.getName(), new Object[0]));
}
}