blob: 9cf2a67c4cac2653b3f897eece6a14b49e57c7b9 [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
* `load` is called with that tag.
*
* @param nbt the tag to save the state to.
*/
void save(NBTTagCompound nbt);
}