diff options
Diffstat (limited to 'Spigot-Server-Patches/0048-Add-PlayerInitialSpawnEvent.patch')
-rw-r--r-- | Spigot-Server-Patches/0048-Add-PlayerInitialSpawnEvent.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/Spigot-Server-Patches/0048-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0048-Add-PlayerInitialSpawnEvent.patch new file mode 100644 index 0000000000..5c38cea4f1 --- /dev/null +++ b/Spigot-Server-Patches/0048-Add-PlayerInitialSpawnEvent.patch @@ -0,0 +1,36 @@ +From 2e3b2f159778b82cd48210b44e1ce8dffeb91c78 Mon Sep 17 00:00:00 2001 +From: Steve Anton <[email protected]> +Date: Thu, 3 Mar 2016 00:09:38 -0600 +Subject: [PATCH] Add PlayerInitialSpawnEvent + +For modifying a player's initial spawn location as they join the server + +diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java +index d778eafb3..d6a2bbc08 100644 +--- a/src/main/java/net/minecraft/server/PlayerList.java ++++ b/src/main/java/net/minecraft/server/PlayerList.java +@@ -104,6 +104,21 @@ public abstract class PlayerList { + } + // CraftBukkit end + ++ // Paper start - support PlayerInitialSpawnEvent ++ Location originalLoc = new Location(entityplayer.world.getWorld(), entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch); ++ com.destroystokyo.paper.event.player.PlayerInitialSpawnEvent event = new com.destroystokyo.paper.event.player.PlayerInitialSpawnEvent(entityplayer.getBukkitEntity(), originalLoc); ++ this.server.server.getPluginManager().callEvent(event); ++ ++ Location newLoc = event.getSpawnLocation(); ++ entityplayer.world = ((CraftWorld) newLoc.getWorld()).getHandle(); ++ entityplayer.locX = newLoc.getX(); ++ entityplayer.locY = newLoc.getY(); ++ entityplayer.locZ = newLoc.getZ(); ++ entityplayer.yaw = newLoc.getYaw(); ++ entityplayer.pitch = newLoc.getPitch(); ++ entityplayer.dimension = ((CraftWorld) newLoc.getWorld()).getHandle().dimension; ++ // Paper end ++ + entityplayer.spawnIn(this.server.getWorldServer(entityplayer.dimension)); + entityplayer.playerInteractManager.a((WorldServer) entityplayer.world); + String s1 = "local"; +-- +2.12.2 + |