mirror of
https://hub.spigotmc.org/stash/scm/spigot/spigot.git
synced 2025-09-18 21:33:01 +00:00
42 lines
1.9 KiB
Diff
42 lines
1.9 KiB
Diff
From a1c0430f895035562d026b1c1ed7c5594d1a5a9c 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/level/EntityPlayer.java b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
|
index 7ab3bf7461..f8d5361fa0 100644
|
|
--- a/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/EntityPlayer.java
|
|
@@ -1121,6 +1121,11 @@ public class EntityPlayer extends EntityHuman {
|
|
|
|
PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn, isAnchorSpawn, reason);
|
|
this.level().getCraftServer().getPluginManager().callEvent(respawnEvent);
|
|
+ // Spigot Start
|
|
+ if (this.connection.isDisconnected()) {
|
|
+ return null;
|
|
+ }
|
|
+ // Spigot End
|
|
|
|
location = respawnEvent.getRespawnLocation();
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 2b4bc82bf2..db58be830a 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -706,6 +706,11 @@ public abstract class PlayerList {
|
|
} else {
|
|
dimensiontransition = new DimensionTransition(((CraftWorld) location.getWorld()).getHandle(), CraftLocation.toVec3D(location), Vec3D.ZERO, location.getYaw(), location.getPitch(), DimensionTransition.DO_NOTHING);
|
|
}
|
|
+ // Spigot Start
|
|
+ if (dimensiontransition == null) {
|
|
+ return entityplayer;
|
|
+ }
|
|
+ // Spigot End
|
|
WorldServer worldserver = dimensiontransition.newLevel();
|
|
entityplayer1.spawnIn(worldserver);
|
|
entityplayer1.unsetRemoved();
|
|
--
|
|
2.45.2
|
|
|