diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2022-05-10 15:42:37 +0100 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2022-05-10 15:42:37 +0100 |
| commit | 075419c5e73ee2e134705fb373a1c7477bb7b514 (patch) | |
| tree | bf753054ffc4ea59a883bb5f475ff4534d73a0f8 | |
| parent | 0f428e2f3588d631e13e2698e46499a3ffaf2196 (diff) | |
Move autostart check to start method (closes #390)
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java | 1 | ||||
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java | 8 |
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; } |
