Skip to content

Commit 9243984

Browse files
committed
Replace TaskConstraintSet with EnumSet implementation
Add constraint set to some task types: - enchanting - essentials_moneyearn - expearn - NPC interact task types - playerpoints_earn
1 parent 95ccfdf commit 9243984

File tree

8 files changed

+21
-42
lines changed

8 files changed

+21
-42
lines changed

bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/EnchantingTaskType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.leonardobishop.quests.bukkit.item.QuestItem;
55
import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
66
import com.leonardobishop.quests.bukkit.util.TaskUtils;
7+
import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
78
import com.leonardobishop.quests.common.player.QPlayer;
89
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
910
import com.leonardobishop.quests.common.quest.Quest;
@@ -42,7 +43,7 @@ public void onEnchant(EnchantItemEvent e) {
4243
return;
4344
}
4445

45-
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) {
46+
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
4647
Quest quest = pendingTask.quest();
4748
Task task = pendingTask.task();
4849
TaskProgress taskProgress = pendingTask.taskProgress();

bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ExpEarnTaskType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
44
import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
55
import com.leonardobishop.quests.bukkit.util.TaskUtils;
6+
import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
67
import com.leonardobishop.quests.common.player.QPlayer;
78
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
89
import com.leonardobishop.quests.common.quest.Quest;
@@ -35,7 +36,7 @@ public void onExpEarn(PlayerExpChangeEvent e) {
3536
return;
3637
}
3738

38-
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) {
39+
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
3940
Quest quest = pendingTask.quest();
4041
Task task = pendingTask.task();
4142
TaskProgress taskProgress = pendingTask.taskProgress();

bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/EssentialsMoneyEarnTaskType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
44
import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
55
import com.leonardobishop.quests.bukkit.util.TaskUtils;
6+
import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
67
import com.leonardobishop.quests.common.player.QPlayer;
78
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
89
import com.leonardobishop.quests.common.quest.Quest;
@@ -38,7 +39,7 @@ public void onUserBalanceUpdate(UserBalanceUpdateEvent event) {
3839
return;
3940
}
4041

41-
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) {
42+
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
4243
Quest quest = pendingTask.quest();
4344
Task task = pendingTask.task();
4445
TaskProgress taskProgress = pendingTask.taskProgress();

bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/InteractTaskType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
55
import com.leonardobishop.quests.bukkit.util.TaskUtils;
66
import com.leonardobishop.quests.bukkit.util.chat.Chat;
7+
import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
78
import com.leonardobishop.quests.common.config.ConfigProblem;
89
import com.leonardobishop.quests.common.player.QPlayer;
910
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
@@ -40,7 +41,7 @@ public void handle(Player player, T npcId, String npcName, BukkitQuestsPlugin pl
4041

4142
boolean nameCorrected = false;
4243

43-
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) {
44+
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
4445
Quest quest = pendingTask.quest();
4546
Task task = pendingTask.task();
4647
TaskProgress taskProgress = pendingTask.taskProgress();

bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/dependent/PlayerPointsEarnTaskType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.leonardobishop.quests.bukkit.BukkitQuestsPlugin;
44
import com.leonardobishop.quests.bukkit.tasktype.BukkitTaskType;
55
import com.leonardobishop.quests.bukkit.util.TaskUtils;
6+
import com.leonardobishop.quests.bukkit.util.constraint.TaskConstraintSet;
67
import com.leonardobishop.quests.common.player.QPlayer;
78
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
89
import com.leonardobishop.quests.common.quest.Quest;
@@ -42,7 +43,7 @@ public void onPlayerPointsChange(PlayerPointsChangeEvent event) {
4243
return;
4344
}
4445

45-
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this)) {
46+
for (TaskUtils.PendingTask pendingTask : TaskUtils.getApplicableTasks(player, qPlayer, this, TaskConstraintSet.ALL)) {
4647
Quest quest = pendingTask.quest();
4748
Task task = pendingTask.task();
4849
TaskProgress taskProgress = pendingTask.taskProgress();

bukkit/src/main/java/com/leonardobishop/quests/bukkit/util/TaskUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import java.lang.reflect.Method;
4040
import java.util.ArrayList;
4141
import java.util.Collection;
42+
import java.util.EnumSet;
4243
import java.util.List;
4344
import java.util.UUID;
4445
import java.util.function.Supplier;
@@ -273,7 +274,7 @@ public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlaye
273274
return getApplicableTasks(player, qPlayer, type, TaskConstraintSet.NONE);
274275
}
275276

276-
public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, TaskConstraintSet constraintSet) {
277+
public static List<PendingTask> getApplicableTasks(Player player, QPlayer qPlayer, TaskType type, EnumSet<TaskConstraint> constraintSet) {
277278
List<PendingTask> tasks = new ArrayList<>();
278279

279280
// Cache it as getting it requires some complex math
Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,7 @@
11
package com.leonardobishop.quests.bukkit.util.constraint;
22

33
public enum TaskConstraint {
4-
WORLD(0b00000001),
5-
BIOME(0x00000010);
6-
7-
private final int value;
8-
9-
TaskConstraint(final int value) {
10-
this.value = value;
11-
}
12-
13-
public int getValue() {
14-
return this.value;
15-
}
4+
WORLD,
5+
BIOME,
6+
REGION
167
}
Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,12 @@
11
package com.leonardobishop.quests.bukkit.util.constraint;
22

3-
import org.jetbrains.annotations.NotNull;
3+
import org.jspecify.annotations.NullMarked;
44

5-
public final class TaskConstraintSet {
6-
7-
public static final TaskConstraintSet ALL = new TaskConstraintSet(TaskConstraint.values());
8-
public static final TaskConstraintSet NONE = new TaskConstraintSet();
9-
private final int rawValue;
10-
11-
public TaskConstraintSet(final @NotNull TaskConstraint... constraints) {
12-
int rawValue = 0;
13-
for (final TaskConstraint constraint : constraints) {
14-
rawValue |= constraint.getValue();
15-
}
16-
this.rawValue = rawValue;
17-
}
5+
import java.util.EnumSet;
186

19-
public TaskConstraintSet(final @NotNull TaskConstraint constraint) {
20-
this.rawValue = constraint.getValue();
21-
}
22-
23-
public TaskConstraintSet(final int rawValue) {
24-
this.rawValue = rawValue;
25-
}
7+
@NullMarked
8+
public final class TaskConstraintSet {
269

27-
public boolean contains(final @NotNull TaskConstraint constraint) {
28-
return (this.rawValue & constraint.getValue()) != 0;
29-
}
10+
public static final EnumSet<TaskConstraint> ALL = EnumSet.allOf(TaskConstraint.class);
11+
public static final EnumSet<TaskConstraint> NONE = EnumSet.noneOf(TaskConstraint.class);
3012
}

0 commit comments

Comments
 (0)