Paper/Spigot-Server-Patches/0215-call-stopRiding-on-players-death.patch
Shane Freeder 674913df0a
Call stopRiding() on a Players death
Currently, when a player dies they are not automatically ejected from the entity they are riding, which allows
for the ridden entity to affect the players location on respawn (we're still riding it for a part of a tick), as well as allows a dupe to occur with the ridden entity teleporting to the new world with the player
2017-04-18 15:17:54 +01:00

23 lines
1.0 KiB
Diff

From fb9a4072a4c5fd2d0e109e626e49e348463d0ef7 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Tue, 18 Apr 2017 15:01:43 +0100
Subject: [PATCH] call stopRiding on players death.
When a death occurs, any entity that the player is riding has the potential to be duplicated, as well as affecting the position of the entities position after respawning
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index a5c5bd4be..ad3218108 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -495,6 +495,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
entityliving.b(this, this.bb);
}
+ this.stopRiding(); // Paper - stop riding entities on death, preventing the entity from adjusting our location or duping the ridden entity
this.b(StatisticList.A);
this.a(StatisticList.h);
this.extinguish();
--
2.12.2