mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 21:17:00 +01:00
SPIGOT-5481: PlayerBedLeaveEvent returns wrong bed location
This commit is contained in:
parent
edcb0a4b6a
commit
d641927fce
1 changed files with 9 additions and 4 deletions
|
@ -362,7 +362,13 @@
|
|||
|
||||
this.entitySleep(blockposition);
|
||||
this.sleepTicks = 0;
|
||||
@@ -1215,6 +1373,23 @@
|
||||
@@ -1210,11 +1368,28 @@
|
||||
}
|
||||
|
||||
public void wakeup(boolean flag, boolean flag1) {
|
||||
+ BlockPosition bedPosition = this.getBedPosition().orElse(null); // CraftBukkit
|
||||
super.entityWakeup();
|
||||
if (this.world instanceof WorldServer && flag1) {
|
||||
((WorldServer) this.world).everyoneSleeping();
|
||||
}
|
||||
|
||||
|
@ -371,9 +377,8 @@
|
|||
+ Player player = (Player) this.getBukkitEntity();
|
||||
+
|
||||
+ org.bukkit.block.Block bed;
|
||||
+ BlockPosition blockposition = this.getBedPosition().orElse(null);
|
||||
+ if (blockposition != null) {
|
||||
+ bed = this.world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
||||
+ if (bedPosition != null) {
|
||||
+ bed = this.world.getWorld().getBlockAt(bedPosition.getX(), bedPosition.getY(), bedPosition.getZ());
|
||||
+ } else {
|
||||
+ bed = this.world.getWorld().getBlockAt(player.getLocation());
|
||||
+ }
|
||||
|
|
Loading…
Reference in a new issue