diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java index e5e296d355..c87cba3d65 100644 --- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java @@ -283,10 +283,6 @@ public class ServerConfigurationManager { entityplayer1.spawnIn(worldserver); entityplayer1.dead = false; entityplayer1.netServerHandler.teleport(new Location(worldserver.getWorld(), entityplayer1.locX, entityplayer1.locY, entityplayer1.locZ, entityplayer1.yaw, entityplayer1.pitch)); - - org.bukkit.event.player.PlayerChangedWorldEvent event = new org.bukkit.event.player.PlayerChangedWorldEvent((Player) entityplayer1.getBukkitEntity(), fromWorld); - Bukkit.getServer().getPluginManager().callEvent(event); - // CraftBukkit end this.a(entityplayer1, worldserver); this.getPlayerManager(entityplayer1.dimension).addPlayer(entityplayer1); @@ -294,6 +290,12 @@ public class ServerConfigurationManager { this.players.add(entityplayer1); this.updateClient(entityplayer1); // CraftBukkit entityplayer1.w(); + // CraftBukkit start - don't fire on respawn + if (fromWorld != location.getWorld()) { + org.bukkit.event.player.PlayerChangedWorldEvent event = new org.bukkit.event.player.PlayerChangedWorldEvent((Player) entityplayer1.getBukkitEntity(), fromWorld); + Bukkit.getServer().getPluginManager().callEvent(event); + } + // CraftBukkit end return entityplayer1; }