diff options
| author | fatpigsarefat <fatpigsarefat@outlook.com> | 2018-04-22 17:04:25 +0100 |
|---|---|---|
| committer | fatpigsarefat <fatpigsarefat@outlook.com> | 2018-04-22 17:04:25 +0100 |
| commit | b8fd9ba3ee94c36fd5c4cb5e663fb535871aa2f0 (patch) | |
| tree | 1835c547992ecbadbbb93f414b30d253533c69ec /src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java | |
| parent | 43ea3f3571c7c7f4bf2d178aebe80f5de6831803 (diff) | |
Changed from using lists to map
Diffstat (limited to 'src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java')
| -rw-r--r-- | src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java b/src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java index bfc80ad3..d809201c 100644 --- a/src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java +++ b/src/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java @@ -12,14 +12,12 @@ import org.bukkit.entity.Player; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; import java.util.concurrent.TimeUnit; public class QuestProgressFile { - private List<QuestProgress> questProgress = new ArrayList<>(); + private Map<String, QuestProgress> questProgress = new HashMap<>(); private UUID player; public QuestProgressFile(UUID player) { @@ -102,12 +100,12 @@ public class QuestProgressFile { } public void addQuestProgress(QuestProgress questProgress) { - this.questProgress.add(questProgress); + this.questProgress.put(questProgress.getQuestId(), questProgress); } public List<Quest> getStartedQuests() { List<Quest> startedQuests = new ArrayList<>(); - for (QuestProgress questProgress : questProgress) { + for (QuestProgress questProgress : questProgress.values()) { if (questProgress.isStarted()) { startedQuests.add(Quests.getQuestManager().getQuestById(questProgress.getQuestId())); } @@ -116,12 +114,7 @@ public class QuestProgressFile { } public boolean hasQuestProgress(Quest quest) { - for (QuestProgress questProgress : this.questProgress) { - if (questProgress.getQuestId().equals(quest.getId())) { - return true; - } - } - return false; + return questProgress.containsKey(quest.getId()); } public boolean hasStartedQuest(Quest quest) { @@ -165,12 +158,9 @@ public class QuestProgressFile { } public QuestProgress getQuestProgress(Quest quest) { - for (QuestProgress questProgress : this.questProgress) { - if (questProgress.getQuestId().equals(quest.getId())) { - return questProgress; - } - } - if (generateBlankQuestProgress(quest.getId())) { + if (questProgress.containsKey(quest.getId())) { + return questProgress.get(quest.getId()); + } else if (generateBlankQuestProgress(quest.getId())) { return getQuestProgress(quest); } return null; @@ -185,7 +175,7 @@ public class QuestProgressFile { questProgress.addTaskProgress(taskProgress); } - this.questProgress.add(questProgress); + addQuestProgress(questProgress); return true; } return false; @@ -207,7 +197,7 @@ public class QuestProgressFile { YamlConfiguration data = YamlConfiguration.loadConfiguration(file); data.set("quest-progress", null); - for (QuestProgress questProgress : this.questProgress) { + for (QuestProgress questProgress : questProgress.values()) { if (!questProgress.isWorthSaving()) { continue; } |
