aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0273-PreSpawnerSpawnEvent.patch
blob: 3bf17abefbb2dea8809c7f9cf1e6fc63d6506eaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 33e7a9eb613a4984ebcb5f3cde5a1fa584f1695e..f08c5ae9d41ec9efb627665f5de4dd6165fd0092 100644
--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java
+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java
@@ -128,11 +128,11 @@ public abstract class BaseSpawner {
 
                         org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key);
                         if (type != null) {
-                            com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event;
-                            event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
+                            com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent event;
+                            event = new com.destroystokyo.paper.event.entity.PreSpawnerSpawnEvent(
                                 net.minecraft.server.MCUtil.toLocation(world, d0, d1, d2),
                                 type,
-                                org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER
+                                net.minecraft.server.MCUtil.toLocation(world, pos)
                             );
                             if (!event.callEvent()) {
                                 flag = true;