Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing
45 lines
2.6 KiB
Diff
45 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
|
|
Date: Tue, 17 Nov 2020 19:13:09 +0200
|
|
Subject: [PATCH] Expose world spawn angle
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
|
index a86a4467a0d0ff44f19d62b436aee469cc7b1e0e..70f702680f8221cb262023814a7bae21b0074da6 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -813,7 +813,7 @@ public abstract class PlayerList {
|
|
if (location == null) {
|
|
worldserver1 = this.server.getWorldServer(World.OVERWORLD);
|
|
blockposition = entityplayer1.getSpawnPoint(worldserver1);
|
|
- location = new Location(worldserver1.getWorld(), (double) ((float) blockposition.getX() + 0.5F), (double) ((float) blockposition.getY() + 0.1F), (double) ((float) blockposition.getZ() + 0.5F));
|
|
+ location = new Location(worldserver1.getWorld(), (double) ((float) blockposition.getX() + 0.5F), (double) ((float) blockposition.getY() + 0.1F), (double) ((float) blockposition.getZ() + 0.5F), worldserver1.worldData.getSpawnAngle(), 0.0F); // Paper - use world spawn angle
|
|
}
|
|
|
|
Player respawnPlayer = cserver.getPlayer(entityplayer1);
|
|
diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java
|
|
index faf931785ea35df4525d4a429bdb2363e26e491b..14e1762bf8669ef9e8444f5a73952daa50b3b19e 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldData.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldData.java
|
|
@@ -8,6 +8,7 @@ public interface WorldData {
|
|
|
|
int c();
|
|
|
|
+ default float getSpawnAngle() { return d(); } // Paper - OBFHELPER
|
|
float d();
|
|
|
|
long getTime();
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
index 1162bf553ff6e5c5faf688b080a202dc55650ced..597d7a36d7d0b19502d92cf13da53d96c6ede58a 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
@@ -379,7 +379,7 @@ public class CraftWorld implements World {
|
|
@Override
|
|
public Location getSpawnLocation() {
|
|
BlockPosition spawn = world.getSpawn();
|
|
- return new Location(this, spawn.getX(), spawn.getY(), spawn.getZ());
|
|
+ return new Location(this, spawn.getX(), spawn.getY(), spawn.getZ(), world.worldData.getSpawnAngle(), 0.0F); // Paper - expose world spawn angle
|
|
}
|
|
|
|
@Override
|