package ru.dbotthepony.kstarbound.world

/**
 * Determines the state chunk is in, chunks are written to persistent storage
 * only if they are in [FULL] state to avoid partially loaded or partially generated
 * chunks from making its way into persistent storage.
 */
enum class ChunkState {
	/**
	 * Freshly created, nothing was loaded or generated
	 */
	FRESH,

	/**
	 * Chunk does not exist on disk, and awaits generation
	 *
	 * This is kind of limbo state, used by code which want to get
	 * chunk in its "as-is" state, be it completely empty or fully loaded from disk
	 */
	EMPTY,

	TERRAIN,
	MICRO_DUNGEONS,
	CAVE_LIQUID,

	/**
	 * Everything has been loaded or generated
	 */
	FULL;
}
