summaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2023-10-11 12:09:07 +0200
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2023-11-26 12:59:38 +0000
commit9aa600d33ef7537b472a552601a3b8204ce8a07d (patch)
tree6a0f24471aa93a306462c024bf6e1f48cfe25d8d /bukkit/src/main/java
parent3f2261869686c0c65203a974e1b32c73cb054296 (diff)
Add cancel commands
Partially closes https://github.com/LMBishop/Quests/issues/558
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/questcontroller/NormalQuestController.java8
2 files changed, 10 insertions, 0 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
index 4ae992c9..5160ee73 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
@@ -267,6 +267,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
List<String> rewardString = config.getStringList("rewardstring");
List<String> startString = config.getStringList("startstring");
List<String> startCommands = config.getStringList("startcommands");
+ List<String> cancelCommands = config.getStringList("cancelcommands");
boolean repeatable = config.getBoolean("options.repeatable", false);
boolean cooldown = config.getBoolean("options.cooldown.enabled", false);
boolean timeLimit = config.getBoolean("options.time-limit.enabled", false);
@@ -297,6 +298,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
.withRewardString(rewardString)
.withStartString(startString)
.withStartCommands(startCommands)
+ .withCancelCommands(cancelCommands)
.withPlaceholders(placeholders)
.withProgressPlaceholders(progressPlaceholders)
.withCooldown(cooldownTime)
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 56b37f9a..01cc2788 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
@@ -294,6 +294,14 @@ public class NormalQuestController implements QuestController {
Bukkit.getPluginManager().callEvent(questCancelEvent);
// PlayerCancelQuestEvent -- end
Messages.send(questCancelEvent.getQuestCancelMessage(), player);
+ for (String s : quest.getCancelCommands()) {
+ s = s.replace("{player}", player.getName());
+ if (plugin.getConfig().getBoolean("options.quests-use-placeholderapi")) {
+ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), plugin.getPlaceholderAPIProcessor().apply(player, s));
+ } else {
+ Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), s);
+ }
+ }
SoundUtils.playSoundForPlayer(player, plugin.getQuestsConfig().getString("options.sounds.quest-cancel"));
}
if (config.getBoolean("options.allow-quest-track")