papermc/Spigot-API-Patches/0143-Add-PhantomPreSpawnEvent.patch
Aikar 17b58d00d8
Unwrap Event Exceptions
This was a useless exception wrapper that ends up making
stack traces harder to read as well as the JVM cutting off
the important parts

Nothing catches this exception, so its safe to just get rid
of it and let the REAL exception bubble down
2019-02-23 12:17:41 -05:00

63 lines
1.9 KiB
Diff

From 1e8a2a87d4fed943f6c6010a99b12204c0b9fdf3 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <Blake.Galbreath@GMail.com>
Date: Sat, 25 Aug 2018 19:56:42 -0500
Subject: [PATCH] Add PhantomPreSpawnEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/PhantomPreSpawnEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/PhantomPreSpawnEvent.java
new file mode 100644
index 00000000..303a1ec9
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/PhantomPreSpawnEvent.java
@@ -0,0 +1,30 @@
+package com.destroystokyo.paper.event.entity;
+
+import org.bukkit.Location;
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.EntityType;
+import org.bukkit.event.entity.CreatureSpawnEvent;
+
+import javax.annotation.Nullable;
+
+/**
+ * Called when a phantom is spawned for an exhausted player
+ */
+public class PhantomPreSpawnEvent extends PreCreatureSpawnEvent {
+ private final Entity entity;
+
+ public PhantomPreSpawnEvent(Location location, Entity entity, CreatureSpawnEvent.SpawnReason reason) {
+ super(location, EntityType.PHANTOM, reason);
+ this.entity = entity;
+ }
+
+ /**
+ * Get the entity this phantom is spawning for
+ *
+ * @return Entity
+ */
+ @Nullable
+ public Entity getSpawningEntity() {
+ return entity;
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Phantom.java b/src/main/java/org/bukkit/entity/Phantom.java
index 1a1044ed..65b703a2 100644
--- a/src/main/java/org/bukkit/entity/Phantom.java
+++ b/src/main/java/org/bukkit/entity/Phantom.java
@@ -14,4 +14,13 @@ public interface Phantom extends Flying {
* @param sz The new size of the phantom.
*/
public void setSize(int sz);
+
+ // Paper start
+ /**
+ * Get the UUID of the entity that caused this phantom to spawn
+ *
+ * @return UUID
+ */
+ public java.util.UUID getSpawningEntity();
+ // Paper end
}
--
2.20.1