9ff01b16ab
This will be used by my next commit. But trying to get the build going since CI blew up
36 lines
1.7 KiB
Diff
36 lines
1.7 KiB
Diff
From f17ded80e85aec1519ed04ee5992f0ad4426abd8 Mon Sep 17 00:00:00 2001
|
|
From: Steve Anton <anxuiz.nx@gmail.com>
|
|
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 ef76652..b636a71 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -99,6 +99,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.7.4
|
|
|