geforkt von Mirrors/Paper
461353e2cb
This was useful when plugins first started upgrading to uuid because each plugin would implement their own way for grabbing uuid's from mojang. Because none of them shared the result they would quickly hit the limits on the api causing the conversion to either fail or pause for long periods of time. The global api cache was a (very hacky) way to force all plugins to share a cache but caused a few issues with plugins that expected a full implementation of the HTTPURLConnection. Due to the fact that most servers/plugins have updated now it seems to be a good time to remove this as its usefulness mostly has expired.
42 Zeilen
1.8 KiB
Diff
42 Zeilen
1.8 KiB
Diff
From 25732da0b82a3de2f0fb7a36c9ac99948c707de9 Mon Sep 17 00:00:00 2001
|
|
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
|
|
index 3817428..7466eec 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -36,6 +36,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
|
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 {
|
|
@@ -105,6 +106,19 @@ public abstract class PlayerList {
|
|
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());
|
|
+ entityplayer.setYawPitch(loc.getYaw(), loc.getPitch());
|
|
+ // Spigot end
|
|
+
|
|
// CraftBukkit - Moved message to after join
|
|
// PlayerList.h.info(entityplayer.getName() + "[" + s1 + "] logged in with entity id " + entityplayer.getId() + " at (" + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
|
|
WorldServer worldserver = this.server.getWorldServer(entityplayer.dimension);
|
|
--
|
|
2.1.0
|
|
|