diff options
Diffstat (limited to 'common/src/main/java')
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); + } |
