aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2024-02-20 11:15:12 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2024-02-22 16:34:10 +0000
commit46501dd3efbbbfe7ce99740a082bf6f326713a7f (patch)
tree46336540df10368cba5f280b04d8a20d12f568a8
parentf92fc76f489c5edcc30582ac5e853ede6d812773 (diff)
Make the item option in composting, consume, crafting and smithing optional
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CompostingTaskType.java25
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java25
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java25
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java25
4 files changed, 52 insertions, 48 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CompostingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CompostingTaskType.java
index 60b91da6..39e0a857 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CompostingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CompostingTaskType.java
@@ -29,7 +29,6 @@ public final class CompostingTaskType extends BukkitTaskType {
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
- super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
super.addConfigValidator(TaskUtils.useBooleanConfigValidator(this, "exact-match"));
@@ -58,19 +57,21 @@ public final class CompostingTaskType extends BukkitTaskType {
Task task = pendingTask.task();
TaskProgress taskProgress = pendingTask.taskProgress();
- QuestItem qi;
- if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
- QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
- fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
- qi = fetchedItem;
- }
+ if (task.hasConfigKey("item")) {
+ QuestItem qi;
+ if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
+ QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
+ fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
+ qi = fetchedItem;
+ }
- super.debug("Player composted item of type " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
+ super.debug("Player composted item of type " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
- 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;
+ 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 progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java
index f7e3ee20..b0fcd213 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/ConsumeTaskType.java
@@ -28,7 +28,6 @@ public final class ConsumeTaskType extends BukkitTaskType {
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
- super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
super.addConfigValidator(TaskUtils.useBooleanConfigValidator(this, "exact-match"));
@@ -58,19 +57,21 @@ public final class ConsumeTaskType extends BukkitTaskType {
Task task = pendingTask.task();
TaskProgress taskProgress = pendingTask.taskProgress();
- QuestItem qi;
- if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
- QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
- fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
- qi = fetchedItem;
- }
+ if (task.hasConfigKey("item")) {
+ QuestItem qi;
+ if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
+ QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
+ fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
+ qi = fetchedItem;
+ }
- super.debug("Player consumed item of type " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
+ super.debug("Player consumed item of type " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
- 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;
+ 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 progress = TaskUtils.incrementIntegerTaskProgress(taskProgress);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java
index 2ce477ce..332d2e4c 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/CraftingTaskType.java
@@ -31,7 +31,6 @@ public final class CraftingTaskType extends BukkitTaskType {
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
- super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
super.addConfigValidator(TaskUtils.useBooleanConfigValidator(this, "exact-match"));
@@ -87,19 +86,21 @@ public final class CraftingTaskType extends BukkitTaskType {
Task task = pendingTask.task();
TaskProgress taskProgress = pendingTask.taskProgress();
- QuestItem qi;
- if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
- QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
- fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
- qi = fetchedItem;
- }
+ if (task.hasConfigKey("item")) {
+ QuestItem qi;
+ if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
+ QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
+ fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
+ qi = fetchedItem;
+ }
- super.debug("Player crafted " + eventAmount + " of " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
+ super.debug("Player crafted " + eventAmount + " of " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
- boolean exactMatch = TaskUtils.getConfigBoolean(task, "exact-match", true);
- if (!qi.compareItemStack(item, exactMatch)) {
- super.debug("Item does not match, continuing...", quest.getId(), task.getId(), player.getUniqueId());
- continue;
+ boolean exactMatch = TaskUtils.getConfigBoolean(task, "exact-match", true);
+ if (!qi.compareItemStack(item, exactMatch)) {
+ super.debug("Item does not match, continuing...", quest.getId(), task.getId(), player.getUniqueId());
+ continue;
+ }
}
int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress, eventAmount);
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java
index 7fdac494..d154b45e 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/SmithingTaskType.java
@@ -33,7 +33,6 @@ public final class SmithingTaskType extends BukkitTaskType {
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
- super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "data"));
super.addConfigValidator(TaskUtils.useBooleanConfigValidator(this, "exact-match"));
@@ -94,19 +93,21 @@ public final class SmithingTaskType extends BukkitTaskType {
}
}
- QuestItem qi;
- if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
- QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
- fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
- qi = fetchedItem;
- }
+ if (task.hasConfigKey("item")) {
+ QuestItem qi;
+ if ((qi = fixedQuestItemCache.get(quest.getId(), task.getId())) == null) {
+ QuestItem fetchedItem = TaskUtils.getConfigQuestItem(task, "item", "data");
+ fixedQuestItemCache.put(quest.getId(), task.getId(), fetchedItem);
+ qi = fetchedItem;
+ }
- super.debug("Player smithed " + eventAmount + " of " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
+ super.debug("Player smithed " + eventAmount + " of " + item.getType(), quest.getId(), task.getId(), player.getUniqueId());
- boolean exactMatch = TaskUtils.getConfigBoolean(task, "exact-match", true);
- if (!qi.compareItemStack(item, exactMatch)) {
- super.debug("Item does not match, continuing...", quest.getId(), task.getId(), player.getUniqueId());
- continue;
+ boolean exactMatch = TaskUtils.getConfigBoolean(task, "exact-match", true);
+ if (!qi.compareItemStack(item, exactMatch)) {
+ super.debug("Item does not match, continuing...", quest.getId(), task.getId(), player.getUniqueId());
+ continue;
+ }
}
int progress = TaskUtils.incrementIntegerTaskProgress(taskProgress, eventAmount);