mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-03 05:26:50 +01:00
0ea3083817
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 Bukkit Changes: 1e843b72 #510: Add NamespacedKey#fromString() to fetch from user input a4d18241 #581: Add methods to modify despawn delay for wandering villagers CraftBukkit Changes: 0cd8f19f #802: Add methods to modify despawn delay for wandering villagers d5c5d998 SPIGOT-6362: ConcurrentModificationException: null --> Server Crash 8c7d69fe SPIGOT-5228: Entities that are removed during chunk unloads are not properly removed from the chunk.
44 lines
2.6 KiB
Diff
44 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 13614705328e5ae4432b585fe94d04f87b147dae..fe21b612f9bd2cf85670eeffa25998130b543339 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
|