Added support for Shearing and Bucket quests and fixed some minor things.

This commit is contained in:
once_a_fairy
2023-08-04 22:44:06 +02:00
parent e0d3251bc9
commit 8eb28ea5f6
7 changed files with 100 additions and 36 deletions
@@ -2,27 +2,28 @@ package com.alttd.altitudequests.events;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.quests.CollectDropsQuest;
import com.alttd.altitudequests.objects.quests.OtherQuest;
import org.bukkit.entity.Entity;
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.PlayerBucketFillEvent;
import org.bukkit.event.player.PlayerBucketEntityEvent;
import org.bukkit.inventory.ItemStack;
import java.util.List;
public class EntityBucketed implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBucketFill(PlayerBucketFillEvent event) {
public void onBucketFill(PlayerBucketEntityEvent event) {
Player player = event.getPlayer();
Quest dailyQuest = Quest.getDailyQuest(player.getUniqueId());
if (dailyQuest == null || dailyQuest.isDone())
return;
if (dailyQuest instanceof CollectDropsQuest collectDropsQuest) {
ItemStack itemStack = event.getItemStack();
if (itemStack != null)
collectDropsQuest.collectDrops(List.of(itemStack));
if (dailyQuest instanceof OtherQuest otherQuest) {
ItemStack itemStack = event.getEntityBucket();
Entity entity = event.getEntity();
if (itemStack != null && entity != null)
otherQuest.bucket(itemStack, entity);
}
}
@@ -1,15 +1,13 @@
package com.alttd.altitudequests.events;
import com.alttd.altitudequests.objects.Quest;
import com.alttd.altitudequests.objects.quests.CollectDropsQuest;
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.PlayerShearEntityEvent;
import java.util.List;
public class EntitySheared implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
@@ -18,8 +16,8 @@ public class EntitySheared implements Listener {
Quest dailyQuest = Quest.getDailyQuest(player.getUniqueId());
if (dailyQuest == null || dailyQuest.isDone())
return;
if (dailyQuest instanceof CollectDropsQuest collectDropsQuest) {
collectDropsQuest.collectDrops(List.of(event.getItem()));
if (dailyQuest instanceof OtherQuest otherQuest) {
otherQuest.shear(event.getEntity());
}
}
}