diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2022-04-22 20:19:18 +0100 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2022-04-22 20:19:18 +0100 |
| commit | 894f1c2ed9356556954889f82c0a473354f83808 (patch) | |
| tree | 8ca8a47de37e2ebc7dfe33e5cce68ce423c1e13e /common/src | |
| parent | 43e647990b611205676bb42623a3814a904fe0e8 (diff) | |
Add quests data migration tool
Diffstat (limited to 'common/src')
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); + } |
