summaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2023-05-26 22:49:43 +0200
committerKrakenied <Krakenied1@gmail.com>2023-05-26 22:49:43 +0200
commit1880b7f192cbcbc990a6379e2b41dfeeb3272819 (patch)
treedc211f8035d78fc46ada85ff2195b32bea360655 /bukkit
parent9a227def10cdb071d1c5aa2e34eb734ab6f87d27 (diff)
Add exact match option to smelting task type
Diffstat (limited to 'bukkit')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java
index bc5c5a71..27a3ed6c 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmeltingTaskType.java
@@ -35,9 +35,10 @@ public final class SmeltingTaskType extends BukkitTaskType {
this.plugin = plugin;
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
+ super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
+ super.addConfigValidator(TaskUtils.useBooleanConfigValidator(this, "exact-match"));
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
- super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
super.addConfigValidator(TaskUtils.useAcceptedValuesConfigValidator(this, Arrays.asList(
"smoker",
"blast_furnace",
@@ -111,18 +112,19 @@ public final class SmeltingTaskType extends BukkitTaskType {
qi = fetchedItem;
}
- if (!qi.compareItemStack(item)) {
+ boolean exactMatch = TaskUtils.getConfigBoolean(task, "exact-match", true);
+ if (!qi.compareItemStack(item, exactMatch)) {
super.debug("Item does not match required item, continuing...", quest.getId(), task.getId(), player.getUniqueId());
continue;
}
}
- int amount = (int) task.getConfigValue("amount");
-
int progress = TaskUtils.getIntegerTaskProgress(taskProgress);
taskProgress.setProgress(progress + eventAmount);
super.debug("Updating task progress (now " + (progress + eventAmount) + ")", quest.getId(), task.getId(), player.getUniqueId());
+ int amount = (int) task.getConfigValue("amount");
+
if ((int) taskProgress.getProgress() >= amount) {
super.debug("Marking task as complete", quest.getId(), task.getId(), player.getUniqueId());
taskProgress.setProgress(amount);