From 20405ad1a330c2f8ae512f7a5847e77c60507495 Mon Sep 17 00:00:00 2001
From: Zach Brown <zach.brown@destroystokyo.com>
Date: Sun, 31 Jul 2016 16:33:03 -0500
Subject: [PATCH] Re-track players that dismount from other players


diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 1f5145d49..b2c070397 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -993,6 +993,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
         if (entity1 != entity && this.playerConnection != null) {
             this.playerConnection.a(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
         }
+        // Paper start - "Fixes" an issue in which the vehicle player would not be notified that the passenger dismounted
+        if (entity instanceof EntityPlayer) {
+            // TODO verify this solution
+            WorldServer worldServer = (WorldServer) entity.getWorld();
+            worldServer.getChunkProvider().playerChunkMap.removeEntity(this);
+            worldServer.getChunkProvider().playerChunkMap.addEntity(this);
+        }
+        // Paper end
 
     }
 
@@ -1009,7 +1017,6 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
         if (!this.isSpectator()) {
             super.b(blockposition);
         }
-
     }
 
     public void a(double d0, boolean flag) {
-- 
2.25.0.windows.1