From a3bd76b89d96e8f989463ae55b869e7dcb70548a Mon Sep 17 00:00:00 2001
From: T00thpick1 <t00thpick1dirko@gmail.com>
Date: Mon, 23 Jun 2014 21:37:24 -0500
Subject: [PATCH] Do not remove player in world change


diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 75ea5c9..d706a84 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -452,7 +452,7 @@ public abstract class PlayerList {
         entityplayer.r().getTracker().untrackPlayer(entityplayer);
         // entityplayer.r().getTracker().untrackEntity(entityplayer); // CraftBukkit
         entityplayer.r().getPlayerChunkMap().removePlayer(entityplayer);
-        this.players.remove(entityplayer);
+        // this.players.remove(entityplayer); // PaperSpigot -- Fixes BUKKIT-4561 and BUKKIT-4082 and BUKKIT-2094
         this.server.getWorldServer(entityplayer.dimension).removeEntity(entityplayer);
         ChunkCoordinates chunkcoordinates = entityplayer.getBed();
         boolean flag1 = entityplayer.isRespawnForced();
@@ -547,7 +547,7 @@ public abstract class PlayerList {
         if (!entityplayer.playerConnection.isDisconnected()) {
             worldserver.getPlayerChunkMap().addPlayer(entityplayer1);
             worldserver.addEntity(entityplayer1);
-            this.players.add(entityplayer1);
+            // this.players.add(entityplayer1); // PaperSpigot -- Fixes BUKKIT-4561 and BUKKIT-4082 and BUKKIT-2094
         }
         // Added from changeDimension
         this.updateClient(entityplayer1); // Update health, etc...
-- 
1.9.1