package li.cil.oc.api; import net.minecraft.nbt.NBTTagCompound; /** * An object that can be persisted to an NBT tag and restored back from it. */ public interface Persistable { /** * Restores a previous state of the object from the specified NBT tag. * * @param nbt the tag to read the state from. */ void load(NBTTagCompound nbt); /** * Saves the current state of the object into the specified NBT tag. * <p/> * This should write the state in such a way that it can be restored when * {@link #load} is called with that tag. * * @param nbt the tag to save the state to. */ void save(NBTTagCompound nbt); }