diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java index fce7720ef..762776d0c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1501,6 +1501,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { if (this.processedDisconnect) return; + if (packet0 instanceof PacketPlayOutSpawnPosition) { + PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet0; + this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.position.getX(), packet6.position.getY(), packet6.position.getZ()); + } else if (packet1 instanceof PacketPlayOutSpawnPosition) { + PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet1; + this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.position.getX(), packet6.position.getY(), packet6.position.getZ()); + } + try { this.networkManager.sendPacket(packet0, packet1); } catch (Throwable throwable) { @@ -1518,6 +1526,17 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { if (this.processedDisconnect) return; + if (packet0 instanceof PacketPlayOutSpawnPosition) { + PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet0; + this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.position.getX(), packet6.position.getY(), packet6.position.getZ()); + } else if (packet1 instanceof PacketPlayOutSpawnPosition) { + PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet1; + this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.position.getX(), packet6.position.getY(), packet6.position.getZ()); + } else if (packet2 instanceof PacketPlayOutSpawnPosition) { + PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet2; + this.player.compassTarget = new Location(this.getPlayer().getWorld(), packet6.position.getX(), packet6.position.getY(), packet6.position.getZ()); + } + try { this.networkManager.sendPacket(packet0, packet1, packet2); } catch (Throwable throwable) { @@ -1564,7 +1583,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } // CraftBukkit start - if (packet == null || this.processedDisconnect) { // Spigot + if (/*packet == null ||*/ this.processedDisconnect) { // Spigot // Akarin return; } else if (packet instanceof PacketPlayOutSpawnPosition) { PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet;