From a124bfdab59cc9a9d8369425027e61eccd1d62fb Mon Sep 17 00:00:00 2001 From: Taylor Kelly Date: Tue, 22 Feb 2011 19:02:06 +0100 Subject: [PATCH] Fix PlayerRespawnEvent for multi-worlds --- .../net/minecraft/server/ServerConfigurationManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java index 553b964719..1de040ef71 100644 --- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java @@ -15,6 +15,7 @@ import java.util.logging.Logger; // CraftBukkit start import org.bukkit.Location; import org.bukkit.craftbukkit.CraftServer; +import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.Event.Type; @@ -168,11 +169,15 @@ public class ServerConfigurationManager { Location respawnLocation = new Location(respawnPlayer.getWorld(), entityplayer1.locX, entityplayer1.locY, entityplayer1.locZ, entityplayer1.yaw, entityplayer1.pitch); PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(Event.Type.PLAYER_RESPAWN, respawnPlayer, respawnLocation ); server.getPluginManager().callEvent(respawnEvent); + entityplayer1.world = ((CraftWorld)respawnEvent.getRespawnLocation().getWorld()).getHandle(); entityplayer1.locX = respawnEvent.getRespawnLocation().getX(); entityplayer1.locY = respawnEvent.getRespawnLocation().getY(); entityplayer1.locZ = respawnEvent.getRespawnLocation().getZ(); entityplayer1.yaw = respawnEvent.getRespawnLocation().getYaw(); entityplayer1.pitch = respawnEvent.getRespawnLocation().getPitch(); + entityplayer1.c = new ItemInWorldManager(((CraftWorld)respawnEvent.getRespawnLocation().getWorld()).getHandle()); + entityplayer1.c.a = entityplayer1; + ((WorldServer)entityplayer1.world).A.d((int) entityplayer1.locX >> 4, (int) entityplayer1.locZ >> 4); // CraftBukkit end entityplayer1.a.b((Packet) (new Packet9Respawn()));