From 3df774c2b639ff3f6eb621de2c87866592f56250 Mon Sep 17 00:00:00 2001 From: once_a_fairy Date: Sun, 16 Jul 2023 16:15:10 +0200 Subject: [PATCH] Added ItemCaught.java which I previously forgot to push. --- .../altitudequests/events/ItemCaught.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/main/java/com/alttd/altitudequests/events/ItemCaught.java diff --git a/src/main/java/com/alttd/altitudequests/events/ItemCaught.java b/src/main/java/com/alttd/altitudequests/events/ItemCaught.java new file mode 100644 index 0000000..2b2cea8 --- /dev/null +++ b/src/main/java/com/alttd/altitudequests/events/ItemCaught.java @@ -0,0 +1,32 @@ +package com.alttd.altitudequests.events; + +import com.alttd.altitudequests.objects.Quest; +import com.alttd.altitudequests.objects.quests.OtherQuest; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerFishEvent; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Item; +import org.bukkit.inventory.ItemStack; + +public class ItemCaught implements Listener { + + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onItemCaught(PlayerFishEvent event) { + if (event.getCaught() == null || event.getCaught().getType() != EntityType.DROPPED_ITEM) { + return; //Only if an item was caught do further processing. Otherwise error might come up later + } + Player player = event.getPlayer(); + Quest dailyQuest = Quest.getDailyQuest(player.getUniqueId()); + if (dailyQuest == null || dailyQuest.isDone()) { + return; + } + if (dailyQuest instanceof OtherQuest otherQuest) { + Item item = (Item) event.getCaught(); + ItemStack caughtItem = item.getItemStack(); + otherQuest.fish(caughtItem); + } + } +}