summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2023-03-21 16:56:30 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2023-04-02 12:20:10 +0100
commitb110eae48d68be6cc1957a201f776a8d535a8ff0 (patch)
tree9ef97510dbfb3aa748deea66134c2f109c285efe
parent97e4ae66a26bf86028c07148a1dff4ef3b7c50fb (diff)
Optimize TaskUtils#getApplicableTasks method
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java11
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;
}