bentobox/src/main/java/us/tastybento/bskyblock/database/PlayersManager.java

54 lines
1.3 KiB
Java
Raw Normal View History

2017-05-20 23:52:52 +02:00
package us.tastybento.bskyblock.database;
2017-05-20 23:09:53 +02:00
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.UUID;
2017-05-20 23:52:52 +02:00
import us.tastybento.bskyblock.BSkyBlock;
import us.tastybento.bskyblock.database.objects.APlayer;
2017-05-20 23:09:53 +02:00
public class PlayersManager{
2017-05-20 23:52:52 +02:00
private BSkyBlock plugin;
2017-05-20 23:09:53 +02:00
private ASBDatabase database;
private HashMap<UUID, APlayer> players;
2017-05-20 23:09:53 +02:00
2017-05-20 23:52:52 +02:00
public PlayersManager(BSkyBlock plugin){
2017-05-20 23:09:53 +02:00
this.plugin = plugin;
database = ASBDatabase.getDatabase();
players = new HashMap<UUID, APlayer>();
2017-05-20 23:09:53 +02:00
}
public void load(){
//TODO
}
public void save(boolean async){
if(async){
plugin.getServer().getScheduler().runTaskAsynchronously(plugin, new Runnable() {
@Override
public void run() {
for(Entry<UUID, APlayer> entry : players.entrySet()){
2017-05-20 23:09:53 +02:00
database.savePlayerData(entry.getValue());
}
}
});
} else {
for(Entry<UUID, APlayer> entry : players.entrySet()){
2017-05-20 23:09:53 +02:00
database.savePlayerData(entry.getValue());
}
}
}
public void shutdown(){
save(false);
players.clear();
}
public APlayer getPlayer(UUID uuid){
2017-05-20 23:09:53 +02:00
return players.get(uuid);
}
}