2019-06-20 08:12:34 +00:00
|
|
|
package me.mrCookieSlime.Slimefun.api;
|
2016-04-14 16:24:03 +00:00
|
|
|
|
2016-09-17 08:06:21 +00:00
|
|
|
import java.util.HashSet;
|
|
|
|
import java.util.Set;
|
2016-04-14 16:24:03 +00:00
|
|
|
|
|
|
|
import org.bukkit.Bukkit;
|
|
|
|
import org.bukkit.World;
|
|
|
|
|
2016-09-17 08:06:21 +00:00
|
|
|
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
|
|
|
|
2016-04-14 16:24:03 +00:00
|
|
|
public class AutoSavingTask implements Runnable {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void run() {
|
2019-06-20 07:50:59 +00:00
|
|
|
Set<BlockStorage> worlds = new HashSet<>();
|
2016-09-17 08:06:21 +00:00
|
|
|
|
2016-04-14 16:24:03 +00:00
|
|
|
for (World world: Bukkit.getWorlds()) {
|
2016-09-17 08:06:21 +00:00
|
|
|
if (BlockStorage.isWorldRegistered(world.getName())) {
|
|
|
|
BlockStorage storage = BlockStorage.getStorage(world);
|
|
|
|
storage.computeChanges();
|
|
|
|
|
|
|
|
if (storage.getChanges() > 0) {
|
|
|
|
worlds.add(storage);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!worlds.isEmpty()) {
|
|
|
|
System.out.println("[Slimefun] Auto-Saving Data... (Next Auto-Save: " + SlimefunStartup.getCfg().getInt("options.auto-save-delay-in-minutes") + "m)");
|
|
|
|
|
|
|
|
for (BlockStorage storage: worlds) {
|
|
|
|
storage.save(false);
|
|
|
|
}
|
2016-04-14 16:24:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|