summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2022-04-22 20:19:18 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2022-04-22 20:19:18 +0100
commit894f1c2ed9356556954889f82c0a473354f83808 (patch)
tree8ca8a47de37e2ebc7dfe33e5cce68ce423c1e13e /common
parent43e647990b611205676bb42623a3814a904fe0e8 (diff)
Add quests data migration tool
Diffstat (limited to 'common')
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgress.java7
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgressFile.java6
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/TaskProgress.java4
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/storage/StorageProvider.java18
4 files changed, 35 insertions, 0 deletions
diff --git a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgress.java b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgress.java
index 06d8a91d..8ba0ec69 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgress.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgress.java
@@ -150,4 +150,11 @@ public class QuestProgress {
progress.resetModified();
}
}
+
+ public void setModified(boolean modified) {
+ this.modified = modified;
+ for (TaskProgress progress : this.taskProgress.values()) {
+ progress.setModified(modified);
+ }
+ }
}
diff --git a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgressFile.java b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgressFile.java
index 40d80509..f4cc560e 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgressFile.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/QuestProgressFile.java
@@ -273,4 +273,10 @@ public class QuestProgressFile {
}
}
+ public void setModified(boolean modified) {
+ for (QuestProgress questProgress : questProgress.values()) {
+ questProgress.setModified(modified);
+ }
+ }
+
}
diff --git a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/TaskProgress.java b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/TaskProgress.java
index e55df9e2..c0d9c786 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/TaskProgress.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/player/questprogressfile/TaskProgress.java
@@ -71,4 +71,8 @@ public class TaskProgress {
public void resetModified() {
this.modified = false;
}
+
+ public void setModified(boolean modified) {
+ this.modified = modified;
+ }
}
diff --git a/common/src/main/java/com/leonardobishop/quests/common/storage/StorageProvider.java b/common/src/main/java/com/leonardobishop/quests/common/storage/StorageProvider.java
index bd558c4e..8eaaf181 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/storage/StorageProvider.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/storage/StorageProvider.java
@@ -4,6 +4,7 @@ import com.leonardobishop.quests.common.player.questprogressfile.QuestProgressFi
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.util.List;
import java.util.UUID;
/**
@@ -12,6 +13,8 @@ import java.util.UUID;
*/
public interface StorageProvider {
+ String getName();
+
void init();
void shutdown();
@@ -26,9 +29,24 @@ public interface StorageProvider {
/**
* Save a QuestProgressFile to the data source with a specific UUID
+ *
* @param uuid the uuid to match the file to
* @param questProgressFile the file to save
*/
void saveProgressFile(@NotNull UUID uuid, @NotNull QuestProgressFile questProgressFile);
+ /**
+ * Load all QuestProgressFiles
+ *
+ * @return {@link List<QuestProgressFile>}
+ */
+ @NotNull List<QuestProgressFile> loadAllProgressFiles();
+
+ /**
+ * Save a list of QuestProgressFiles
+ *
+ * @param files the list of QuestProgressFile to save
+ **/
+ void saveAllProgressFiles(List<QuestProgressFile> files);
+
}