diff options
| author | Krakenied <Krakenied1@gmail.com> | 2023-03-21 16:56:30 +0100 |
|---|---|---|
| committer | Leonardo Bishop <13875753+LMBishop@users.noreply.github.com> | 2023-04-02 12:20:10 +0100 |
| commit | b110eae48d68be6cc1957a201f776a8d535a8ff0 (patch) | |
| tree | 9ef97510dbfb3aa748deea66134c2f109c285efe /bukkit/src/main/java/com | |
| parent | 97e4ae66a26bf86028c07148a1dff4ef3b7c50fb (diff) | |
Optimize TaskUtils#getApplicableTasks method
Diffstat (limited to 'bukkit/src/main/java/com')
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java index 92b303a7..52f967f0 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java @@ -12,6 +12,7 @@ import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; import com.leonardobishop.quests.common.quest.Task; import com.leonardobishop.quests.common.tasktype.TaskType; +import org.apache.commons.lang3.ArrayUtils; import org.bukkit.DyeColor; import org.bukkit.Material; import org.bukkit.block.Block; @@ -23,7 +24,6 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.material.Colorable; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.UUID; @@ -145,21 +145,18 @@ public class TaskUtils { public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, TaskConstraint... constraints) { List<PendingTask> tasks = new ArrayList<>(); - List<TaskConstraint> taskConstraints = Arrays.asList(constraints); + boolean containsWorldConstraint = ArrayUtils.contains(constraints, TaskConstraint.WORLD); for (Quest quest : type.getRegisteredQuests()) { if (qPlayer.hasStartedQuest(quest)) { QuestProgress questProgress = qPlayer.getQuestProgressFile().getQuestProgress(quest); for (Task task : quest.getTasksOfType(type.getType())) { - if (taskConstraints.contains(TaskConstraint.WORLD)) { - if (!TaskUtils.validateWorld(player, task)) { - continue; - } + if (containsWorldConstraint && !TaskUtils.validateWorld(player, task)) { + continue; } TaskProgress taskProgress = questProgress.getTaskProgress(task.getId()); - if (taskProgress.isCompleted()) { continue; } |
