Paper/CraftBukkit-Patches/0063-Prevent-Ghost-Players-Caused-by-Plugins.patch
md_5 3601ca3da5 Pull a series of CraftBukkit patches - see below for summary and credits:
Bukkit/CraftBukkit#1145 : @Zarius : Don't fire piston extend event twice
Bukkit/CraftBukkit#1174 : @millerkil : Prevent plugins causing ghost players
Bukkit/CraftBukkit#1177 : @jb-aero : Properly set ambient flag for potion effects
2013-07-05 12:22:04 +10:00

25 lines
1.1 KiB
Diff

From 43802c41faf4edae4752b4ab06cb36ab19ef2e35 Mon Sep 17 00:00:00 2001
From: Alex Ciuba <alexciuba@gmail.com>
Date: Tue, 11 Jun 2013 15:23:03 -0400
Subject: [PATCH] Prevent Ghost Players Caused by Plugins
Check if the player is still connected after firing event. Fixes BUKKIT-4327
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index cbe823f..f33fdc1 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -420,6 +420,9 @@ public abstract class PlayerList {
Player respawnPlayer = this.cserver.getPlayer(entityplayer1);
PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn);
this.cserver.getPluginManager().callEvent(respawnEvent);
+ if (entityplayer.playerConnection.disconnected) {
+ return entityplayer;
+ }
location = respawnEvent.getRespawnLocation();
entityplayer.reset();
--
1.8.1.2