From 22819bf95e3d097c4c5dededf774854afc360eaf Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Thu, 3 Jun 2021 18:41:00 +0100 Subject: Make storage provider configurable --- .../com/leonardobishop/quests/player/QPlayerManager.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java index bd7ccf37..836479a1 100644 --- a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java +++ b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java @@ -25,9 +25,18 @@ public class QPlayerManager { private StorageProvider storageProvider; public QPlayerManager(Quests plugin) { - this.storageProvider = new MySqlStorageProvider(plugin, plugin.getConfig().getConfigurationSection("options.storage.database-settings")); - storageProvider.init(); this.plugin = plugin; + + String configuredProvider = plugin.getConfig().getString("options.storage.provider", "yaml"); + if (configuredProvider.equalsIgnoreCase("yaml")) { + this.storageProvider = new YamlStorageProvider(plugin); + } else if (configuredProvider.equalsIgnoreCase("mysql")) { + this.storageProvider = new MySqlStorageProvider(plugin, plugin.getConfig().getConfigurationSection("options.storage.database-settings")); + } else { + plugin.getQuestsLogger().warning("No valid storage provider is configured - Quests will use YAML storage as a default"); + this.storageProvider = new YamlStorageProvider(plugin); + } + storageProvider.init(); } private final Map qPlayers = new ConcurrentHashMap<>(); -- cgit v1.2.3-70-g09d2