#Register respawn commnad.

2 messages · Page 1 of 1 (latest)

undone elm
#
ServerEvents.commandRegistry(event => {
    const { commands: Commands, arguments: Arguments } = event
    event.register(
        Commands.literal('respawn')
        .executes(ctx => {
            const { source } = ctx
            const player = source.getPlayer()
            const level = player.level
            const defaultSpawnX = level.levelData.getXSpawn()
            const defaultSpawnY = level.levelData.getYSpawn()
            const defaultSpawnZ = level.levelData.getZSpawn()
            const spawnDimension = player.getRespawnDimension().location()
            const spawn = player.getRespawnPosition()
            const spawnCooldown = 5
            if (player.getCooldowns().isOnCooldown("respawn")) {
                player.tell(`§cYou can only respawn every ${spawnCooldown} minutes.`)
                return 0
            }
            if (!spawn) {
                player.teleportTo(spawnDimension,defaultSpawnX,defaultSpawnY,defaultSpawnZ,player.yaw,player.pitch)
                player.getCooldowns().addCooldown("respawn", spawnCooldown * 60 * 20)
                return 1
            }
            player.teleportTo(spawnDimension,spawn.x,spawn.y,spawn.z,player.yaw,player.pitch)
            player.getCooldowns().addCooldown("respawn", spawnCooldown * 60 * 20)
            player.tell("§crespawned")
            return 1
        })
    )
})