From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Tue, 18 Sep 2018 23:53:23 +0100
Subject: [PATCH] PreSpawnerSpawnEvent

This adds a separate event before an entity is spawned by a spawner
which contains the location of the spawner too similarly to how the
SpawnerSpawnEvent gets called instead of the CreatureSpawnEvent for
spawners.

diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java
index d13abdcc7a54bdecf853c883911ef535733610b4..ee897b8c9462dbb3d7be9a2994753155065ce205 100644
--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java
+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java
@@ -133,10 +133,10 @@ public abstract class BaseSpawner {
                             continue;
                         }
                         // Paper start - PreCreatureSpawnEvent
-                        com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
+                        com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent event = new com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent(
                             io.papermc.paper.util.MCUtil.toLocation(world, d0, d1, d2),
                             org.bukkit.craftbukkit.entity.CraftEntityType.minecraftToBukkit(optional.get()),
-                            org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER
+                            io.papermc.paper.util.MCUtil.toLocation(world, pos)
                         );
                         if (!event.callEvent()) {
                             flag = true;