blob: 8ad2b2a459acf597869558a6d0eda85915d93d28 [file] [log] [blame] [raw]
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);
}