--- a/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.java
+++ b/net/minecraft/world/entity/ai/behavior/TryLaySpawnOnWaterNearLand.java
@@ -27,6 +27,12 @@
                                 BlockPos blockPos3 = blockPos2.above();
                                 if (world.getBlockState(blockPos3).isAir()) {
                                     BlockState blockState = frogSpawn.defaultBlockState();
+                                    // Paper start
+                                    if (!org.bukkit.craftbukkit.v1_20_R2.event.CraftEventFactory.callEntityChangeBlockEvent(entity, blockPos3, blockState)) {
+                                        isPregnant.erase(); // forgot pregnant memory
+                                        return true;
+                                    }
+                                    // Paper end
                                     world.setBlock(blockPos3, blockState, 3);
                                     world.gameEvent(GameEvent.BLOCK_PLACE, blockPos3, GameEvent.Context.of(entity, blockState));
                                     world.playSound((Player)null, entity, SoundEvents.FROG_LAY_SPAWN, SoundSource.BLOCKS, 1.0F, 1.0F);
