summaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2021-06-21 01:05:46 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2021-06-21 01:05:46 +0100
commitd17dc7e298c7e8e3d7d0536fdb479e62a372644a (patch)
tree221487bee1cbe9ca17493ce4325638eb07f5f311 /bukkit/src
parentaf7e1e435f577bbf9742bb526ac00a71a21c219c (diff)
Save data on disable
Diffstat (limited to 'bukkit/src')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index eeb359bc..8790d341 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -65,6 +65,7 @@ import com.leonardobishop.quests.common.config.ConfigProblem;
import com.leonardobishop.quests.common.config.ConfigProblemDescriptions;
import com.leonardobishop.quests.common.config.QuestsConfig;
import com.leonardobishop.quests.common.logger.QuestsLogger;
+import com.leonardobishop.quests.common.player.QPlayer;
import com.leonardobishop.quests.common.player.QPlayerManager;
import com.leonardobishop.quests.common.plugin.Quests;
import com.leonardobishop.quests.common.quest.QuestCompleter;
@@ -317,6 +318,31 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
}
@Override
+ public void onDisable() {
+ for (TaskType taskType : getTaskTypeManager().getTaskTypes()) {
+ try {
+ taskType.onDisable();
+ } catch (Exception ignored) { }
+ }
+ for (QPlayer qPlayer : qPlayerManager.getQPlayers()) {
+ try {
+ qPlayerManager.savePlayerSync(qPlayer.getPlayerUUID());
+ } catch (Exception ignored) { }
+ }
+ if (placeholderAPIHook != null) {
+ try {
+ placeholderAPIHook.unregisterExpansion();
+ } catch (Exception e) {
+ questsLogger.warning("You need to update PlaceholderAPI for Quests to exit gracefully:");
+ e.printStackTrace();
+ }
+ }
+ try {
+ qPlayerManager.getStorageProvider().shutdown();
+ } catch (Exception ignored) { }
+ }
+
+ @Override
public void reloadQuests() {
if (this.reloadBaseConfiguration()) {
BukkitQuestsLoader questsLoader = new BukkitQuestsLoader(this);