/
area/
classes/net/sourceforge/pain/logic/
classes/net/sourceforge/pain/logic/event/
classes/net/sourceforge/pain/logic/fn/util/
classes/net/sourceforge/pain/network/console/
classes/net/sourceforge/pain/plugin/
classes/net/sourceforge/pain/plugin/reset/
classes/net/sourceforge/pain/plugin/shutdown/
classes/net/sourceforge/pain/plugin/social/
classest/net/sourceforge/pain/db/data/
doc/
doc/paindb/resources/
src/net/sourceforge/pain/logic/
src/net/sourceforge/pain/logic/event/
src/net/sourceforge/pain/logic/fn/util/
src/net/sourceforge/pain/network/console/
src/net/sourceforge/pain/network/console/telnet/
src/net/sourceforge/pain/plugin/
src/net/sourceforge/pain/plugin/command/
src/net/sourceforge/pain/plugin/reset/
src/net/sourceforge/pain/plugin/shutdown/
src/net/sourceforge/pain/plugin/social/
src/net/sourceforge/pain/util/
tests/
tests/net/sourceforge/pain/db/data/
package net.sourceforge.pain;

import net.sourceforge.pain.util.*;

import java.io.*;

public class WorldSaver implements TimeListener {

	public static final int FLUSH_PERIOD = 20;// in seconds

	public int flushingPeriodInTicks = FLUSH_PERIOD * net.sourceforge.pain.Time.PULSE_PER_SCD;

	public int flushTime = flushingPeriodInTicks;

	public WorldSaver() {
	}

	public void pulse(int time) {
//		Log.debug(time+"/"+flushTime);
		if (flushTime <= time) {
			Log.debug("saving world!");
			try {
				Core.getDB().flush();
			} catch (IOException e) {
				Log.error(e);
			}
			Log.debug("saved");
			flushTime = time + flushingPeriodInTicks;
		}
	}

}