diff options
| author | Krakenied <krakenied1@gmail.com> | 2025-07-20 17:05:45 +0200 |
|---|---|---|
| committer | Krakenied <46192742+Krakenied@users.noreply.github.com> | 2025-07-29 00:06:46 +0200 |
| commit | 6ae10141943803d662aecac402a15c2b7d0b453a (patch) | |
| tree | 8837cccc4781f633bdfcc6bbe5083444cf6a688e /bukkit/src/main | |
| parent | 009f4c86651a96ddd9dbfd0a18b11ae472adae0f (diff) | |
Add goal placeholder
Closes https://github.com/LMBishop/Quests/issues/788
Diffstat (limited to 'bukkit/src/main')
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/papi/QuestsPlaceholders.java | 8 | ||||
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java | 7 |
2 files changed, 14 insertions, 1 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/papi/QuestsPlaceholders.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/papi/QuestsPlaceholders.java index 3da9db44..f4a778ea 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/papi/QuestsPlaceholders.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/papi/QuestsPlaceholders.java @@ -11,6 +11,7 @@ import com.leonardobishop.quests.common.player.questprogressfile.QuestProgress; import com.leonardobishop.quests.common.player.questprogressfile.QuestProgressFile; import com.leonardobishop.quests.common.quest.Category; import com.leonardobishop.quests.common.quest.Quest; +import com.leonardobishop.quests.common.quest.Task; import me.clip.placeholderapi.expansion.Cacheable; import me.clip.placeholderapi.expansion.PlaceholderExpansion; import org.bukkit.entity.Player; @@ -76,7 +77,7 @@ public class QuestsPlaceholders extends PlaceholderExpansion implements Cacheabl if (qPlayer == null) return Messages.PLACEHOLDERAPI_DATA_NOT_LOADED.getMessageLegacyColor(); String split = args[args.length - 1]; - String result = "null"; + String result; if (!args[0].contains(":") && !args[0].equalsIgnoreCase("tracked")) { if (args.length > 1 && split.equals(args[1])) split = ","; @@ -233,6 +234,11 @@ public class QuestsPlaceholders extends PlaceholderExpansion implements Cacheabl case "c": result = String.valueOf(questProgress.getTaskProgress(t[1]).isCompleted() ? Messages.PLACEHOLDERAPI_TRUE.getMessageLegacyColor() : Messages.PLACEHOLDERAPI_FALSE.getMessageLegacyColor()); break; + case "goal": + case "g": + final Task task = quest.getTaskById(t[1]); + result = (task != null ? String.valueOf(plugin.getTaskTypeManager().getTaskType(task.getType()).getGoal(task)) : "0"); + break; default: return args[0] + "_" + args[1] + "_" + args[2] + " is not a valid placeholder"; } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java index 3ca75a16..ea6cb339 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/PlaytimeTaskType.java @@ -14,6 +14,8 @@ import com.leonardobishop.quests.common.quest.Quest; import com.leonardobishop.quests.common.quest.Task; import org.bukkit.Bukkit; import org.bukkit.entity.Player; +import org.jspecify.annotations.NonNull; +import org.jspecify.annotations.Nullable; public final class PlaytimeTaskType extends BukkitTaskType { @@ -104,4 +106,9 @@ public final class PlaytimeTaskType extends BukkitTaskType { // this.poll.cancel(); // } } + + @Override + public @Nullable Object getGoal(final @NonNull Task task) { + return task.getConfigValue("minutes"); + } } |
