summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/QuestQMenu.java5
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/StartedQMenu.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java12
-rw-r--r--bukkit/src/main/resources/resources/bukkit/config.yml2
4 files changed, 15 insertions, 7 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 2bd15d6c..74b694b9 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,11 +229,10 @@ public class QuestQMenu implements QMenu {
event.getWhoClicked().closeInventory(); //TODO Option to keep the menu open
}
return true;
- } else if (event.getClick() == ClickType.MIDDLE && config.getBoolean("options.quest-autostart")) {
+ } else if (event.getClick() == ClickType.MIDDLE) {
MenuUtils.handleMiddleClick(plugin, this, quest, Bukkit.getPlayer(owner.getPlayerUUID()), controller);
return true;
- } else if (event.getClick() == ClickType.RIGHT && config.getBoolean("options.allow-quest-cancel")
- && owner.hasStartedQuest(quest)) {
+ } else if (event.getClick() == ClickType.RIGHT) {
MenuUtils.handleRightClick(plugin, this, quest, Bukkit.getPlayer(owner.getPlayerUUID()), controller);
return true;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/StartedQMenu.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/StartedQMenu.java
index 8646a91a..66ef4744 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/StartedQMenu.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/menu/StartedQMenu.java
@@ -167,8 +167,7 @@ public class StartedQMenu implements QMenu {
if (event.getClick() == ClickType.MIDDLE && config.getBoolean("options.allow-quest-track")) {
MenuUtils.handleMiddleClick(plugin, this, quest, Bukkit.getPlayer(owner.getPlayerUUID()), controller);
return true;
- } else if (event.getClick() == ClickType.RIGHT && config.getBoolean("options.allow-quest-cancel")
- && owner.hasStartedQuest(quest)) {
+ } else if (event.getClick() == ClickType.RIGHT) {
MenuUtils.handleRightClick(plugin, this, quest, Bukkit.getPlayer(owner.getPlayerUUID()), controller);
return true;
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java
index f020564b..8ddf8493 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/MenuUtils.java
@@ -52,6 +52,8 @@ public class MenuUtils {
public static void handleMiddleClick(BukkitQuestsPlugin plugin, QMenu menu, Quest quest, Player player, MenuController controller) {
if (menu.getOwner().hasStartedQuest(quest)) {
+ if (!plugin.getQuestsConfig().getBoolean("options.allow-quest-track")) return;
+
String tracked = menu.getOwner().getPlayerPreferences().getTrackedQuestId();
if (quest.getId().equals(tracked)) {
@@ -66,8 +68,14 @@ public class MenuUtils {
public static void handleRightClick(BukkitQuestsPlugin plugin, QMenu menu, Quest quest, Player player, MenuController controller) {
if (menu.getOwner().hasStartedQuest(quest)) {
if (!plugin.getQuestsConfig().getBoolean("options.allow-quest-cancel")) return;
- CancelQMenu cancelQMenu = new CancelQMenu(plugin, menu, menu.getOwner(), quest);
- controller.openMenu(player, cancelQMenu, 1);
+ if (plugin.getQuestsConfig().getBoolean("options.gui-confirm-cancel", true)) {
+ CancelQMenu cancelQMenu = new CancelQMenu(plugin, menu, menu.getOwner(), quest);
+ controller.openMenu(player, cancelQMenu, 1);
+ } else {
+ if (menu.getOwner().cancelQuest(quest)) {
+ player.closeInventory();
+ }
+ }
}
}
diff --git a/bukkit/src/main/resources/resources/bukkit/config.yml b/bukkit/src/main/resources/resources/bukkit/config.yml
index bc7cd0f9..a97e4afd 100644
--- a/bukkit/src/main/resources/resources/bukkit/config.yml
+++ b/bukkit/src/main/resources/resources/bukkit/config.yml
@@ -209,6 +209,8 @@ options:
show-quest-registrations: true
# Hide locked quests, quests on cooldown and completed (but not repeatable) quests
gui-hide-locked: false
+ # Confirm quest cancellation with a separate menu
+ gui-confirm-cancel: true
# Hide quests which a player cannot start due to permissions.
gui-hide-quests-nopermission: false
# Hide categories which a player cannot open due to permissions.