diff options
| author | Krakenied <krakenied1@gmail.com> | 2026-01-21 12:21:02 +0100 |
|---|---|---|
| committer | Krakenied <krakenied1@gmail.com> | 2026-01-21 12:23:31 +0100 |
| commit | 4f25d8cfc11b7ab70e02ccd73ec4db3648253523 (patch) | |
| tree | cc84a9b78ea3a17ea5b3dc4a431a465c83e23068 /bukkit/src | |
| parent | 95ccfdfc14e21b6dba09b64766825043a6053fc1 (diff) | |
Replace TaskConstraintSet with EnumSet implementationimprovement/task-constraint-set
Add constraint set to some task types:
- enchanting
- essentials_moneyearn
- expearn
- NPC interact task types
- playerpoints_earn
Diffstat (limited to 'bukkit/src')
8 files changed, 20 insertions, 42 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java index cc380c83..7906f23a 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java @@ -4,6 +4,7 @@ import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.item.QuestItem; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; @@ -42,7 +43,7 @@ public final class EnchantingTaskType extends BukkitTaskType { return; } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java index b8ae4a1c..92a237d4 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java @@ -3,6 +3,7 @@ package com.leonardobishop.quests.bukkit.tasktype.type; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; @@ -35,7 +36,7 @@ public final class ExpEarnTaskType extends BukkitTaskType { return; } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java index ff809a65..ea55c434 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java @@ -3,6 +3,7 @@ package com.leonardobishop.quests.bukkit.tasktype.type.dependent; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; @@ -38,7 +39,7 @@ public final class EssentialsMoneyEarnTaskType extends BukkitTaskType { return; } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/InteractTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/InteractTaskType.java index 5fa7856c..d9cbb626 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/InteractTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/InteractTaskType.java @@ -4,6 +4,7 @@ import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; import com.leonardobishop.quests.bukkit.util.chat.Chat; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; import com.leonardobishop.quests.common.config.ConfigProblem; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; @@ -40,7 +41,7 @@ public abstract class InteractTaskType<T> extends BukkitTaskType { boolean nameCorrected = false; - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java index bff1b181..8f0c6760 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java @@ -3,6 +3,7 @@ package com.leonardobishop.quests.bukkit.tasktype.type.dependent; import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin; import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType; import com.leonardobishop.quests.bukkit.util.TaskUtils; +import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet; import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; @@ -42,7 +43,7 @@ public final class PlayerPointsEarnTaskType extends BukkitTaskType { return; } - for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) { + for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) { Quest quest = pendingTask.quest(); Task task = pendingTask.task(); TaskProgress taskProgress = pendingTask.taskProgress(); 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 4feb2628..6e3fb05a 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 @@ -39,6 +39,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; +import java.util.EnumSet; import java.util.List; import java.util.UUID; import java.util.function.Supplier; @@ -273,7 +274,7 @@ public class TaskUtils { return getApplicableTasks(player, qPlayer, type, TaskConstraintSet.NONE); } - public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, TaskConstraintSet constraintSet) { + public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, EnumSet<TaskConstraint> constraintSet) { List<PendingTask> tasks = new ArrayList<>(); // Cache it as getting it requires some complex math diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraint.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraint.java index bfc70518..dc65c65d 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraint.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraint.java @@ -1,16 +1,6 @@ package com.leonardobishop.quests.bukkit.util.constraint; public enum TaskConstraint { - WORLD(0b00000001), - BIOME(0x00000010); - - private final int value; - - TaskConstraint(final int value) { - this.value = value; - } - - public int getValue() { - return this.value; - } + WORLD, + BIOME } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraintSet.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraintSet.java index 6855aa93..8c41b257 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraintSet.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/constraint/TaskConstraintSet.java @@ -1,30 +1,12 @@ package com.leonardobishop.quests.bukkit.util.constraint; -import org.jetbrains.annotations.NotNull; +import org.jspecify.annotations.NullMarked; -public final class TaskConstraintSet { - - public static final TaskConstraintSet ALL = new TaskConstraintSet(TaskConstraint.values()); - public static final TaskConstraintSet NONE = new TaskConstraintSet(); - private final int rawValue; - - public TaskConstraintSet(final @NotNull TaskConstraint... constraints) { - int rawValue = 0; - for (final TaskConstraint constraint : constraints) { - rawValue |= constraint.getValue(); - } - this.rawValue = rawValue; - } +import java.util.EnumSet; - public TaskConstraintSet(final @NotNull TaskConstraint constraint) { - this.rawValue = constraint.getValue(); - } - - public TaskConstraintSet(final int rawValue) { - this.rawValue = rawValue; - } +@NullMarked +public final class TaskConstraintSet { - public boolean contains(final @NotNull TaskConstraint constraint) { - return (this.rawValue & constraint.getValue()) != 0; - } + public static final EnumSet<TaskConstraint> ALL = EnumSet.allOf(TaskConstraint.class); + public static final EnumSet<TaskConstraint> NONE = EnumSet.noneOf(TaskConstraint.class); } |
