From 52ded1a703d94a0354bb6b28ba6b4946e51dbf97 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Tue, 20 Feb 2024 11:39:40 +0100 Subject: Add expiry commands option --- .../leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java | 2 ++ .../quests/bukkit/questcontroller/NormalQuestController.java | 8 ++++++++ 2 files changed, 10 insertions(+) (limited to 'bukkit/src/main/java/com') 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 39146730..7c6a5be0 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 @@ -269,6 +269,7 @@ public class BukkitQuestsLoader implements QuestsLoader { List startString = config.getStringList("startstring"); List startCommands = config.getStringList("startcommands"); List cancelCommands = config.getStringList("cancelcommands"); + List expiryCommands = config.getStringList("expirycommands"); boolean repeatable = config.getBoolean("options.repeatable", false); boolean cooldown = config.getBoolean("options.cooldown.enabled", false); boolean timeLimit = config.getBoolean("options.time-limit.enabled", false); @@ -300,6 +301,7 @@ public class BukkitQuestsLoader implements QuestsLoader { .withStartString(startString) .withStartCommands(startCommands) .withCancelCommands(cancelCommands) + .withExpiryCommands(expiryCommands) .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 01cc2788..47f108b5 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 @@ -329,6 +329,14 @@ public class NormalQuestController implements QuestController { Bukkit.getPluginManager().callEvent(questCancelEvent); // PlayerCancelQuestEvent -- end Messages.send(questCancelEvent.getQuestExpireMessage(), player); + for (String s : quest.getExpiryCommands()) { + 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); + } + } } if (config.getBoolean("options.allow-quest-track") && config.getBoolean("options.quest-autotrack") -- cgit v1.2.3-70-g09d2