From a3d4a39e86483c992bc4ecf7459bceac97f1948b Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Thu, 16 Oct 2014 19:17:44 -0700 Subject: [PATCH] Ensure player data is completely saved on shutdown. Changed shutdown data save to synchronous (from multithreaded). Takes longer but guarantees all data gets saved. --- src/me/ryanhamshire/GriefPrevention/DataStore.java | 6 ++++++ src/me/ryanhamshire/GriefPrevention/GriefPrevention.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/me/ryanhamshire/GriefPrevention/DataStore.java b/src/me/ryanhamshire/GriefPrevention/DataStore.java index 2fc6d0a..5fbe4fc 100644 --- a/src/me/ryanhamshire/GriefPrevention/DataStore.java +++ b/src/me/ryanhamshire/GriefPrevention/DataStore.java @@ -564,6 +564,12 @@ public abstract class DataStore return result; } + //saves changes to player data to secondary storage. MUST be called after you're done making changes, otherwise a reload will lose them + public void savePlayerDataSync(UUID playerID, PlayerData playerData) + { + this.asyncSavePlayerData(playerID, playerData); + } + //saves changes to player data to secondary storage. MUST be called after you're done making changes, otherwise a reload will lose them public void savePlayerData(UUID playerID, PlayerData playerData) { diff --git a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java index 8105ea3..9d96854 100644 --- a/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java +++ b/src/me/ryanhamshire/GriefPrevention/GriefPrevention.java @@ -2226,7 +2226,7 @@ public class GriefPrevention extends JavaPlugin Player player = players[i]; UUID playerID = player.getUniqueId(); PlayerData playerData = this.dataStore.getPlayerData(playerID); - this.dataStore.savePlayerData(playerID, playerData); + this.dataStore.savePlayerDataSync(playerID, playerData); } this.dataStore.close();