--- a/net/minecraft/server/MobSpawnerAbstract.java
+++ b/net/minecraft/server/MobSpawnerAbstract.java
@@ -43,6 +43,7 @@
 
     public void setMobName(EntityTypes<?> entitytypes) {
         this.spawnData.getEntity().setString("id", IRegistry.ENTITY_TYPE.getKey(entitytypes).toString());
+        this.mobs.clear(); // CraftBukkit - SPIGOT-3496, MC-92282
     }
 
     private boolean h() {
@@ -148,7 +149,7 @@
     }
 
     private void a(Entity entity) {
-        if (this.a().addEntity(entity)) {
+        if (this.a().addEntity(entity, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER)) { // CraftBukkit
             Iterator iterator = entity.getPassengers().iterator();
 
             while (iterator.hasNext()) {