aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src/main/java
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2024-09-06 21:02:44 +0200
committerKrakenied <46192742+Krakenied@users.noreply.github.com>2024-09-06 21:30:21 +0200
commitaf769229795d3c2ca689b3d80d048b2aabc94ef6 (patch)
tree31c8d001bfa64fb1ec706092497c0d2be246d2bf /bukkit/src/main/java
parent2e2e4783f320c216513ca491fad764441b33fa16 (diff)
Add option to specify the trader mob
Diffstat (limited to 'bukkit/src/main/java')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TradingTaskType.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TradingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TradingTaskType.java
index e1790344..09eeaa59 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TradingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/TradingTaskType.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 io.papermc.paper.event.player.PlayerTradeEvent;
+import org.bukkit.entity.AbstractVillager;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -34,6 +35,7 @@ public final class TradingTaskType extends BukkitTaskType {
super.addConfigValidator(TaskUtils.useRequiredConfigValidator(this, "amount"));
super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount"));
+ super.addConfigValidator(TaskUtils.useEntityListConfigValidator(this, "mob", "mobs"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "item"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "first-ingredient"));
super.addConfigValidator(TaskUtils.useItemStackConfigValidator(this, "second-ingredient"));
@@ -63,6 +65,7 @@ public final class TradingTaskType extends BukkitTaskType {
return;
}
+ AbstractVillager villager = event.getVillager();
MerchantRecipe recipe = event.getTrade();
ItemStack item = recipe.getResult();
int itemAmount = item.getAmount();
@@ -76,8 +79,13 @@ public final class TradingTaskType extends BukkitTaskType {
Task task = pendingTask.task();
TaskProgress taskProgress = pendingTask.taskProgress();
+ if (!TaskUtils.matchEntity(this, pendingTask, villager, player.getUniqueId())) {
+ super.debug("Continuing...", quest.getId(), task.getId(), player.getUniqueId());
+ continue;
+ }
+
// TODO: add villager-type and villager-profession options
- // TODO: add option to set villager/wandering trader
+ // not that simple especially after the change in 1.21
if (task.hasConfigKey("item")) {
QuestItem qi;