aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/me/fatpigsarefat/quests/player
diff options
context:
space:
mode:
authorfatpigsarefat <fatpigsarefat@outlook.com>2018-09-23 16:19:39 +0100
committerfatpigsarefat <fatpigsarefat@outlook.com>2018-09-23 16:19:39 +0100
commitbcbb43392cd45e03a68bc581396fc5bbac691080 (patch)
treebc50f659a8aafc0164e2746109a160d53b0201fe /src/main/java/me/fatpigsarefat/quests/player
parentf772b2eec8e41876a140832d1101a21dcc130e01 (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.java29
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);