Do not expose saving tasks to the api and change the way saving data is handled.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.alttd.essentia.user;
|
||||
|
||||
import com.alttd.essentia.EssentiaPlugin;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Map;
|
||||
@@ -8,8 +9,14 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class EssentiaUserManager implements UserManager {
|
||||
|
||||
protected final EssentiaPlugin plugin;
|
||||
|
||||
private final Map<UUID, User> essentiaPlayers = new ConcurrentHashMap<>();
|
||||
|
||||
public EssentiaUserManager(EssentiaPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUser(Player player) {
|
||||
return getUser(player.getUniqueId());
|
||||
@@ -50,4 +57,21 @@ public class EssentiaUserManager implements UserManager {
|
||||
return new EssentiaUser.Builder().uuid(uuid).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveAllUsers() {
|
||||
for (User user : getUsers().values()) {
|
||||
if (user instanceof EssentiaUser essentiaUser) {
|
||||
try {
|
||||
if (essentiaUser.saving() || !essentiaUser.needsSaving()) {
|
||||
continue;
|
||||
}
|
||||
plugin.storageProvider().startSaving(essentiaUser);
|
||||
} catch(Exception e){
|
||||
essentiaUser.saving(false);
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user