From cab640a1643faefb2eed3a9b1286c8e0c0db3bfc Mon Sep 17 00:00:00 2001 From: Krakenied Date: Sat, 22 Apr 2023 21:44:04 +0200 Subject: Fix frogs and turtles breeding --- .../quests/bukkit/tasktype/type/BreedingTaskType.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'bukkit/src') diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java index c5ee26f0..ccb8467d 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java @@ -30,6 +30,12 @@ public final class BreedingTaskType extends BukkitTaskType { super.addConfigValidator(TaskUtils.useIntegerConfigValidator(this, "amount")); super.addConfigValidator(TaskUtils.useEntityListConfigValidator(this, "mob", "mobs")); + try { + Class.forName("io.papermc.paper.event.entity.EntityFertilizeEggEvent"); + plugin.getServer().getPluginManager().registerEvents(new EntityFertilizeEggListener(), plugin); + } catch (ClassNotFoundException ignored) { + } // server version cannot support the event + try { Class.forName("org.bukkit.event.entity.EntityBreedEvent"); plugin.getServer().getPluginManager().registerEvents(new BreedingTaskType.EntityBreedListener(), plugin); @@ -39,6 +45,16 @@ public final class BreedingTaskType extends BukkitTaskType { } } + private final class EntityFertilizeEggListener implements Listener { + @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) + public void onEntityFertilizeEgg(io.papermc.paper.event.entity.EntityFertilizeEggEvent event) { + Player player = event.getBreeder(); + if (player != null) { + handle(player, event.getEntityType()); + } + } + } + private final class EntityBreedListener implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onEntityBreed(org.bukkit.event.entity.EntityBreedEvent event) { -- cgit v1.2.3-70-g09d2