From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Mon, 31 Jul 2017 01:45:19 -0500
Subject: [PATCH] Reset spawner timer when spawner event is cancelled


diff --git a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
index 43fcc001bb9815b352cb74af10290b2a4ccaa540..883c724fbb86a84ee903b5e7127f14726fe4cf24 100644
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
@@ -161,6 +161,7 @@ public abstract class MobSpawnerAbstract {
                                 // Spigot End
                             }
                         entity.spawnedViaMobSpawner = true; // Paper
+                            flag = true; // Paper
                             // Spigot Start
                             if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) {
                                 Entity vehicle = entity.getVehicle();
@@ -184,7 +185,7 @@ public abstract class MobSpawnerAbstract {
                                 ((EntityInsentient) entity).doSpawnEffect();
                             }
 
-                            flag = true;
+                            /*flag = true;*/ // Paper - moved up above cancellable event
                         }
                     }
                 }