diff options
| author | fatpigsarefat <fatpigsarefat@outlook.com> | 2018-09-23 16:19:39 +0100 |
|---|---|---|
| committer | fatpigsarefat <fatpigsarefat@outlook.com> | 2018-09-23 16:19:39 +0100 |
| commit | bcbb43392cd45e03a68bc581396fc5bbac691080 (patch) | |
| tree | bc50f659a8aafc0164e2746109a160d53b0201fe /src/main/java/me/fatpigsarefat/quests/player | |
| parent | f772b2eec8e41876a140832d1101a21dcc130e01 (diff) | |
Players can no longer start already started quests
- When clicking a quest a player has already started, it would reset
- Default messages added to config.yml
- New response code from the startQuest method (5)
Diffstat (limited to 'src/main/java/me/fatpigsarefat/quests/player')
| -rw-r--r-- | src/main/java/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/src/main/java/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java b/src/main/java/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java index 144093e6..f69ac257 100644 --- a/src/main/java/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java +++ b/src/main/java/me/fatpigsarefat/quests/player/questprogressfile/QuestProgressFile.java @@ -56,39 +56,42 @@ public class QuestProgressFile { * Start a quest for the player. * * @param quest the quest to check - * @return 0 if successful, 1 if limit reached, 2 if quest is already completed, 3 if quest has cooldown, 4 if still locked + * @return 0 if successful, 1 if limit reached, 2 if quest is already completed, 3 if quest has cooldown, 4 if still locked, 5 if already started */ public int startQuest(Quest quest) { + Player p = Bukkit.getPlayer(player); if (getStartedQuests().size() >= Options.QUESTS_START_LIMIT.getIntValue()) { - if (Bukkit.getPlayer(player) != null) { - Player player = Bukkit.getPlayer(getPlayer()); - player.sendMessage(Messages.QUEST_START_LIMIT.getMessage().replace("{limit}", String.valueOf(Options.QUESTS_START_LIMIT.getIntValue()))); + if (player != null) { + p.sendMessage(Messages.QUEST_START_LIMIT.getMessage().replace("{limit}", String.valueOf(Options.QUESTS_START_LIMIT.getIntValue()))); } return 1; } QuestProgress questProgress = getQuestProgress(quest); if (!quest.isRepeatable() && questProgress.isCompletedBefore()) { - if (Bukkit.getPlayer(player) != null) { - Player player = Bukkit.getPlayer(getPlayer()); - player.sendMessage(Messages.QUEST_START_DISABLED.getMessage()); + if (player != null) { + p.sendMessage(Messages.QUEST_START_DISABLED.getMessage()); } return 2; } long cooldown = getCooldownFor(quest); if (cooldown > 0) { - if (Bukkit.getPlayer(player) != null) { - Player player = Bukkit.getPlayer(getPlayer()); - player.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(Quests.convertToFormat(TimeUnit.MINUTES.convert(cooldown, TimeUnit.MILLISECONDS))))); + if (player != null) { + p.sendMessage(Messages.QUEST_START_COOLDOWN.getMessage().replace("{time}", String.valueOf(Quests.convertToFormat(TimeUnit.MINUTES.convert(cooldown, TimeUnit.MILLISECONDS))))); } return 3; } if (!hasMetRequirements(quest)) { - if (Bukkit.getPlayer(player) != null) { - Player player = Bukkit.getPlayer(getPlayer()); - player.sendMessage(Messages.QUEST_START_LOCKED.getMessage()); + if (player != null) { + p.sendMessage(Messages.QUEST_START_LOCKED.getMessage()); } return 4; } + if (!questProgress.isStarted()) { + if (player != null) { + p.sendMessage(Messages.QUEST_START_STARTED.getMessage()); + } + return 5; + } questProgress.setStarted(true); for (TaskProgress taskProgress : questProgress.getTaskProgress()) { taskProgress.setCompleted(false); |
