PaperMC/Spigot-Server-Patches/0012-Do-not-remove-player-in-world-change.patch
2015-03-08 05:17:04 -05:00

31 lines
1.6 KiB
Diff

From 0d6c8bb4db762171aa4466e1d26a2b285fdc23df Mon Sep 17 00:00:00 2001
From: T00thpick1 <t00thpick1dirko@gmail.com>
Date: Sat, 7 Mar 2015 20:54:33 -0600
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 c7d26ce..d93b00c 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -507,7 +507,7 @@ public abstract class PlayerList {
entityplayer.u().getTracker().untrackPlayer(entityplayer);
// entityplayer.u().getTracker().untrackEntity(entityplayer); // CraftBukkit
entityplayer.u().getPlayerChunkMap().removePlayer(entityplayer);
- this.players.remove(entityplayer);
+ //this.players.remove(entityplayer); // PaperSpigot - Don't remove player in world change. Fixes BUKKIT-4561, BUKKIT-4082, and BUKKIT-2094
this.server.getWorldServer(entityplayer.dimension).removeEntity(entityplayer);
BlockPosition blockposition = entityplayer.getBed();
boolean flag1 = entityplayer.isRespawnForced();
@@ -601,7 +601,7 @@ public abstract class PlayerList {
if (!entityplayer.playerConnection.isDisconnected()) {
worldserver.getPlayerChunkMap().addPlayer(entityplayer1);
- worldserver.addEntity(entityplayer1);
+ //worldserver.addEntity(entityplayer1); // PaperSpigot - Don't remove player in world change. Fixes BUKKIT-4561, BUKKIT-4082, and BUKKIT-2094
this.players.add(entityplayer1);
this.j.put(entityplayer1.getUniqueID(), entityplayer1);
}
--
1.9.1