aboutsummaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/leonardobishop/quests/player/QPlayerManager.java13
1 files changed, 11 insertions, 2 deletions
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<UUID, QPlayer> qPlayers = new ConcurrentHashMap<>();