Fix respawn position not saved upon respawn (#376)
This commit is contained in:
parent
04859a24c4
commit
8acc90b89c
|
@ -290,7 +290,7 @@ public abstract class PlayerListMixin implements PlayerListBridge {
|
|||
f2 = (float) Mth.wrapDegrees(Mth.atan2(vec3d2.z, vec3d2.x) * 57.2957763671875 - 90.0);
|
||||
}
|
||||
// playerIn.setLocationAndAngles(vec3d.x, vec3d.y, vec3d.z, f2, 0.0f);
|
||||
playerIn.setRespawnPosition(spawnWorld.dimension(), pos, f, flag2, false);
|
||||
playerIn.setRespawnPosition(spawnWorld.dimension(), pos, f2, flag2, false);
|
||||
flag3 = (!flag && flag4);
|
||||
isBedSpawn = true;
|
||||
location = new Location(((WorldBridge) spawnWorld).bridge$getWorld(), vec3d.x, vec3d.y, vec3d.z);
|
||||
|
@ -408,7 +408,7 @@ public abstract class PlayerListMixin implements PlayerListBridge {
|
|||
f2 = (float) Mth.wrapDegrees(Mth.atan2(vec3d2.z, vec3d2.x) * 57.2957763671875 - 90.0);
|
||||
}
|
||||
// playerIn.setLocationAndAngles(vec3d.x, vec3d.y, vec3d.z, f2, 0.0f);
|
||||
playerIn.setRespawnPosition(spawnWorld.dimension(), pos, f, flag2, false);
|
||||
playerIn.setRespawnPosition(spawnWorld.dimension(), pos, f2, flag2, false);
|
||||
flag3 = (!flag2 && flag4);
|
||||
isBedSpawn = true;
|
||||
location = new Location(((WorldBridge) spawnWorld).bridge$getWorld(), vec3d.x, vec3d.y, vec3d.z);
|
||||
|
@ -449,6 +449,8 @@ public abstract class PlayerListMixin implements PlayerListBridge {
|
|||
|
||||
serverplayerentity.connection = playerIn.connection;
|
||||
serverplayerentity.restoreFrom(playerIn, conqueredEnd);
|
||||
serverplayerentity.setRespawnPosition(playerIn.getRespawnDimension(), playerIn.getRespawnPosition(),
|
||||
playerIn.getRespawnAngle(), playerIn.isRespawnForced(), false);
|
||||
if (!conqueredEnd) { // keep inventory here since inventory dropped at ServerPlayerEntity#onDeath
|
||||
serverplayerentity.getInventory().replaceWith(playerIn.getInventory());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user