Paper/Spigot-Server-Patches/0249-Vex-getSummoner-API.patch
Spottedleaf 89a1469d3f Resolve memory leak involving TileEntities
Their chunk is set to null before removal, so we kept them around.
2019-05-14 17:19:58 -05:00

52 lines
1.7 KiB
Diff

From 031e2b3a398bd8d0bb64f2b939bf29b870492469 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Wed, 4 Jul 2018 15:30:22 -0400
Subject: [PATCH] Vex#getSummoner 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 ecfc057a18..83e022c91b 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -92,6 +92,7 @@ public class EntityVex extends EntityMonster {
}
+ public EntityInsentient getOwner() { return l(); } // Paper - OBFHELPER
public EntityInsentient l() {
return this.c;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
index 737a37b6fe..169c951ec3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
@@ -1,8 +1,10 @@
package org.bukkit.craftbukkit.entity;
+import net.minecraft.server.EntityInsentient;
import net.minecraft.server.EntityVex;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Mob;
import org.bukkit.entity.Vex;
public class CraftVex extends CraftMonster implements Vex {
@@ -16,6 +18,13 @@ public class CraftVex extends CraftMonster implements Vex {
return (EntityVex) super.getHandle();
}
+ // Paper start
+ public Mob getSummoner() {
+ EntityInsentient owner = getHandle().getOwner();
+ return owner != null ? (Mob) owner.getBukkitEntity() : null;
+ }
+ // Paper end
+
@Override
public String toString() {
return "CraftVex";
--
2.21.0