diff options
Diffstat (limited to 'bukkit/src/main/java/com')
| -rw-r--r-- | bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/BreedingTaskType.java | 16 |
1 files changed, 16 insertions, 0 deletions
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 @@ -31,6 +31,12 @@ public final class BreedingTaskType extends BukkitTaskType { 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); } catch (ClassNotFoundException ignored) { @@ -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) { |
