mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +02:00
Upstream has released updates that appears 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: 1cb03826 SPIGOT-5900: Re-order Material enum entries to match Minecraft's order fdd705db #507: Add hasDiscoveredRecipe() and getDiscoveredRecipes() CraftBukkit Changes:551e770f5
SPIGOT-5900: Add test for the order of Material enum entries8297676c2
#682: Add hasDiscoveredRecipe() and getDiscoveredRecipes()
37 lines
1.7 KiB
Diff
37 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: JRoy <joshroy126@gmail.com>
|
|
Date: Sun, 10 May 2020 23:06:30 -0400
|
|
Subject: [PATCH] Potential bed API
|
|
|
|
Adds a new method to fetch the location of a player's bed without generating any sync loads.
|
|
|
|
getPotentialBedLocation - Gets the last known location of a player's bed. This does not preform any check if the bed is still valid and does not load any chunks.
|
|
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
|
index 75aa141e86e301254b25ede3da67513aae76fa5c..fef2035fe5564645d786d042dceedb10ca8b59ce 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
|
@@ -127,6 +127,22 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
|
return getHandle().sleepTicks;
|
|
}
|
|
|
|
+ // Paper start - Potential bed api
|
|
+ @Override
|
|
+ public Location getPotentialBedLocation() {
|
|
+ EntityPlayer handle = (EntityPlayer) getHandle();
|
|
+ BlockPosition bed = handle.getSpawn();
|
|
+ if (bed == null) {
|
|
+ return null;
|
|
+ }
|
|
+
|
|
+ net.minecraft.server.WorldServer worldServer = handle.server.getWorldServer(handle.getSpawnDimension());
|
|
+ if (worldServer == null) {
|
|
+ return null;
|
|
+ }
|
|
+ return new Location(worldServer.getWorld(), bed.getX(), bed.getY(), bed.getZ());
|
|
+ }
|
|
+ // Paper end
|
|
@Override
|
|
public boolean sleep(Location location, boolean force) {
|
|
Preconditions.checkArgument(location != null, "Location cannot be null");
|