From b110eae48d68be6cc1957a201f776a8d535a8ff0 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Tue, 21 Mar 2023 16:56:30 +0100 Subject: Optimize TaskUtils#getApplicableTasks method --- .../java/com/leonardobishop/quests/bukkit/util/TaskUtils.java | 11 ++++------- 1 file 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 getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, TaskConstraint... constraints) { List tasks = new ArrayList<>(); - List 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; } -- cgit v1.2.3-70-g09d2