diff --git a/Spigot-API-Patches/0125-Vex-getOwner-API.patch b/Spigot-API-Patches/0125-Vex-getOwner-API.patch new file mode 100644 index 000000000..4c9818eba --- /dev/null +++ b/Spigot-API-Patches/0125-Vex-getOwner-API.patch @@ -0,0 +1,29 @@ +From 02a5c50ac1f88560d7555bc299b4d785f9aa63a4 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 4 Jul 2018 15:29:21 -0400 +Subject: [PATCH] Vex#getOwner API + +Get's the NPC that summoned this Vex + +diff --git a/src/main/java/org/bukkit/entity/Vex.java b/src/main/java/org/bukkit/entity/Vex.java +index a2f2fcae..540135c3 100644 +--- a/src/main/java/org/bukkit/entity/Vex.java ++++ b/src/main/java/org/bukkit/entity/Vex.java +@@ -1,6 +1,13 @@ + package org.bukkit.entity; + ++import com.destroystokyo.paper.entity.SentientNPC; ++ + /** + * Represents a Vex. + */ +-public interface Vex extends Monster { } ++public interface Vex extends Monster { ++ /** ++ * @return What Entity (most likely an Evoker, but not guaranteed) summoned this Vex ++ */ ++ SentientNPC getOwner(); // Paper ++} +-- +2.18.0 + diff --git a/Spigot-Server-Patches/0328-Vex-getOwner-API.patch b/Spigot-Server-Patches/0328-Vex-getOwner-API.patch new file mode 100644 index 000000000..440b3ce62 --- /dev/null +++ b/Spigot-Server-Patches/0328-Vex-getOwner-API.patch @@ -0,0 +1,48 @@ +From 5a08e37a76a354a044fa503b8f4f4c0d4f9be59a Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Wed, 4 Jul 2018 15:30:22 -0400 +Subject: [PATCH] Vex#getOwner API + +Get's the NPC that summoned this Vex + +diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java +index a0abaf431..673c3ff3c 100644 +--- a/src/main/java/net/minecraft/server/EntityVex.java ++++ b/src/main/java/net/minecraft/server/EntityVex.java +@@ -90,6 +90,7 @@ public class EntityVex extends EntityMonster { + + } + ++ public EntityInsentient getOwner() { return p(); } // Paper - OBFHELPER + public EntityInsentient p() { + return this.b; + } +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +index 787a41e01..5d5658136 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +@@ -1,5 +1,7 @@ + package org.bukkit.craftbukkit.entity; + ++import com.destroystokyo.paper.entity.SentientNPC; ++import net.minecraft.server.EntityInsentient; + import net.minecraft.server.EntityVex; + import org.bukkit.craftbukkit.CraftServer; + import org.bukkit.entity.EntityType; +@@ -16,6 +18,13 @@ public class CraftVex extends CraftMonster implements Vex { + return (EntityVex) super.getHandle(); + } + ++ // Paper start ++ public SentientNPC getOwner() { ++ EntityInsentient owner = getHandle().getOwner(); ++ return owner != null ? (SentientNPC) owner.getBukkitEntity() : null; ++ } ++ // Paper end ++ + @Override + public String toString() { + return "CraftVex"; +-- +2.18.0 +