#730: Let World#setSpawnLocation() support an angle

This commit is contained in:
Parker Hawke 2020-08-18 17:54:36 +10:00 committed by md_5
parent fad5fb9e8c
commit 2e178b09c6
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -310,14 +310,14 @@ public class CraftWorld implements World {
public boolean setSpawnLocation(Location location) {
Preconditions.checkArgument(location != null, "location");
return equals(location.getWorld()) ? setSpawnLocation(location.getBlockX(), location.getBlockY(), location.getBlockZ()) : false;
return equals(location.getWorld()) ? setSpawnLocation(location.getBlockX(), location.getBlockY(), location.getBlockZ(), location.getYaw()) : false;
}
@Override
public boolean setSpawnLocation(int x, int y, int z) {
public boolean setSpawnLocation(int x, int y, int z, float angle) {
try {
Location previousLocation = getSpawnLocation();
world.worldData.setSpawn(new BlockPosition(x, y, z), 0.0F);
world.worldData.setSpawn(new BlockPosition(x, y, z), angle);
// Notify anyone who's listening.
SpawnChangeEvent event = new SpawnChangeEvent(this, previousLocation);
@ -329,6 +329,11 @@ public class CraftWorld implements World {
}
}
@Override
public boolean setSpawnLocation(int x, int y, int z) {
return setSpawnLocation(x, y, z, 0.0F);
}
@Override
public Chunk getChunkAt(int x, int z) {
return this.world.getChunkProvider().getChunkAt(x, z, true).bukkitChunk;