--- a/net/minecraft/world/item/SpawnEggItem.java
+++ b/net/minecraft/world/item/SpawnEggItem.java
@@ -55,6 +_,7 @@
             Direction clickedFace = context.getClickedFace();
             BlockState blockState = level.getBlockState(clickedPos);
             if (level.getBlockEntity(clickedPos) instanceof Spawner spawner) {
+                if (level.paperConfig().entities.spawning.disableMobSpawnerSpawnEggTransformation) return InteractionResult.FAIL; // Paper - Allow disabling mob spawner spawn egg transformation
                 EntityType<?> type = this.getType(level.registryAccess(), itemInHand);
                 spawner.setEntityId(type, level.getRandom());
                 level.sendBlockUpdated(clickedPos, blockState, blockState, 3);
@@ -169,7 +_,7 @@
                     return Optional.empty();
                 } else {
                     breedOffspring.moveTo(pos.x(), pos.y(), pos.z(), 0.0F, 0.0F);
-                    serverLevel.addFreshEntityWithPassengers(breedOffspring);
+                    serverLevel.addFreshEntityWithPassengers(breedOffspring, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG); // CraftBukkit
                     breedOffspring.setCustomName(stack.get(DataComponents.CUSTOM_NAME));
                     stack.consume(1, player);
                     return Optional.of(breedOffspring);
