From 1ed7e4187f4da08013e859cfe191fb5af8cee428 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sun, 8 Jun 2025 09:02:42 +0200 Subject: Update inventory task type also directly on start --- .../quests/bukkit/tasktype/type/InventoryTaskType.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bukkit/src/main/java') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java index ecdb0b1f..f8409703 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/InventoryTaskType.java @@ -11,6 +11,7 @@ import com.leonardobishop.quests.common.player.QPlayer; import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress; import com.leonardobishop.quests.common.quest.Quest; import com.leonardobishop.quests.common.quest.Task; +import org.bukkit.Bukkit; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -22,6 +23,8 @@ import org.bukkit.event.player.PlayerBucketFillEvent; import org.bukkit.event.player.PlayerFishEvent; import org.bukkit.event.player.PlayerPickupItemEvent; +import java.util.UUID; + public final class InventoryTaskType extends BukkitTaskType { private final BukkitQuestsPlugin plugin; @@ -51,6 +54,11 @@ public final class InventoryTaskType extends BukkitTaskType { fixedQuestItemCache.clear(); } + @Override + public void onStart(Quest quest, Task task, UUID playerUUID) { + checkInventory(Bukkit.getPlayer(playerUUID), 1L); + } + @SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerPickupItem(PlayerPickupItemEvent event) { @@ -91,7 +99,7 @@ public final class InventoryTaskType extends BukkitTaskType { } private void checkInventory(Player player, long delay) { - if (player.hasMetadata("NPC") || !player.isOnline()) return; + if (player == null || player.hasMetadata("NPC") || !player.isOnline()) return; plugin.getScheduler().runTaskLaterAtLocation(player.getLocation(), () -> checkInventory(player), delay); } -- cgit v1.2.3-70-g09d2