aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorLMBishop <13875753+LMBishop@users.noreply.github.com>2022-05-10 15:42:37 +0100
committerLMBishop <13875753+LMBishop@users.noreply.github.com>2022-05-10 15:42:37 +0100
commit075419c5e73ee2e134705fb373a1c7477bb7b514 (patch)
treebf753054ffc4ea59a883bb5f475ff4534d73a0f8 /bukkit/src/main/java
parent0f428e2f3588d631e13e2698e46499a3ffaf2196 (diff)
Move autostart check to start method (closes #390)
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java1
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java8
2 files changed, 4 insertions, 5 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java
index 39e22845..d948c9ec 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java
@@ -229,7 +229,6 @@ public class QuestQMenu implements QMenu {
QuestMenuElement questMenuElement = (QuestMenuElement) menuElement;
Quest quest = questMenuElement.getQuest();
if (event.getClick() == startClickType) {
- if (config.getBoolean("options.quest-autostart") || quest.isAutoStartEnabled()) return false;
if (owner.startQuest(quest) == QuestStartResult.QUEST_SUCCESS) {
event.getWhoClicked().closeInventory(); //TODO Option to keep the menu open
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
index c5f4ef7a..c37a6c63 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java
@@ -158,9 +158,6 @@ public class NormalQuestController implements QuestController {
if (!qPlayer.getQuestProgressFile().hasMetRequirements(quest)) {
return QuestStartResult.QUEST_LOCKED;
}
- if (questProgress.isStarted()) {
- return QuestStartResult.QUEST_ALREADY_STARTED;
- }
if (quest.isPermissionRequired()) {
if (p != null) {
if (!p.hasPermission("quests.quest." + quest.getId())) {
@@ -180,6 +177,9 @@ public class NormalQuestController implements QuestController {
return QuestStartResult.NO_PERMISSION_FOR_CATEGORY;
}
}
+ if (questProgress.isStarted() || quest.isAutoStartEnabled() || config.getBoolean("options.quest-autostart")) {
+ return QuestStartResult.QUEST_ALREADY_STARTED;
+ }
if (!config.getBoolean("options.quest-autostart")) {
Set<Quest> startedQuests = getStartedQuestsForPlayer(qPlayer);
int questLimitCount = 0;
@@ -277,7 +277,7 @@ public class NormalQuestController implements QuestController {
}
return false;
}
- if (!quest.isCancellable()) {
+ if (!quest.isCancellable() || quest.isAutoStartEnabled() || config.getBoolean("options.quest-autostart")) {
Messages.QUEST_CANCEL_NOTCANCELLABLE.send(player);
return false;
}