diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-06-21 01:05:46 +0100 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-06-21 01:05:46 +0100 |
| commit | d17dc7e298c7e8e3d7d0536fdb479e62a372644a (patch) | |
| tree | 221487bee1cbe9ca17493ce4325638eb07f5f311 /bukkit/src/main/java | |
| parent | af7e1e435f577bbf9742bb526ac00a71a21c219c (diff) | |
Save data on disable
Diffstat (limited to 'bukkit/src/main/java')
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java | 26 |
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); |
