From 075419c5e73ee2e134705fb373a1c7477bb7b514 Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Tue, 10 May 2022 15:42:37 +0100 Subject: Move autostart check to start method (closes #390) --- .../java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java | 1 - .../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 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; } -- cgit v1.2.3-70-g09d2