001package net.minecraft.world;
002
003import net.minecraft.nbt.NBTTagCompound;
004
005public abstract class WorldSavedData
006{
007    /** The name of the map data nbt */
008    public final String mapName;
009
010    /** Whether this MapDataBase needs saving to disk. */
011    private boolean dirty;
012
013    public WorldSavedData(String par1Str)
014    {
015        this.mapName = par1Str;
016    }
017
018    /**
019     * reads in data from the NBTTagCompound into this MapDataBase
020     */
021    public abstract void readFromNBT(NBTTagCompound nbttagcompound);
022
023    /**
024     * write data to NBTTagCompound from this MapDataBase, similar to Entities and TileEntities
025     */
026    public abstract void writeToNBT(NBTTagCompound nbttagcompound);
027
028    /**
029     * Marks this MapDataBase dirty, to be saved to disk when the level next saves.
030     */
031    public void markDirty()
032    {
033        this.setDirty(true);
034    }
035
036    /**
037     * Sets the dirty state of this MapDataBase, whether it needs saving to disk.
038     */
039    public void setDirty(boolean par1)
040    {
041        this.dirty = par1;
042    }
043
044    /**
045     * Whether this MapDataBase needs saving to disk.
046     */
047    public boolean isDirty()
048    {
049        return this.dirty;
050    }
051}