Player data registry is now instantly flushed on logout

This commit is contained in:
Indyuce 2022-10-14 13:37:27 +02:00
parent a3c78d5352
commit dcbd92e2ee

View File

@ -2,10 +2,10 @@ package net.Indyuce.mmocore.manager.data;
import io.lumine.mythic.lib.api.player.MMOPlayerData;
import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.player.PlayerData;
import net.Indyuce.mmocore.api.event.AsyncPlayerDataLoadEvent;
import net.Indyuce.mmocore.api.event.PlayerDataLoadEvent;
import net.Indyuce.mmocore.api.player.OfflinePlayerData;
import net.Indyuce.mmocore.api.player.PlayerData;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.configuration.ConfigurationSection;
@ -45,19 +45,11 @@ public abstract class PlayerDataManager {
// Save data async if required
if (playerData.isFullyLoaded())
Bukkit.getScheduler().runTaskAsynchronously(MMOCore.plugin, () -> {
saveData(playerData);
Bukkit.getScheduler().runTaskAsynchronously(MMOCore.plugin, () -> saveData(playerData));
// Unregister once the data was saved
// Close and unregister data instantly if no error occured
playerData.close();
data.remove(playerData.getUniqueId());
});
// Just unregister data without saving
else {
playerData.close();
data.remove(playerData.getUniqueId());
}
}
/**