2016-11-17 12:41:12 +11:00
From 0e3c6db500060466c6e68973275eabfddee5fd10 Mon Sep 17 00:00:00 2001
2014-04-08 14:06:25 +02:00
From: ninja <xninja@openmailbox.org>
Date: Tue, 8 Apr 2014 14:05:19 +0200
Subject: [PATCH] Implement PlayerSpawnLocationEvent.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
2016-11-17 12:41:12 +11:00
index a3554f5..bc0ba5e 100644
2014-04-08 14:06:25 +02:00
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
2016-05-10 21:48:25 +10:00
@@ -37,6 +37,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
2014-04-08 14:06:25 +02:00
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.util.Vector;
+import org.spigotmc.event.player.PlayerSpawnLocationEvent;
// CraftBukkit end
public abstract class PlayerList {
2016-05-10 21:48:25 +10:00
@@ -106,6 +107,19 @@ public abstract class PlayerList {
2014-04-08 14:06:25 +02:00
s1 = networkmanager.getSocketAddress().toString();
}
+ // Spigot start - spawn location event
+ Player bukkitPlayer = entityplayer.getBukkitEntity();
+ PlayerSpawnLocationEvent ev = new PlayerSpawnLocationEvent(bukkitPlayer, bukkitPlayer.getLocation());
+ Bukkit.getPluginManager().callEvent(ev);
+
+ Location loc = ev.getSpawnLocation();
+ WorldServer world = ((CraftWorld) loc.getWorld()).getHandle();
+
+ entityplayer.spawnIn(world);
+ entityplayer.setPosition(loc.getX(), loc.getY(), loc.getZ());
2014-11-26 08:27:08 +11:00
+ entityplayer.setYawPitch(loc.getYaw(), loc.getPitch());
2014-04-08 14:06:25 +02:00
+ // Spigot end
+
// CraftBukkit - Moved message to after join
2016-06-09 11:43:56 +10:00
// PlayerList.f.info("{}[{}] logged in with entity id {} at ({}, {}, {})", new Object[] { entityplayer.getName(), s1, Integer.valueOf(entityplayer.getId()), Double.valueOf(entityplayer.locX), Double.valueOf(entityplayer.locY), Double.valueOf(entityplayer.locZ)});
2014-04-08 14:06:25 +02:00
WorldServer worldserver = this.server.getWorldServer(entityplayer.dimension);
--
2016-11-17 12:41:12 +11:00
2.9.3
2014-04-08 14:06:25 +02:00