--- a/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
@@ -101,7 +101,7 @@
 
     @Override
     public Brain<Frog> getBrain() {
-        return super.getBrain();
+        return (Brain<Frog>) super.getBrain(); // Paper - decompile fix
     }
 
     @Override
@@ -244,7 +244,12 @@
 
     @Override
     public void spawnChildFromBreeding(ServerLevel world, Animal other) {
-        this.finalizeSpawnChildFromBreeding(world, other, (AgeableMob)null);
+        // Paper start - Add EntityFertilizeEggEvent event
+        final io.papermc.paper.event.entity.EntityFertilizeEggEvent result = org.bukkit.craftbukkit.v1_20_R2.event.CraftEventFactory.callEntityFertilizeEggEvent(this, other);
+        if (result.isCancelled()) return;
+
+        this.finalizeSpawnChildFromBreeding(world, other, (AgeableMob)null, result.getExperience()); // Paper - use craftbukkit call that takes experience amount
+        // Paper end - Add EntityFertilizeEggEvent event
         this.getBrain().setMemory(MemoryModuleType.IS_PREGNANT, Unit.INSTANCE);
     }
 
