Class PlayerRespawnPositionEvent


public class PlayerRespawnPositionEvent extends PlayerEvent
Fired by
invalid reference
PlayerList#respawn(ServerPlayer, boolean)
before the server respawns a player. This may be used to change the ServerLevel the player respawns in, as well as their respawn position. This event is fired after
invalid reference
BlockState#getRespawnPosition(EntityType, LevelReader, BlockPos, float, LivingEntity)
is called.

This event is only fired on the logical server.

  • Field Details

    • teleportTransition

      private net.minecraft.world.level.portal.TeleportTransition teleportTransition
    • originalTeleportTransition

      private final net.minecraft.world.level.portal.TeleportTransition originalTeleportTransition
    • fromEndFight

      private final boolean fromEndFight
    • copyOriginalSpawnPosition

      private boolean copyOriginalSpawnPosition
  • Constructor Details

    • PlayerRespawnPositionEvent

      public PlayerRespawnPositionEvent(net.minecraft.server.level.ServerPlayer player, net.minecraft.world.level.portal.TeleportTransition teleportTransition, boolean fromEndFight)
  • Method Details

    • getTeleportTransition

      public net.minecraft.world.level.portal.TeleportTransition getTeleportTransition()
      Returns:
      The teleport transition for where the player will respawn
    • setTeleportTransition

      public void setTeleportTransition(net.minecraft.world.level.portal.TeleportTransition teleportTransition)
      Set the teleport transition for where the player will respawn
      Parameters:
      teleportTransition - The new teleport transition.
    • setRespawnLevel

      public void setRespawnLevel(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level> respawnLevelResourceKey)
      Set the level the player will respawn into using a ResourceKey.
      Parameters:
      respawnLevelResourceKey - The ResourceKey of the level to respawn into.
    • getOriginalTeleportTransition

      public net.minecraft.world.level.portal.TeleportTransition getOriginalTeleportTransition()
      Returns:
      The teleport transition the server originally intended to respawn the player to.
    • copyOriginalSpawnPosition

      public boolean copyOriginalSpawnPosition()
      If the respawn position of the original player will be copied to the fresh player via ServerPlayer.copyRespawnPosition(ServerPlayer).

      This defaults to true if the original teleport transition was not missing a respawn block.

      This has no impact on the selected position for the current respawn, but controls if the player will (for example) retain their bed as their set respawn position.

    • setCopyOriginalSpawnPosition

      public void setCopyOriginalSpawnPosition(boolean copyOriginalSpawnPosition)
      Changes if the original player's respawn position will be copied to the fresh player via ServerPlayer.copyRespawnPosition(ServerPlayer).

      If you wish to modify the set respawn position of the fresh player (for future respawns, not the current respawn), you can change the respawn position of the current player and set this value to true.

      See Also:
    • isFromEndFight

      public boolean isFromEndFight()
      Returns:
      Whether the respawn was triggered by the player jumping into the End return portal.
      See Also:
      • ServerPlayer.wonGame