geforkt von Mirrors/Paper
d8c3fb7e47
Needs updating to hook into new entity storage system
37 Zeilen
2.0 KiB
Diff
37 Zeilen
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: HexedHero <6012891+HexedHero@users.noreply.github.com>
|
|
Date: Fri, 23 Apr 2021 22:42:42 +0100
|
|
Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end
|
|
portal
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 854bb87e876c0f0b5e0d1b9e1c969784ad9d2428..2f07e0b17ac1593473e64212889170f50e7845d5 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -839,6 +839,7 @@ public abstract class PlayerList {
|
|
|
|
// Paper start
|
|
boolean isBedSpawn = false;
|
|
+ boolean isAnchorSpawn = false;
|
|
boolean isRespawn = false;
|
|
boolean isLocAltered = false; // Paper - Fix SPIGOT-5989
|
|
// Paper end
|
|
@@ -859,6 +860,7 @@ public abstract class PlayerList {
|
|
if (optional.isPresent()) {
|
|
BlockState iblockdata = worldserver1.getBlockState(blockposition);
|
|
boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR);
|
|
+ isAnchorSpawn = flag3; // Paper - Fix anchor respawn acting as a bed respawn from the end portal
|
|
Vec3 vec3d = (Vec3) optional.get();
|
|
float f1;
|
|
|
|
@@ -886,7 +888,7 @@ public abstract class PlayerList {
|
|
}
|
|
|
|
Player respawnPlayer = this.cserver.getPlayer(entityplayer1);
|
|
- PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !flag2, flag2);
|
|
+ PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn && !isAnchorSpawn, isAnchorSpawn); // Paper - Fix anchor respawn acting as a bed respawn from the end portal
|
|
this.cserver.getPluginManager().callEvent(respawnEvent);
|
|
// Spigot Start
|
|
if (entityplayer.connection.isDisconnected()) {
|